pybop.samplers.pints_samplers#

Classes#

DREAM

Implements the DiffeRential Evolution Adaptive Metropolis (DREAM) algorithm.

DifferentialEvolutionMCMC

Implements the Differential Evolution Markov Chain Monte Carlo (MCMC) algorithm.

DramACMC

Implements the Delayed Rejection Adaptive Metropolis (DRAM) Adaptive Covariance MCMC algorithm.

EmceeHammerMCMC

Implements the Emcee Hammer Markov Chain Monte Carlo (MCMC) algorithm.

HaarioACMC

Implements the Haario Adaptive Covariance Markov Chain Monte Carlo (MCMC) algorithm.

HaarioBardenetACMC

Implements the Haario-Bardenet Adaptive Covariance Markov Chain Monte Carlo (MCMC) algorithm.

HamiltonianMCMC

Implements the Hamiltonian Markov Chain Monte Carlo (MCMC) algorithm.

MALAMCMC

Implements the Metropolis Adjusted Langevin Algorithm (MALA) Markov Chain Monte Carlo (MCMC) algorithm.

MetropolisRandomWalkMCMC

Implements the Metropolis Random Walk Markov Chain Monte Carlo (MCMC) algorithm.

MonomialGammaHamiltonianMCMC

Implements the Monomial Gamma Hamiltonian Markov Chain Monte Carlo (MCMC) algorithm.

NUTS

Implements the No-U-Turn Sampler (NUTS) algorithm.

PopulationMCMC

Implements the Population Markov Chain Monte Carlo (MCMC) algorithm.

RaoBlackwellACMC

Implements the Rao-Blackwell Adaptive Covariance Markov Chain Monte Carlo (MCMC) algorithm.

RelativisticMCMC

Implements the Relativistic Markov Chain Monte Carlo (MCMC) algorithm.

SliceDoublingMCMC

Implements the Slice Doubling Markov Chain Monte Carlo (MCMC) algorithm.

SliceRankShrinkingMCMC

Implements the Slice Rank Shrinking Markov Chain Monte Carlo (MCMC) algorithm.

SliceStepoutMCMC

Implements the Slice Stepout Markov Chain Monte Carlo (MCMC) algorithm.

Module Contents#

class pybop.samplers.pints_samplers.DREAM(log_pdf: pybop.problems.log_pdf.LogPDF, options: pybop.PintsSamplerOptions | None = None)[source]#

Bases: pybop.BasePintsSampler

Implements the DiffeRential Evolution Adaptive Metropolis (DREAM) algorithm.

This class wraps the DREAM sampler from the PINTS library. DREAM combines Differential Evolution and Adaptive Metropolis to efficiently explore complex parameter spaces using a population of chains.

Parameters:
class pybop.samplers.pints_samplers.DifferentialEvolutionMCMC(log_pdf: pybop.problems.log_pdf.LogPDF, options: pybop.PintsSamplerOptions | None = None)[source]#

Bases: pybop.BasePintsSampler

Implements the Differential Evolution Markov Chain Monte Carlo (MCMC) algorithm.

This class wraps the Differential Evolution MCMC sampler from the PINTS library. Uses a population of chains and differential evolution proposals for efficient exploration of the parameter space.

Parameters:
class pybop.samplers.pints_samplers.DramACMC(log_pdf: pybop.problems.log_pdf.LogPDF, options: pybop.PintsSamplerOptions | None = None)[source]#

Bases: pybop.BasePintsSampler

Implements the Delayed Rejection Adaptive Metropolis (DRAM) Adaptive Covariance MCMC algorithm.

This class wraps the DRAM Adaptive Covariance MCMC sampler from the PINTS library. Combines delayed rejection and adaptive covariance for robust and efficient sampling.

Parameters:
class pybop.samplers.pints_samplers.EmceeHammerMCMC(log_pdf: pybop.problems.log_pdf.LogPDF, options: pybop.PintsSamplerOptions | None = None)[source]#

Bases: pybop.BasePintsSampler

Implements the Emcee Hammer Markov Chain Monte Carlo (MCMC) algorithm.

This class wraps the Emcee Hammer MCMC sampler from the PINTS library. The Emcee Hammer is an affine-invariant ensemble sampler, effective for high-dimensional parameter spaces.

Parameters:
class pybop.samplers.pints_samplers.HaarioACMC(log_pdf: pybop.problems.log_pdf.LogPDF, options: pybop.PintsSamplerOptions | None = None)[source]#

Bases: pybop.BasePintsSampler

Implements the Haario Adaptive Covariance Markov Chain Monte Carlo (MCMC) algorithm.

This class extends the Haario Adaptive Covariance MCMC sampler from the PINTS library. This MCMC method adapts the proposal distribution’s covariance matrix based on the history of the chain, improving sampling efficiency and convergence.

Parameters:
class pybop.samplers.pints_samplers.HaarioBardenetACMC(log_pdf: pybop.problems.log_pdf.LogPDF, options: pybop.PintsSamplerOptions | None = None)[source]#

Bases: pybop.BasePintsSampler

Implements the Haario-Bardenet Adaptive Covariance Markov Chain Monte Carlo (MCMC) algorithm.

This class extends the Haario-Bardenet Adaptive Covariance MCMC sampler from the PINTS library. This MCMC method combines the adaptive covariance approach with an additional mechanism to improve performance in high-dimensional parameter spaces.

Parameters:
class pybop.samplers.pints_samplers.HamiltonianMCMC(log_pdf: pybop.problems.log_pdf.LogPDF, options: pybop.PintsSamplerOptions | None = None)[source]#

Bases: pybop.BasePintsSampler

Implements the Hamiltonian Markov Chain Monte Carlo (MCMC) algorithm.

This class extends the Hamiltonian MCMC sampler from the PINTS library. This MCMC method uses Hamiltonian dynamics to propose new states, allowing for efficient exploration of high-dimensional parameter spaces.

Parameters:
class pybop.samplers.pints_samplers.MALAMCMC(log_pdf: pybop.problems.log_pdf.LogPDF, options: pybop.PintsSamplerOptions | None = None)[source]#

Bases: pybop.BasePintsSampler

Implements the Metropolis Adjusted Langevin Algorithm (MALA) Markov Chain Monte Carlo (MCMC) algorithm.

This class extends the MALA MCMC sampler from the PINTS library. This MCMC method combines the Metropolis-Hastings algorithm with Langevin dynamics to improve sampling efficiency and convergence.

Parameters:
class pybop.samplers.pints_samplers.MetropolisRandomWalkMCMC(log_pdf: pybop.problems.log_pdf.LogPDF, options: pybop.PintsSamplerOptions | None = None)[source]#

Bases: pybop.BasePintsSampler

Implements the Metropolis Random Walk Markov Chain Monte Carlo (MCMC) algorithm.

This class extends the Metropolis Random Walk MCMC sampler from the PINTS library. This classic MCMC method uses a simple random walk proposal distribution and the Metropolis-Hastings acceptance criterion.

Parameters:
class pybop.samplers.pints_samplers.MonomialGammaHamiltonianMCMC(log_pdf: pybop.problems.log_pdf.LogPDF, options: pybop.PintsSamplerOptions | None = None)[source]#

Bases: pybop.BasePintsSampler

Implements the Monomial Gamma Hamiltonian Markov Chain Monte Carlo (MCMC) algorithm.

This class extends the Monomial Gamma Hamiltonian MCMC sampler from the PINTS library. This MCMC method uses Hamiltonian dynamics with a monomial gamma distribution for efficient exploration of the parameter space.

Parameters:
class pybop.samplers.pints_samplers.NUTS(log_pdf: pybop.problems.log_pdf.LogPDF, options: pybop.PintsSamplerOptions | None = None)[source]#

Bases: pybop.BasePintsSampler

Implements the No-U-Turn Sampler (NUTS) algorithm.

This class wraps the NUTS sampler from the PINTS library. NUTS is a Markov chain Monte Carlo (MCMC) method for sampling from a probability distribution, extending Hamiltonian Monte Carlo with an adaptive integration time for efficient exploration.

Parameters:
class pybop.samplers.pints_samplers.PopulationMCMC(log_pdf: pybop.problems.log_pdf.LogPDF, options: pybop.PintsSamplerOptions | None = None)[source]#

Bases: pybop.BasePintsSampler

Implements the Population Markov Chain Monte Carlo (MCMC) algorithm.

This class extends the Population MCMC sampler from the PINTS library. This MCMC method uses a population of chains at different temperatures to explore the parameter space more efficiently and avoid local minima.

Parameters:
class pybop.samplers.pints_samplers.RaoBlackwellACMC(log_pdf: pybop.problems.log_pdf.LogPDF, options: pybop.PintsSamplerOptions | None = None)[source]#

Bases: pybop.BasePintsSampler

Implements the Rao-Blackwell Adaptive Covariance Markov Chain Monte Carlo (MCMC) algorithm.

This class extends the Rao-Blackwell Adaptive Covariance MCMC sampler from the PINTS library. This MCMC method improves sampling efficiency by combining Rao-Blackwellisation with adaptive covariance strategies.

Parameters:
class pybop.samplers.pints_samplers.RelativisticMCMC(log_pdf: pybop.problems.log_pdf.LogPDF, options: pybop.PintsSamplerOptions | None = None)[source]#

Bases: pybop.BasePintsSampler

Implements the Relativistic Markov Chain Monte Carlo (MCMC) algorithm.

This class extends the Relativistic MCMC sampler from the PINTS library. This MCMC method uses concepts from relativistic mechanics to propose new states, allowing for efficient exploration of the parameter space.

Parameters:
class pybop.samplers.pints_samplers.SliceDoublingMCMC(log_pdf: pybop.problems.log_pdf.LogPDF, options: pybop.PintsSamplerOptions | None = None)[source]#

Bases: pybop.BasePintsSampler

Implements the Slice Doubling Markov Chain Monte Carlo (MCMC) algorithm.

This class extends the Slice Doubling MCMC sampler from the PINTS library. This MCMC method uses slice sampling with a doubling procedure to propose new states, allowing for efficient exploration of the parameter space.

Parameters:
class pybop.samplers.pints_samplers.SliceRankShrinkingMCMC(log_pdf: pybop.problems.log_pdf.LogPDF, options: pybop.PintsSamplerOptions | None = None)[source]#

Bases: pybop.BasePintsSampler

Implements the Slice Rank Shrinking Markov Chain Monte Carlo (MCMC) algorithm.

This class extends the Slice Rank Shrinking MCMC sampler from the PINTS library. This MCMC method uses slice sampling with a rank shrinking procedure to propose new states, allowing for efficient exploration of the parameter space.

Parameters:
class pybop.samplers.pints_samplers.SliceStepoutMCMC(log_pdf: pybop.problems.log_pdf.LogPDF, options: pybop.PintsSamplerOptions | None = None)[source]#

Bases: pybop.BasePintsSampler

Implements the Slice Stepout Markov Chain Monte Carlo (MCMC) algorithm.

This class extends the Slice Stepout MCMC sampler from the PINTS library. This MCMC method uses slice sampling with a stepout procedure to propose new states, allowing for efficient exploration of the parameter space.

Parameters: