logmeanexp: The log-mean-exp trick

logmeanexpR Documentation

The log-mean-exp trick

Description

logmeanexp computes

\log\frac{1}{n}\sum_{i=1}^n\!e^{x_i},

avoiding over- and under-flow in doing so. It can optionally return an estimate of the standard error in this quantity.

Usage

logmeanexp(x, se = FALSE, ess = FALSE)

Arguments

x

numeric

se

logical; give approximate standard error?

ess

logical; give effective sample size?

Details

When se = TRUE, logmeanexp uses a jackknife estimate of the variance in log(x).

When ess = TRUE, logmeanexp returns an estimate of the effective sample size.

Value

log(mean(exp(x))) computed so as to avoid over- or underflow. If se = TRUE, the approximate standard error is returned as well. If ess = TRUE, the effective sample size is returned also.

Author(s)

Aaron A. King

Examples

 # takes too long for R CMD check
  ## an estimate of the log likelihood:
  ricker() |>
    pfilter(Np=1000) |>
    logLik() |>
    replicate(n=5) -> ll
  logmeanexp(ll)
  ## with standard error:
  logmeanexp(ll,se=TRUE)
  ## with effective sample size
  logmeanexp(ll,ess=TRUE)


pomp documentation built on Sept. 13, 2024, 1:08 a.m.