mcmc-0.8.0.1: Sample from a posterior using Markov chain Monte Carlo
Copyright2022 Dominik Schrempf
LicenseGPL-3.0-or-later
Maintainerdominik.schrempf@gmail.com
Stabilityexperimental
Portabilityportable
Safe HaskellSafe-Inferred
LanguageHaskell2010

Mcmc.Proposal.Hamiltonian.Nuts

Description

Creation date: Fri May 27 09:58:23 2022.

For a general introduction to Hamiltonian proposals, see Mcmc.Proposal.Hamiltonian.Hamiltonian.

This module implements the No-U-Turn Sampler (NUTS), as described in [4].

Work in progress.

References:

  • [1] Chapter 5 of Handbook of Monte Carlo: Neal, R. M., MCMC Using Hamiltonian Dynamics, In S. Brooks, A. Gelman, G. Jones, & X. Meng (Eds.), Handbook of Markov Chain Monte Carlo (2011), CRC press.
  • [2] Gelman, A., Carlin, J. B., Stern, H. S., & Rubin, D. B., Bayesian data analysis (2014), CRC Press.
  • [3] Review by Betancourt and notes: Betancourt, M., A conceptual introduction to Hamiltonian Monte Carlo, arXiv, 1701–02434 (2017).
  • [4] Matthew D. Hoffman, Andrew Gelman (2014) The No-U-Turn Sampler: Adaptively Setting Path Lengths in Hamiltonian Monte Carlo, Journal of Machine Learning Research.
Synopsis

Documentation

data NParams Source #

Paramters of the NUTS proposal.

Includes tuning parameters and tuning configuration.

Instances

Instances details
Show NParams Source # 
Instance details

Defined in Mcmc.Proposal.Hamiltonian.Nuts

defaultNParams :: NParams Source #

Default parameters.

  • Estimate a reasonable leapfrog scaling factor using Algorithm 4 [4]. If all fails, use 0.1.
  • The mass matrix is set to the identity matrix.

nuts :: Traversable s => NParams -> HTuningConf -> HStructure s -> HTarget s -> PName -> PWeight -> Proposal (s Double) Source #

No U-turn Hamiltonian Monte Carlo sampler (NUTS).

The structure of the state is denoted as s.

May call error during initialization.