1

I just have a very general question. I've recently started to use Random Walk Metropolis-Hastings (RWMH) to sample from a distribution in order to calculate integrals. But I've noticed that the efficiency of integral calculations is highly dependent on the standard deviation of the proposal distribution of my sampler.

In my precise case, I'm sampling from a function which is defined as $p : \mathbb{R}^{d} \mapsto \mathbb{R}^{1}$ where $d$ is the dimensionality and I'm testing the accuracy of my integrals as I increase the dimensional of it (i.e. increase $d$). However, I've noticed that the performance severely decreases as $d$ increases, and after a brief reading of some literature it seems the 'optimal' scaling for a Gaussian proposal distribution follows $\sigma = 2.38*d^{-0.5}$. However, I've noticed that changing the value of 2.38 to smaller values has helped my convergence.

So, to conclude, is there a way to self-tune my proposal distribution on the fly? Perhaps adapting the value of 2.38 as I sample samples from my Markov Chain?

Hopefully this question makes sense! And Thank you for any help in advance!

  • 1
    Hello, I'm not an expert on this topic, but I would say that the prefactor 2.38 is dependent on your problem while the exponent is likely not. Regarding self-tune in the fly, I think is something pretty normal to use the first iterations to tune the sampler engine, since it likely involves a small number of steps in comparison with the rest of the computations you have to perform. Take a look at this answer: https://discourse.pymc.io/t/what-is-tune-in-sampler/3256/4, and to this post https://colcarroll.github.io/hmc_tuning_talk/. – rasmodius Feb 21 '21 at 15:38
  • 2
    Check for adaptive MCMC, for instance in papers of Roberts & Rosenthal. There is an inherent danger in tuning your MCMC from earlier runs, namely that this is no longer a Markov chain as the proposal depends on the whole past. – Xi'an Feb 21 '21 at 16:19
  • Thanks for the links @kastellane! I'll make sure to give them a read! – AlphaBetaGamma96 Feb 21 '21 at 17:26
  • Thanks for the paper references @Xi'an! I'll give them a read! You make a good point about breaking the Markovianness (if that's the right word) of the chain by including the whole past. The reason why I want to "self-tune" the Markov chain is because I want to maximise my Effective Sample Size but also reduce my autocorrelation (which I estimate via the blocking technique). Is optimizing the standard deviation of the proposal the only way to optimize a random walk metropolis hastings sampler? – AlphaBetaGamma96 Feb 21 '21 at 17:44

0 Answers0