4

I have many sequences of variable length. For these I want to train a Hidden Markov Model that I want to use later to predict possible continuations of (partial) sequences. I have found two ways to predict the future using HMMs so far:

1) Hallucinate continuations and get the likelihood for that continued sequence. Pick the one with the highest likelihood as your prediction. This method requires explicit knowledge of the possible values for continations.

2) Use the Viterbi algorithm with the (partial) sequence to obtain the most likely hidden-state-sequence. Take the emission distribution of the last hidden state in this sequence and predict e.g. the mean of that distribution (which often is Gaussian).

Now my question is: Are there any other, possibly more principled, ways to predict the future using HMMs?

Thanks!

Tim
  • 333
  • 4
  • 13

1 Answers1

0

The Markov assumption in an HMM states that the state at time T+1 is independent of all states prior to T, conditioned on T.

Your option 2 is close to what I would suggest, except that you are using the Maximum likelihood assignment to the last state. Instead, calculate the distribution on the hidden state of the last item in the sequence. This amounts to replacing the "maxes" with "sums" in the Viterbi algorithm. (See https://www.coursera.org/course/pgm, and search for the "sum-product" algorithm, otherwise known as Belief Propagation).

Then, to sample the future, what you do is first sample the last state, given its distribution. Then sample the next hidden state, using the transition matrix and repeat ad nauseum. Since you have no actual observations after the last point in the sequence, you are sampling from a markov chain. This will get you samples of the future, given everything you know of the partial sequence. The reason this is different from Viterbi is that even the most likely assignment to the hidden variables of the partial assignment could have low likelihood. By using the entire distribution on the last state, you can get a much better estimate of the following (unobserved future) states.

eyeApps LLC
  • 643
  • 4
  • 10