node package manager

hidden-markov-model

hidden-markov-model

Hidden Markov Models in JavaScript.

NPM

Install

npm install hidden-markov-model
bower install hidden-markov-model

Usage

This example uses the Forward algorithm to calculate the probability of an observed sequence.

var HiddenMarkovModel = require('hidden-markov-model');
 
var HMM = HiddenMarkovModel();
 
HMM.setInitialStateVector([0.6, 0.4]); // 1. Healthy, 2. Fever 
 
HMM.setTransitionMatrix([
    // Heathly, Fever 
    [0.7, 0.3], // Healthy 
    [0.4, 0.6]  // Fever 
]);
 
HMM.setEmissionMatrix([
    // 1. Normal, 2. Cold, 3. Dizzy 
    [0.5, 0.4, 0.1], // Healthy 
    [0.1, 0.3, 0.6]  // Fever 
]);
 
  /* What is the probability that the Hidden Markov Model is able to
   * generate the observed sequence of being Normal on day 1,
   * Cold on day2, and Dizzy on day 3?
   */
  var alpha = [];
  var result = HMM.forward([0, 1, 2], alpha); // Normal, Cold, Dizzy 
  console.log(result); // 0.03628 
 
  console.log(alpha);
  /* [ [ 0.3, 0.04000000000000001 ],
     [ 0.09040000000000001, 0.0342 ],
     [ 0.007696000000000001, 0.028584000000000002 ] ]
  */

License

MIT