3
$\begingroup$

I ran a Bayesian model that have about 2700 parameters. Among these parameters, Adaptive Metropolis algorithm was implemented to estimate ~790 parameters in the I-group and Metropolis algorithm was implemented to estimate ~115 parameters in the G-group . The model was ran with 150000 samples with thinning of 20 and 90000 burn-ins samples.The acceptance rates for the parameters in I-group and G-group were recorded when the run is completed.

Here I plotted two histograms (see below) to illustrate the acceptance rates (in ratio on the X-axis). The rates fall within [0.2,0.5] (or [20%, 50%]). Are these acceptable rates too low or high ? I notice 20% is quite low to assume that the estimated parameters are good answers or may be I don't understand the algorithms well enough to know what are good acceptance rates. Your opinions and advices are needed.

Histogram - Acceptance Rate for parameters in I-group Histogram - Acceptance Rate for parameters in G-group

$\endgroup$
3
$\begingroup$

The theory behinds Markov Chain Monte Carlo (the family of algorithms that includes the Metropolis algorithm as a special case) guarantees that (under certain conditions) Metropolis will give you the right answer. The acceptance rate is related only to the number of steps you will need to find the correct answer (with a certain level of precision). If the acceptance rate is too low or too high it will take longer time, but eventually you will get the correct answer. The intuition is as follows; you will get high acceptance when you make small movements not too far away of your current position, but if you move slowly it will take a lot of time to sample all the distribution. On the contrary, if you try to make larger movements chances are high you propose movements to regions of low probability and then you will get a lot of rejections. So in practice even when you will "eventually" get the right answer is a good idea to tune the acceptance rate to provide better performance in this paper by Gelman they provide evidence that a acceptance rate of ~0.23 is optimal. PyMC3 has an option to tune a Metropolis algorithm based on monitoring the acceptance rate.

| cite | improve this answer | |
$\endgroup$

Your Answer

By clicking “Post Your Answer”, you agree to our terms of service, privacy policy and cookie policy

Not the answer you're looking for? Browse other questions tagged or ask your own question.