locked
Coupled Hidden Markov Model RRS feed

  • Question

  • Hi,

    I'm trying to create a CHMM that models the following

    Assumptions:

    1. I have a continuous stream of observed values for N different variables (which are connected as a list (meaning Variable 0 has 1 neighbour {1} while variable 1 has 2 neighbours {0,2} and so on))  .

    2. Each of the variables is influenced by parameters which are assumed to be shared with the last M values of its own observed values, as well as with its direct neighbors last M observed values. The parameters might change over time and my model should be able to react to this.

    3. The order in which the variables are observed is important as well, example:

                     if values (1,1,1,2) are observed for one variable, the prediction for the next timestep should be closer to 2 than for the values (1,2,1,1)

                    the same goes for the neighbour variables

    Additionally:

    Step 1/2 are actually a bit harder still: The observed values are observed in neighbour after neighbour.

    So first the value for variable 0 is observed , then the value for variable 1 and so on until variable N, then variable N - 1 is observed,...

    This means for step 2: the predicted value of variable 1 is dependend on its own history, its predecessors history(lets assume 0) and the history of its follower (2 in this case) with the last prediction for variable 2 as placeholder for the not yet observed value of the current timestep.

    Prediction:

    This model should allow me to predict the next value for each variable

    Question:

    My problem seems somewhat related to

    http://social.microsoft.com/Forums/en-US/infer.net/thread/cd249a23-72f5-4fe7-bfcb-79601998ca2d

    but it has a two differences

    1. for me the prediction for one variable should always be influenced by multiple variables and their histories instead of just one of them.
    2. I have a stream of observed variables, but only the last M of each of them should be considered for the model
    3. My observations are continuous, ideally the states would be the same, but I could do with discrete states as well if thats the only possibility

    So my questions are generally:

    Can I expand the model from the link for my requirements?

    Any hints on how? ;)

    Cheers and thanks in advance,

    Malte

    P.s.: If anything is unclear please ask

    Edit:

    Added Graphic



    • Edited by XardasM Wednesday, May 9, 2012 10:02 AM
    Thursday, April 19, 2012 10:12 AM

All replies

  • The model that you are describing does not have any hidden state.  Each observation is only influenced by M previous observations.  So this is a M-th order Markov model not a hidden Markov model, right?
    Thursday, April 19, 2012 12:59 PM
    Owner
  • Sorry, thanks for pointing that out. I did not describe it in a correct way, each of the variables is actually influence by unknown parameters of which some are shared between all variables.

    The variables don't influence each other directly, they are just influenced by a similar set of parameters.

    One example could be 3 ducks with slightly different targets that are swimming on a fast flowing river.

    I want to be able to make reasonable predictions for the future positions of the duck, even if the parameters change over time.

    These parameters are my hidden states.



    • Edited by XardasM Thursday, April 19, 2012 3:28 PM
    Thursday, April 19, 2012 3:26 PM
  • So the hidden state is not a time series but a set of parameters that remain constant over time?  How are the parameters generated?
    Thursday, April 19, 2012 3:44 PM
    Owner
  • The parameters may change over time.

    As to how the parameters are generated: They are  influences taken from reality, one could be the speed of the stream in my duck example, for example.

    Thanks for taking the time :)

    Thursday, April 19, 2012 4:01 PM
  • So the parameters are also a time series?  By 'generated' I'm asking what their distribution is.  Could you please express your model as a generative probabilistic model, describing how each variable is generated from the others?  This is needed to use Infer.NET.
    Thursday, April 19, 2012 4:20 PM
    Owner
  • Okay, I think I managed to create a more fitting model:

    I only get a stream of the measurement data and want to be able to make assumptions about the hidden states.

    The hidden state can be one of 3 values, the measurements are continuous, but assumed to be gaussian.

    The arrows show how the different states influence each other as well as the measurement.


    • Edited by XardasM Tuesday, May 8, 2012 9:06 AM
    Tuesday, May 8, 2012 9:05 AM