Fix the acceptance rate in the MH chain

Hello everyone

Normally, we would target the acceptance rate around 23% or 1/3 by adjusting mh_jscale as following the rule
if acceptance rate is too high, then increase mh_jscale
if acceptance rate is too low, then decrease mh_jscale
Accordingly, I lauch 2 MH chains and

  1. Firstly, set mh_init_scale=1 , mh_jscale = 0.3
    after finishing MH algorithm, the Dynare report the acceptance rate as
    Estimation::mcmc: Current acceptance ratio per chain:
    Chain 1: 17.2827%
    Chain 2: 22.0779%
    I see that the acceptance rate between two chains are different. Both of them are lower than my target 23%, then I decrease mh_jscale = 0.28, then Dynare reports
    Estimation::mcmc: Current acceptance ratio per chain:
    Chain 1: 26.8731%
    Chain 2: 31.3686%

    So my question is why the acceptance rate between two MH chaisn are different

Markov Chains are by construction random. In infinite samples the transition kernel would provide you with exactly the same acceptance rate in each chain, but in finite samples that will never be the case. If the acceptance rates are wildly different across chains, this might be an indication of non-convergence.