# ess_tail: Tail effective sample size (tail-ESS) In posterior: Tools for Working with Posterior Distributions

## Description

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()`.

## Usage

 ```1 2 3 4 5 6 7``` ```ess_tail(x, ...) ## Default S3 method: ess_tail(x, ...) ## S3 method for class 'rvar' ess_tail(x, ...) ```

## Arguments

 `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).

## Value

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.

## References

Aki Vehtari, Andrew Gelman, Daniel Simpson, Bob Carpenter, and Paul-Christian Bürkner (2019). Rank-normalization, folding, and localization: An improved R-hat for assessing convergence of MCMC. arXiv preprint `arXiv:1903.08008`.

Other diagnostics: `ess_basic()`, `ess_bulk()`, `ess_quantile()`, `ess_sd()`, `mcse_mean()`, `mcse_quantile()`, `mcse_sd()`, `rhat_basic()`, `rhat()`, `rstar()`
 ```1 2 3 4 5``` ```mu <- extract_variable_matrix(example_draws(), "mu") ess_tail(mu) d <- as_draws_rvars(example_draws("multi_normal")) ess_tail(d\$Sigma) ```