ar.act: Compute the autocorrelation time of a chain

Description Usage Arguments Details Value References See Also


Computes the autocorrelation time of an MCMC chain using an AR model with order chosen by AIC.


ar.act(Y, true.mean=NULL)



A matrix or vector containing the states of a stationary Markov chain. If a matrix, each row is a single state.


A vector containing the true mean of Y. It should be either NULL or have as many elements as Y has columns. If NULL, the sample mean of Y is used.


This function fits an AR(p) model to each component of the chain with states Y using the Yule-Walker method to estimate the coefficients and AIC to estimate p. Let pi be the vector of estimated AR coefficients for column i, and let rho be the sample autocorrelation function to lag p. Then, the autocorrelation time of the component is estimated as:

tau = (1-pi^T rho)/(1-sum(pi))^2

For more discussion of this formula and its associated confidence intervals, see Thompson (2010).

The returned autocorrelation time (and associated confidence interval) are the maxima over the columns of Y.

Callers may want to remove a burn-in period from a sample before passing it to ar.act.


A list with elements:

  • act: the estimated autocorrelation time of the slowest-mixing column of Y.

  • se: the standard error of act.

  • act.025, act.975: a nominal 95% confidence interval for act. Since the interval is asymmetric about act, the standard error is not sufficient to generate these.

  • order: The order of the AR model selected (p).


Thompson, M. B. (2010). Graphical comparison of MCMC performance.

See Also

compare.samplers, ar.yw, CODA::effectiveSize,

Search within the SamplerCompare package
Search all R packages, documentation and source code

Questions? Problems? Suggestions? or email at

Please suggest features or report bugs with the GitHub issue tracker.

All documentation is copyright its authors; we didn't write any of that.