Learn R Programming

dlm (version 1.1-6)

mcmc: Utility functions for MCMC output analysis

Description

Returns the mean, the standard deviation of the mean, and a sequence of partial means of the input vector or matrix.

Usage

mcmcMean(x, sd = TRUE)
mcmcMeans(x, sd = TRUE)
mcmcSD(x)
ergMean(x, m = 1)

Value

mcmcMean returns the sample mean of a vector containing the output of an MCMC sampler, together with an estimated standard error. If the input is a matrix, means and standard errors are computed for each column.

mcmcSD returns an estimate of the standard deviation of the mean for the output of an MCMC sampler.

ergMean returns a vector of running ergodic means.

Arguments

x

vector or matrix containing the output of a Markov chain Monte Carlo simulation.

sd

logical: should an estimate of the Monte Carlo standard deviation be reported?

m

ergodic means are computed for i in m:NROW(x)

Author

Giovanni Petris GPetris@uark.edu

Details

The argument x is typically the output from a simulation. If a matrix, rows are considered consecutive simulations of a target vector. In this case means, standard deviations, and ergodic means are returned for each column. The standard deviation of the mean is estimated using Sokal's method (see the reference). mcmcMeans is an alias for mcmcMean.

References

P. Green (2001). A Primer on Markov Chain Monte Carlo. In Complex Stochastic Systems, (Barndorff-Nielsen, Cox and Kl\"uppelberg, eds.). Chapman and Hall/CRC.

Examples

Run this code
x <- matrix(rexp(1000), nc=4)
dimnames(x) <- list(NULL, LETTERS[1:NCOL(x)])
mcmcSD(x)
mcmcMean(x)
em <- ergMean(x, m = 51)
plot(ts(em, start=51), xlab="Iteration", main="Ergodic means")

Run the code above in your browser using DataLab