Compute a tail effective sample size estimate (tail-ESS) for a single
variable. Tail-ESS is useful as a diagnostic for the sampling efficiency in
the tails of the posterior. It is defined as the minimum of the effective
sample sizes for 5% and 95% quantiles. For the bulk effective sample
size see `ess_bulk()`

. See Vehtari (2021) for an in-depth
comparison of different effective sample size estimators.

```
ess_tail(x, ...)
# S3 method for default
ess_tail(x, ...)
# S3 method for rvar
ess_tail(x, ...)
```

- x
(multiple options) One of:

A matrix of draws for a single variable (iterations x chains). See

`extract_variable_matrix()`

.An

`rvar`

.

- ...
Arguments passed to individual methods (if applicable).

If the input is an array, returns a single numeric value. If any of the draws
is non-finite, that is, `NA`

, `NaN`

, `Inf`

, or `-Inf`

, the returned output
will be (numeric) `NA`

. Also, if all draws within any of the chains of a
variable are the same (constant), the returned output will be (numeric) `NA`

as well. The reason for the latter is that, for constant draws, we cannot distinguish between variables that are supposed to be constant (e.g., a diagonal element of a correlation matrix is always 1) or variables that just happened to be constant because of a failure of convergence or other problems in the sampling process.

If the input is an `rvar`

, returns an array of the same dimensions as the
`rvar`

, where each element is equal to the value that would be returned by
passing the draws array for that element of the `rvar`

to this function.

Aki Vehtari, Andrew Gelman, Daniel Simpson, Bob Carpenter, and
Paul-Christian Bürkner (2021). Rank-normalization, folding, and
localization: An improved R-hat for assessing convergence of
MCMC (with discussion). *Bayesian Data Analysis*. 16(2), 667-–718.
doi:10.1214/20-BA1221

Aki Vehtari (2021). Comparison of MCMC effective sample size estimators. Retrieved from https://avehtari.github.io/rhat_ess/ess_comparison.html

Other diagnostics:
`ess_basic()`

,
`ess_bulk()`

,
`ess_quantile()`

,
`ess_sd()`

,
`mcse_mean()`

,
`mcse_quantile()`

,
`mcse_sd()`

,
`rhat_basic()`

,
`rhat_nested()`

,
`rhat()`

,
`rstar()`

```
mu <- extract_variable_matrix(example_draws(), "mu")
ess_tail(mu)
#> [1] 322.0955
d <- as_draws_rvars(example_draws("multi_normal"))
ess_tail(d$Sigma)
#> [,1] [,2] [,3]
#> [1,] 369.3083 238.6147 307.7817
#> [2,] 238.6147 363.2964 356.7673
#> [3,] 307.7817 356.7673 324.4500
```