I want to be able to run mcmc for high dimensional problems in a manner something like this:

  1. initialise chains from diffuse starting values
  2. run for some time, check if chains are in the right region.
  3. if chains not in correct / same region, adapt proposal distribution and keep sampling.
  4. once chains are in high mass region, discard initialisation, continue sampling, adapting proposal distribution and thinning parameters.
  5. once adapted, cease adapatation, discard adaptation samples, commence sampling proper.
  6. stop sampling once converged.

I would like some feedback on the approach. Generally, are there any obvious flaws in the approach, and is there a more formal specification or implementation of such an algorithm somewhere - preferably R?

More specifically, is there an appropriate way to update the proposal distribution when the chain is not yet in the high mass region? Details on any of the other aspects would be welcome too. I realise there are a range of sub questions here, but since they all relate to the general query I hope it is appropriate. This question - Can I semi-automate MCMC convergence diagnostics to set the burn-in length? - is similar, but seems to deal only with post-hoc convergence assessment.

  • 3
    $\begingroup$ STAN does all that, or almost, I believe. $\endgroup$ – Xi'an Sep 21 '16 at 7:59
  • $\begingroup$ It does some of that yes, I guess my vague outline drew inspiration from their tuning procedure - how to adapt in the low mass regions and how to decide that each stage is 'finished' are the main things missing from that approach, I think... $\endgroup$ – Charlie Sep 21 '16 at 8:09

Your Answer

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

Browse other questions tagged or ask your own question.