Skip to content

scheidan/BarkerMCMC.jl

Folders and files

NameName
Last commit message
Last commit date

Latest commit

 

History

54 Commits
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 

Repository files navigation

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. Both diagonal adaptation, following Algorithm 7.1, and full covariance adaptation, following Algorithms 7.2 and 7.3, of the supporting information of Livingstone et al. (2021) are available.

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.

Use covariance_adaptation = :diagonal to adapt only per-dimension variances. The default covariance_adaptation = :full also learns correlations.

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)

Releases

Used by

Contributors

Languages