Copyright | 2022 Dominik Schrempf |
---|---|
License | GPL-3.0-or-later |
Maintainer | dominik.schrempf@gmail.com |
Stability | experimental |
Portability | portable |
Safe Haskell | Safe-Inferred |
Language | Haskell2010 |
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
- data NParams = NParams {}
- defaultNParams :: NParams
- nuts :: Traversable s => NParams -> HTuningConf -> HStructure s -> HTarget s -> PName -> PWeight -> Proposal (s Double)
Documentation
Parameters of the NUTS proposal.
Includes tuning parameters and tuning configuration.
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.