Markov chain Monte Carlo (MCMC) simulation | Vose Software

# Markov chain Monte Carlo (MCMC) simulation

Statistical methods have great difficulty in determining uncertainty distributions for two or more parameters from the same data set when these distributions are correlated. Classical statistical methods either assume that the uncertainty distributions are Normally distributed, and then use a covariance matrix to create the correlation, or use resampling methods (the Bootstrap).

The introduction of MCMC methods began a quiet revolution in statistics where the analyst is relieved of having to make many approximations to, and unrealistic assumptions about, the stochastic process that generated the data being analysed. MCMC is a technique to obtain a required Bayesian posterior distribution and is particularly useful for multi-parameter models where it is difficult to algebraically define, normalize and draw from a posterior distribution. The method is based on Markov chain simulation: a technique that creates a Markov process (a type of random walk) whose stationary distribution (the distribution of the values it will take after a very large number of steps) is the required posterior distribution. The technique requires that one runs the Markov chain a sufficiently large number of steps to be close to the stationary distribution, and then record the generated values.

The technical details of how MCMC programs generate these values are beyond the scope of this help file: the book by Gilks et al (1998) is an excellent reference, though a little tough going. The WinBUGS software (freeware: www.mrc-bsu.cam.ac.uk/bugs/ ) has become the effective industry standard for carrying out MCMC analysis. The user interface, where we write the stochastic relationships between the variables, is quite simple. At the time of writing (January 2007), it is not yet very user friendly at all, but that is expected to change soon.

The great benefit to ModelRisk users is that the data (random samples from the joint posterior distribution for the estimated parameters) from WinBUGS can be exported into a spreadsheet, which can be directly resampled in a simulation using the VoseNBootPaired function.