tlienart / SMC.jl

Sequential Monte Carlo methods in Julia (experimental)

Geek Repo:Geek Repo

Github PK Tool:Github PK Tool

SMC

stability-wip

Unix CodeCov License
Travis CodeCov License: MIT

What's this about

The aim of this package is to offer simple code that illustrate some concepts that are useful in the Sequential Monte Carlo framework. The primary aim is educational. If you're looking for something more serious, consider Lawrence Murray's excellent package Libbi.

Installation and requirements

Requirements:

  • Julia in [0.6.x]
  • 64-bit architecture

In the Julia REPL:

Pkg.clone("https://github.com/tlienart/SMC.jl.git")
using SMC

Algorithms implemented

  • Kalman Filter and Smoother (2FS) for comparison on Linear Gaussian model
  • Particle Filter
  • Particle Smoother (FFBS)
  • Particle Smoother (Fearnhead's linear complexity method)
  • Particle Smoother (BIS(Q), BIS(SQ), aBIS(L))

Notes

  • FFBS refers to the Forward Filtering Backward Smoothing
  • 2FS refers to the Two Filter Formula
  • BIS(Q) refers to the Backward Information Smoother algorithm with quadratic complexity
  • BIS(SQ) refers to the same algorithm but with a trick reducing the complexity to subquadratic (the estimators are still consistent)
  • aBIS(L) refers to the same algorithm with independent sampling of mixture labels (see SAPBP) and consequent linear complexity (estimators are not consistent)
  • SAPBP refers to the Sequential Auxiliary Particle Belief Propagation paper (contains a method to sample efficiently but approximately from products of mixtures)

References

(in no particular order)

  • Briers, Doucet, Maskell, Smoothing algorithms for state-space models, link, 2009.
  • Doucet, Johansen, A tutorial on particle filtering and smoothing, link, 2012.
  • Fearnhead, Wyncoll, Tawn, A sequential smoothing algorithm with linear computational cost, link, 2010.
  • Taghavi, A study of linear complexity particle filter smoothers, link, 2012.
  • Briers, Doucet, Singh, Sequential auxiliary particle belief propagation, link, 2005.

About

Sequential Monte Carlo methods in Julia (experimental)

License:Other


Languages

Language:Julia 100.0%