UCL / rmcmc

Robust Markov chain Monte Carlo methods in R
http://github-pages.ucl.ac.uk/rmcmc/
Other
1 stars 0 forks source link

Add support for additional approaches for adaptive tuning of proposal parameters #4

Open matt-graham opened 2 months ago

matt-graham commented 2 months ago

The tuning parameters of the Barker proposal (at a minimum a scalar step size and potentially a diagonal or dense preconditioner) would ideally be adaptively tuned in a initial warm-up stage of the chain using an adaptive Markov chain Monte Carlo approach.

Livingstone and Zanella (2022) suggest using a scheme from Andrieu and Thoms (2008), corresponding to

$$ \begin{aligned} \log(\sigmat) &= \log(\sigma{t-1}) + \gamma_t (\alpha(X_t, Y_t) - \alpha^*),\ \mut &= \mu{t-1} + \gamma_t (Xt - \mu{t-1}) \ \Sigma_t &= \Sigma_t + \gamma_t ((X_t - \mu_t)(X_t - \mut)^T - \Sigma{t-1}) \ \end{aligned} $$

where

Tasks

matt-graham commented 2 months ago

In addition to the above adaptation scheme for the step size we may also wish to consider implementing a dual averaging based scheme as described in Algorithm 5 in Hoffman and Gelman (2014) (based on Nesterov (2009)) and implemented in for example Stan.

For the covariance / preconditioner adaptation, we may also want to consider the robust scheme decribed in Vihola (2011) and implemented in the ramcmc package.