/BarkerMCMC.jl

gradient based MCMC sampler

Primary LanguageJuliaGNU General Public License v3.0GPL-3.0

BarkerMCMC

Dev Build Status Coverage

A Monte Carlo Markov Chain sampler that makes use of gradient information. Proposed by Livingstone et al. (2021)

The adaptative preconditioning is based on Andrieu and Thoms (2008), Algorithm 4 in Section 5. For details see Algorithm 7.2 of the supporting information of Livingstone et al. (2021).

Installation

] add BarkerMCMC

Usage

The sampler can used in two ways:

  • defining the log density compatible to LogDensityProblems.jl, or
  • providing two seperate functions for the log density and it's gradient.

See the documentation for examples of both approaches.

Related Julia Packages

Hamiltonian Monte Carlo (gradient based)

Adaptive MCMC (without gradient)

References

Andrieu, C., Thoms, J., 2008. A tutorial on adaptive MCMC. Statistics and computing 18, 343–373.

Livingstone, S., Zanella, G., 2021. The Barker proposal: Combining robustness and efficiency in gradient-based MCMC. Journal of the Royal Statistical Society: Series B (Statistical Methodology). https://doi.org/10.1111/rssb.12482 (see https://github.com/gzanella/barker for the R code used)