Robust Markov Chain Monte Carlo Methods
Create a new Barker proposal object.
Create a new Barker proposal object with bimodal noise distribution.
Construct a new chain state.
Create object to adapt proposal with shape based on estimate of target...
Create object to adapt proposal scale to coerce average acceptance rat...
Construct an example BridgeStan StanModel object for a Gaussian mode...
Create a new Hamiltonian proposal object.
Apply involution underlying Hamiltonian proposal to a chain state.
Apply involution underlying Langevin proposal to a chain state.
Create a new Langevin proposal object.
Compute logarithm of Barker proposal density ratio.
Compute logarithm of Hamiltonian proposal density ratio.
Compute logarithm of Langevin proposal density ratio.
Compute logarithm of random_walk proposal density ratio.
Create a new (Gaussian) random walk proposal object.
Create object to adapt proposal shape (and scale) using robust adaptiv...
Sample new state from Barker proposal.
Sample a Markov chain
Sample new state from Hamiltonian proposal.
Sample new state from Langevin proposal.
Sample from Metropolis-Hastings kernel.
Sample new state from random walk proposal.
Create object to adapt proposal scale to coerce average acceptance rat...
Create object to adapt proposal shape.
Create object to adapt proposal scale to coerce average acceptance rat...
Construct target distribution from a formula specifying log density.
Construct target distribution from a BridgeStan StanModel object.
Create object to adapt proposal with per dimension scales based on est...
Functions for simulating Markov chains using the Barker proposal to compute Markov chain Monte Carlo (MCMC) estimates of expectations with respect to a target distribution on a real-valued vector space. The Barker proposal, described in Livingstone and Zanella (2022) <doi:10.1111/rssb.12482>, is a gradient-based MCMC algorithm inspired by the Barker accept-reject rule. It combines the robustness of simpler MCMC schemes, such as random-walk Metropolis, with the efficiency of gradient-based methods, such as the Metropolis adjusted Langevin algorithm. The key function provided by the package is sample_chain(), which allows sampling a Markov chain with a specified target distribution as its stationary distribution. The chain is sampled by generating proposals and accepting or rejecting them using a Metropolis-Hasting acceptance rule. During an initial warm-up stage, the parameters of the proposal distribution can be adapted, with adapters available to both: tune the scale of the proposals by coercing the average acceptance rate to a target value; tune the shape of the proposals to match covariance estimates under the target distribution. As well as the default Barker proposal, the package also provides implementations of alternative proposal distributions, such as (Gaussian) random walk and Langevin proposals. Optionally, if 'BridgeStan's R interface <https://roualdes.us/bridgestan/latest/languages/r.html>, available on GitHub <https://github.com/roualdes/bridgestan>, is installed, then 'BridgeStan' can be used to specify the target distribution to sample from.
Useful links