ANN: hmm-hmatrix - efficient Hidden Markov Model implementation

My HMM implementation is on Hackage and has already proven to be useful: https://hackage.haskell.org/package/hmm-hmatrix It supports Discrete and Gaussian models and can be extended to other moduls using the type classes from Distribution module. The package implements supervised and unsupervised training, as well as a training using a predefined distribution and patterns. It also supports mixing of trainings. Trained models can be read from and written to CSV. The features are demonstrated by three simple examples. https://en.wikipedia.org/wiki/Hidden_Markov_Model

Hi Henning, Thanks for this. I look forward to trying it. How general are the models that it can fit? For example, a Kalman filter is an example of a hidden Markov model in which the updates are linear and the errors are Gaussian. I wrote a few notes on such models although I have yet to follow this up: https://idontgetoutmuch.wordpress.com/2015/06/20/some-background-on-hidden-m... https://idontgetoutmuch.wordpress.com/2015/06/20/some-background-on-hidden-m.... As you can see, I don’t think the wikipedia definition is correct but maybe this is a matter of taste / definition although I often find wikipedia slightly misses the point on some mathematical topics. I also uploaded an extended Kalman filter package here: https://hackage.haskell.org/package/Kalman https://hackage.haskell.org/package/Kalman. You might also be interested in a version of haddock I have which renders mathematics correctly. For example, see here: https://hackage.haskell.org/package/Kalman-0.1.0.1/docs/Kalman.html https://hackage.haskell.org/package/Kalman-0.1.0.1/docs/Kalman.html. Dominic Steinitz dominic@steinitz.org http://idontgetoutmuch.wordpress.com
On 19 Aug 2015, at 12:06, Henning Thielemann
wrote: My HMM implementation is on Hackage and has already proven to be useful: https://hackage.haskell.org/package/hmm-hmatrix
It supports Discrete and Gaussian models and can be extended to other moduls using the type classes from Distribution module. The package implements supervised and unsupervised training, as well as a training using a predefined distribution and patterns. It also supports mixing of trainings. Trained models can be read from and written to CSV. The features are demonstrated by three simple examples.
https://en.wikipedia.org/wiki/Hidden_Markov_Model _______________________________________________ Numeric mailing list Numeric@haskell.org http://mail.haskell.org/cgi-bin/mailman/listinfo/numeric

On Wed, 19 Aug 2015, Dominic Steinitz wrote:
How general are the models that it can fit? For example, a Kalman filter is an example of a hidden Markov model in which the updates are linear and the errors are Gaussian.
My package is limited to a finite set of states. I don't think you can use it for Kalman filtering and so far I do not know, whether I can generalize it that way. Unfortunately, I have no experience with Kalman filters.
participants (2)
-
Dominic Steinitz
-
Henning Thielemann