monad-bayes-0.1.0.0: A library for probabilistic programming.

Copyright(c) Adam Scibior 2015-2020
LicenseMIT
Maintainerleonhard.markert@tweag.io
Stabilityexperimental
PortabilityGHC
Safe HaskellNone
LanguageHaskell2010

Control.Monad.Bayes.Inference.SMC

Description

Sequential Monte Carlo (SMC) sampling.

Arnaud Doucet and Adam M. Johansen. 2011. A tutorial on particle filtering and smoothing: fifteen years later. In The Oxford Handbook of Nonlinear Filtering, Dan Crisan and Boris Rozovskii (Eds.). Oxford University Press, Chapter 8.

Synopsis

Documentation

sir Source #

Arguments

:: Monad m 
=> (forall x. Population m x -> Population m x)

resampler

-> Int

number of timesteps

-> Int

population size

-> Sequential (Population m) a

model

-> Population m a 

Sequential importance resampling. Basically an SMC template that takes a custom resampler.

smcMultinomial Source #

Arguments

:: MonadSample m 
=> Int

number of timesteps

-> Int

number of particles

-> Sequential (Population m) a

model

-> Population m a 

Sequential Monte Carlo with multinomial resampling at each timestep. Weights are not normalized.

smcSystematic Source #

Arguments

:: MonadSample m 
=> Int

number of timesteps

-> Int

number of particles

-> Sequential (Population m) a

model

-> Population m a 

Sequential Monte Carlo with systematic resampling at each timestep. Weights are not normalized.

smcMultinomialPush Source #

Arguments

:: MonadInfer m 
=> Int

number of timesteps

-> Int

number of particles

-> Sequential (Population m) a

model

-> Population m a 

Sequential Monte Carlo with multinomial resampling at each timestep. Weights are normalized at each timestep and the total weight is pushed as a score into the transformed monad.

smcSystematicPush Source #

Arguments

:: MonadInfer m 
=> Int

number of timesteps

-> Int

number of particles

-> Sequential (Population m) a

model

-> Population m a 

Sequential Monte Carlo with systematic resampling at each timestep. Weights are normalized at each timestep and the total weight is pushed as a score into the transformed monad.