4

I am trying to use HMM for location prediction. I have the coordinates (x,y), speed and direction of motion. I have discretized the entire space into small blocks, that I use as states. The objective is to predict the location (state) of the object after time t, 2t, 3t and so on.

I have read multiple articles on HMM. I still have 2 questions:

  1. Can I use some trajectories to create the transition matrix? My mapping from coordinates to block (i.e. the state) is straightforward, so I can use a few samples to create an initial transition matrix.
  2. How do I define the emission matrix with the continuous observables (i.e Position, speed and direction). If I assume them to be gaussian with mean 0, how do I create the initial emissions matrix.

  3. Can I use Viterbi to predict the location after time t, 2t etc?

I have read too many articles and am really confused now. I would appreciate some help to know if I am going in the right direction.

Also, what would be a good c++ library to use for the purpose?

BumbleBee
  • 57
  • 5
  • I am not an expert for HMMs, anyway I am not sure if they fit your case very well. It seems you read a lot about the topic, and maybe know better than me. So I will just sum up my thoughts. If you have coordinates, direction and speed, there is only one state which can possibly "emitted" on a specif time "t". There won't be any chance that it can be an other state than the computed. E.g. P1(10/10), speed = 2 and direction = (0/1) PatT1 = P1 + (speed * direction) = (10/12) – TruckerCat Dec 15 '15 at 12:22
  • An HMM would be usefull if your hidden states would be changing values for directions and/or speed over time. t1: speed = 2 , t2 = speed = 1 -> Transitionprobabilty? – TruckerCat Dec 15 '15 at 12:28

1 Answers1

1

Mlpack (http://www.mlpack.org/) is a very good and simple C++ library.

I couldn't understand what are your observations and what are your hidden states. if you have simple mapping between them, then maybe you don't need HMM in the first place.

  • Yeah, you're right. Plus my observation variables are dependent. I can probably just use bayesian and do it. Thanks. – BumbleBee Dec 19 '15 at 04:36