MCMC (Markov chain Monte Carlo) and related algorithms.


This module contains various classes that implement MCMC samplers:

  • MCMC: the base class for all MCMC samplers;
  • GenericRWHM: base class for random-walk Hastings-Metropolis;
  • GenericGibbs: base class for Gibbs samplers;
  • PMMH, ParticleGibbs: base classes for the PMCMC (particle MCMC algorithms) with the same name.

For instance, here is how to run 200 iterations of an adaptive random-walk sampler:

# ...
# define some_static_model, some_prior
# ...
my_mcmc = BasicRWHM(model=some_static_model, prior=some_prior, niter=200,

Upon completion, object my_mcmc have an attribute called chain, which is a ThetaParticles object (see module smc_samplers). In particular, my_mcmc.chain has the following attributes:

  • theta: a structured array that contains the 200 simulated parameters;
  • lpost: an array that contains the log-posterior density at these 200 parameters.

See the dedicated notebook tutorial (on Bayesian inference for state-space models) for more examples and explanations.

Module summary

MCMC MCMC base class.
GenericRWHM Base class for random walk Hasting-Metropolis samplers.
GenericGibbs Generic Gibbs sampler for a state-space model.
PMMH Particle Marginal Metropolis Hastings.
ParticleGibbs Particle Gibbs sampler (abstract class).