# ess: Effective Sample Size for a Conjugate Prior In RBesT: R Bayesian Evidence Synthesis Tools

## Description

Calculates the Effective Sample Size (ESS) for a mixture prior. The ESS indicates how many experimental units the prior is roughly equivalent to.

## Usage

 ``` 1 2 3 4 5 6 7 8 9 10``` ```ess(mix, method = c("elir", "moment", "morita"), ...) ## S3 method for class 'betaMix' ess(mix, method = c("elir", "moment", "morita"), ..., s = 100) ## S3 method for class 'gammaMix' ess(mix, method = c("elir", "moment", "morita"), ..., s = 100, eps = 1e-04) ## S3 method for class 'normMix' ess(mix, method = c("elir", "moment", "morita"), ..., sigma, s = 100) ```

## Arguments

 `mix` Prior (mixture of conjugate distributions). `method` Selects the used method. Can be either `elir` (default), `moment` or `morita`. `...` Optional arguments applicable to specific methods. `s` For `morita` method large constant to ensure that the prior scaled by this value is vague (default 100); see Morita et al. (2008) for details. `eps` Probability mass left out from the numerical integration of the expected information for the Poisson-Gamma case of Morita method (defaults to 1E-4). `sigma` reference scale.

## Details

The ESS is calculated using either the expected local information ratio (elir) Neuenschwander et al. (submitted), the moments approach or the method by Morita et al. (2008).

The elir approach is the only ESS which fulfills predictive consistency. The predictive consistency of the ESS requires that the ESS of a prior is the same as averaging the posterior ESS after a fixed amount of events over the prior predictive distribution from which the number of forward simulated events is subtracted. The elir approach results in ESS estimates which are neither conservative nor liberal whereas the moments method yields conservative and the morita method liberal results. See the example section for a demonstration of predictive consistency.

For the moments method the mean and standard deviation of the mixture are calculated and then approximated by the conjugate distribution with the same mean and standard deviation. For conjugate distributions, the ESS is well defined. See the examples for a step-wise calculation in the beta mixture case.

The Morita method used here evaluates the mixture prior at the mode instead of the mean as proposed originally by Morita. The method may lead to very optimistic ESS values, especially if the mixture contains many components. The calculation of the Morita approach here follows the approach presented in Neuenschwander B. et all (2019) which avoids the need for a minimization and does not restrict the ESS to be an integer.

## Value

Returns the ESS of the prior as floating point number.

## Methods (by class)

• `betaMix`: ESS for beta mixtures.

• `gammaMix`: ESS for gamma mixtures.

• `normMix`: ESS for normal mixtures.

## Supported Conjugate Prior-Likelihood Pairs

 Prior/Posterior Likelihood Predictive Summaries Beta Binomial Beta-Binomial `n`, `r` Normal Normal (fixed σ) Normal `n`, `m`, `se` Gamma Poisson Gamma-Poisson `n`, `m` Gamma Exponential Gamma-Exp (not supported) `n`, `m`

## References

Morita S, Thall PF, Mueller P. Determining the effective sample size of a parametric prior. Biometrics 2008;64(2):595-602.

Neuenschwander B, Weber S, Schmidli H, O'Hagen A. Predictively Consistent Prior Effective Sample Sizes. pre-print 2019; arXiv:1907.04185

## Examples

 ``` 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38 39 40 41 42 43 44 45 46 47 48 49 50 51 52 53``` ```# Conjugate Beta example a <- 5 b <- 15 prior <- mixbeta(c(1, a, b)) ess(prior) (a+b) # Beta mixture example bmix <- mixbeta(rob=c(0.2, 1, 1), inf=c(0.8, 10, 2)) ess(bmix, "elir") ess(bmix, "moment") # moments method is equivalent to # first calculate moments bmix_sum <- summary(bmix) # then calculate a and b of a matching beta ab_matched <- ms2beta(bmix_sum["mean"], bmix_sum["sd"]) # finally take the sum of a and b which are equivalent # to number of responders/non-responders respectivley round(sum(ab_matched)) ess(bmix, method="morita") # Predictive consistency of elir n_forward <- 1E2 bmixPred <- preddist(bmix, n=n_forward) pred_samp <- rmix(bmixPred, 1E3) pred_ess <- sapply(pred_samp, function(r) ess(postmix(bmix, r=r, n=n_forward), "elir") ) ess(bmix, "elir") mean(pred_ess) - n_forward # Normal mixture example nmix <- mixnorm(rob=c(0.5, 0, 2), inf=c(0.5, 3, 4), sigma=10) ess(nmix, "elir") ess(nmix, "moment") ## the reference scale determines the ESS sigma(nmix) <- 20 ess(nmix) # Gamma mixture example gmix <- mixgamma(rob=c(0.3, 20, 4), inf=c(0.7, 50, 10)) ess(gmix) ## interpreted as appropriate for a Poisson likelihood (default) likelihood(gmix) <- "exp" ess(gmix) ## interpreted as appropriate for an exponential likelihood ```

RBesT documentation built on Nov. 24, 2021, 5:07 p.m.