Acceptance Ratio in the MH algorithm

Hi all

In the MH algorithm, the idea is not to reject or accept too often a candidate parameter. Accordingly, the literature has settled on a acceptance rate of between 0.2 and 0.4 by adjusting the jump scale (in Dynare, the default jump scale is 0.2).

In my mode, I set as following
mh_nblocks = 10,
mh_drop = 0.4,
mh_jscale = 0.2
at the beginning I set the jump scale of 0.2 as a default number, but it yields a relative higher acceptance ratio of 0.445. This acceptance ratio is not good since it does not lie btw the range between 0.2 and 0.4 suggested by the literature.
Then, I increase the jump scale from the default level of 0.2 to 0.3.
As a result, the acceptance ratio in the first MH Chain fluctuates around 0.23. This acceptance ratio is good since it lies btw the range between 0.2 and 0.4 suggested by the literature.

However, the acceptance ratio reduces to 0.104 in the second MH Chain, which does not lie btw the range between 0.2 and 0.4 suggested by the literature. It seems to imply that the parameter candidates are likely to locate in regions of low probability density.

So my question is how to adjust the jump scale to have a ‘reasonable’ acceptance ratito of between 0.2 and 0.4 suggested by the literature

Dear Peter,

The tuning the scale parameter so that the acceptance rate is between .2 and .4 is only an heuristic. From very simple models, we know that the acceptance rate should depend on dimension of the problem (the number of estimated parameters), and should be in this region. You can find an introduction on this in the book by Robert and Casella (“Monte Carlo Statistical Methods”, chapter 7, in particular section 7.8.4).

We only know for sure that acceptance ratios close to 0 or 1 are bad. I usually target one third. But we cannot be sure, controlling only one parameter, that the acceptance rates will be the same across chains. Normally in the end, if the chains are long enough, the acceptance ratios should be similar across chains.

A small acceptance rate does not mean that the MCMC is trapped in a low density region. Imagine that the current state of the MCMC is the posterior mode. If the jumps provided by the proposal distribution are large it is very likely that all the proposals will be rejected (resulting in a low acceptance rate).


Hi Stephane,

Does this mean the acceptance ration is not very important? if the ration is between 40% and 50%, is this acceptable?

Thank you,

The acceptance rate very much matters for efficiency of the algorithm. If it’s too far away from the optimum, you will need way too many draws for estimation to be feasible. But deviations in the range you describe are usually harmless.

Thank you Prof. Pfeifer, for answering my question.