finds the most likely hidden states of the HiddenMarkovProcess hmm corresponding to the emissions data.
uses the given criterion crit to find the hidden states.
- FindHiddenMarkovStates is also known as hidden state decoding and Viterbi decoding.
- The emissions data can be either a list or a TemporalData object.
- FindHiddenMarkovStates returns the hidden state path in the same form as the emissions data. If there are multiple paths in data, there will be multiple state paths returned.
- Possible values for criterion crit include:
"ViterbiDecoding" maximize likelihood for hidden state sequence (default) "PosteriorDecoding" maximize likelihood for hidden state at each time
- Given an emission sequence , "ViterbiDecoding" maximizes the probability of a state sequence as a whole , whereas "PosteriorDecoding" maximizes the probability of a state value at each time .
Examplesopen allclose all
Basic Examples (1)
With list input, FindHiddenMarkovStates outputs the hidden state sequence as a list:
For TemporalData input, the output is a time series object of the same type as the input:
FindHiddenMarkovStates maps over individual paths:
An occasionally dishonest casino offers a coin betting game and uses an unfair practice of using a biased coin for which the head is three times more likely than the tail. The casino dealer is known to secretly switch between the fair and biased coins with probability 10%:
A toy robot travels on a 4×4 grid with walls represented by gray squares and cannot leave the map. The robot chooses randomly among four directions and attempts the move. If the move is disallowed it remains on the previous square:
Build the DiscreteMarkovProcess for the underlying hidden states:
Properties & Relations (3)
FindHiddenMarkovStates returns the state path with the maximum joint log-likelihood:
FindHiddenMarkovStates returns hard output, i.e. only one path:
Possible Issues (2)
FindHiddenMarkovStates returns unevaluated if a path is inconsistent with the given HMM: