Bayesian inference for unifilar hidden Markov models in Python.
buhmm is an acronym and also a homophone for "bum":
b = Bayesian
u = unifilar
h = hidden
m = Markov
m = model
Status: Not ready for general use. Expect major API changes.
Documentation: Eventually.
This package implements the work in:
Bayesian structural inference for hidden processes
Christopher C. Strelioff and James P. Crutchfield
Phys. Rev. E 89, 042119 – Published 10 April 2014
http://dx.doi.org/10.1103/PhysRevE.89.042119
and extends it in a number of ways. The API was inspired by the reference
implementation written by Christopher C. Strelioff, which is part of CMPy,
a Python package for computational mechanics.
One of the primary goals goals for this package was to separate the core
functionality from CMPy. Then, CMPy could internally provide its own
compatibility layer. This would enable other libraries and languages to make
use of the inference algorithm, without having to commit to using CMPy.
Another goal was to make it fairly low-level and more suitable for doing many
inferences in large for loops. This is acheived, in part, through the use
of NumPy arrays and Cython.