Solved – MCMC autocorrelation

autocorrelationmarkov-chain-montecarlomarkov-processmonte carlo

I have a MCMC simulation that tries to fit a line to a linear set of data. The auto-correlation is very high for the slope parameter (~0.9), and low (~0.05) for the bias

What does a high auto-correlation say about a MCMC run?

Is it necessarily a negative thing?

What are the main causes of high auto-correlation?

Best Answer

What does a high auto-correlation say about a MCMC run?

A high auto-correlation literally means that the Markov chain is taking small steps, and is not able to jump long distances. This may be because the proposal distribution has a small variance, which means that the jumps are being proposed too close to the current step. However, if you increase the proposal distribution variance too much, it is possible then that a lot of proposals are rejected, which will also increase the autocorrelation. Thus a balance is required. Usually an acceptable probability of .234 is the target for high dimensional problems, and .44 for 1 dimensional problems. Since you have two dimensions here, you should to tune your proposal variance so that the acceptance ratio is between .234 and .44

Is it necessarily a negative thing?

This is not simple to answer, but in short, yes, it is a negative thing. The long explanation is, if you have high autocorrelation, then that means that since each sample is highly correlated to the previous sample, the contribution of the new sample is less. That is, the sample is able to provide significantly less information than if it had low autocorrelation. In addition, because samples are highly correlated, it may also mean that the sample has not been able to explore the state space well enough. However, both the issues can be somewhat handled if you just choose a large sample size. There are ways to figure out how many samples are reasonable by accounting for the autocorrelation: my answer here.

What are the main causes of high auto-correlation?

One of them, as explained, is the variance of the proposal. Another factor that affects autocorrelation is the starting value of the Markov chain. If the starting value is far from an area of high probability, then the chain might move very slowly towards towards that area. Yet another reason can be multimodality of the target distribution. If the target is multimodal, the chain might get "stuck" in a mode for a long time, and not be able to jump across modes often. This increases autocorrelation as well. Finally, some target distributions are complicated in other ways than being multi-modal. It might have heavy tails, or have non-smooth density, which will also affect autocorrelation

Related Question