Coupled Hidden Markov Model<p>Hi,</p>
<p>I'm trying to create a CHMM that models the following </p>
<p><strong>Assumptions:</strong></p>
<p>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)) .</p>
<p>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.</p>
<p>3. The order in which the variables are observed is important as well, example:</p>
<p> 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)</p>
<p> the same goes for the neighbour variables</p>
<p><strong>Additionally</strong>:</p>
<p>Step 1/2 are actually a bit harder still: The observed values are observed in neighbour after neighbour.
</p>
<p>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,...</p>
<p>This means for <strong>step 2</strong>: the predicted value of variable <strong>
1</strong> is dependend on its own history, its predecessors history(lets assume <strong>
0</strong>) and the history of its follower (<strong>2</strong> in this case) with the last prediction for variable
<strong>2</strong> as placeholder for the not yet observed value of the current timestep.</p>
<p><strong>Prediction</strong>:</p>
<p>This model should allow me to predict the next value for each variable</p>
<p><strong>Question:</strong></p>
<p>My problem seems somewhat related to</p>
<p>http://social.microsoft.com/Forums/en-US/infer.net/thread/cd249a23-72f5-4fe7-bfcb-79601998ca2d</p>
<p>but it has a two differences</p>
<ol>
<li>for me the prediction for one variable should always be influenced by multiple variables and their histories instead of just one of them.</li><li>I have a stream of observed variables, but only the last M of each of them should be considered for the model</li><li>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</li></ol>
<p>So my questions are generally: </p>
<p>Can I expand the model from the link for my requirements?</p>
<p>Any hints on how? ;)</p>
<p></p>
<p>Cheers and thanks in advance,</p>
<p>Malte</p>
<p></p>
<p>P.s.: If anything is unclear please ask</p>
<p></p>
<p></p>
<p>Edit:</p>
<p>Added Graphic</p>
<p><img alt="" src="http://social.microsoft.com/Forums/getfile/103119"><br/>
<br/>
</p>© 2009 Microsoft Corporation. All rights reserved.Wed, 09 May 2012 10:02:51 Z7c29db40-0c70-42f2-8f5f-7de27e292179- https://social.microsoft.com/Forums/en-US/7c29db40-0c70-42f2-8f5f-7de27e292179/coupled-hidden-markov-model?forum=infer.net#7c29db40-0c70-42f2-8f5f-7de27e292179https://social.microsoft.com/Forums/en-US/7c29db40-0c70-42f2-8f5f-7de27e292179/coupled-hidden-markov-model?forum=infer.net#7c29db40-0c70-42f2-8f5f-7de27e292179XardasMhttps://social.microsoft.com:443/profile/xardasm/?type=forumCoupled Hidden Markov Model<p>Hi,</p>
<p>I'm trying to create a CHMM that models the following </p>
<p><strong>Assumptions:</strong></p>
<p>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)) .</p>
<p>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.</p>
<p>3. The order in which the variables are observed is important as well, example:</p>
<p> 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)</p>
<p> the same goes for the neighbour variables</p>
<p><strong>Additionally</strong>:</p>
<p>Step 1/2 are actually a bit harder still: The observed values are observed in neighbour after neighbour.
</p>
<p>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,...</p>
<p>This means for <strong>step 2</strong>: the predicted value of variable <strong>
1</strong> is dependend on its own history, its predecessors history(lets assume <strong>
0</strong>) and the history of its follower (<strong>2</strong> in this case) with the last prediction for variable
<strong>2</strong> as placeholder for the not yet observed value of the current timestep.</p>
<p><strong>Prediction</strong>:</p>
<p>This model should allow me to predict the next value for each variable</p>
<p><strong>Question:</strong></p>
<p>My problem seems somewhat related to</p>
<p>http://social.microsoft.com/Forums/en-US/infer.net/thread/cd249a23-72f5-4fe7-bfcb-79601998ca2d</p>
<p>but it has a two differences</p>
<ol>
<li>for me the prediction for one variable should always be influenced by multiple variables and their histories instead of just one of them.</li><li>I have a stream of observed variables, but only the last M of each of them should be considered for the model</li><li>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</li></ol>
<p>So my questions are generally: </p>
<p>Can I expand the model from the link for my requirements?</p>
<p>Any hints on how? ;)</p>
<p></p>
<p>Cheers and thanks in advance,</p>
<p>Malte</p>
<p></p>
<p>P.s.: If anything is unclear please ask</p>
<p></p>
<p></p>
<p>Edit:</p>
<p>Added Graphic</p>
<p><img alt="" src="http://social.microsoft.com/Forums/getfile/103119"><br/>
<br/>
</p>Thu, 19 Apr 2012 10:12:31 Z2012-05-09T10:02:51Z
- https://social.microsoft.com/Forums/en-US/7c29db40-0c70-42f2-8f5f-7de27e292179/coupled-hidden-markov-model?forum=infer.net#75bf7b4c-c578-4b61-8c12-64924af20e11https://social.microsoft.com/Forums/en-US/7c29db40-0c70-42f2-8f5f-7de27e292179/coupled-hidden-markov-model?forum=infer.net#75bf7b4c-c578-4b61-8c12-64924af20e11Tom Minkahttps://social.microsoft.com:443/profile/tom%20minka/?type=forumCoupled Hidden Markov ModelThe 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?Thu, 19 Apr 2012 12:59:19 Z2012-04-19T12:59:19Z
- https://social.microsoft.com/Forums/en-US/7c29db40-0c70-42f2-8f5f-7de27e292179/coupled-hidden-markov-model?forum=infer.net#2059b7cf-6522-4661-9da5-3d78610b5bdehttps://social.microsoft.com/Forums/en-US/7c29db40-0c70-42f2-8f5f-7de27e292179/coupled-hidden-markov-model?forum=infer.net#2059b7cf-6522-4661-9da5-3d78610b5bdeXardasMhttps://social.microsoft.com:443/profile/xardasm/?type=forumCoupled Hidden Markov Model<p>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.</p>
<p>The variables don't influence each other directly, they are just influenced by a similar set of parameters.
</p>
<p>One example could be 3 ducks with slightly different targets that are swimming on a fast flowing river.</p>
<p>I want to be able to make reasonable predictions for the future positions of the duck, even if the parameters change over time.</p>
<p>These parameters are my hidden states.</p>
<br/>
<br/>Thu, 19 Apr 2012 15:26:22 Z2012-04-19T15:28:48Z
- https://social.microsoft.com/Forums/en-US/7c29db40-0c70-42f2-8f5f-7de27e292179/coupled-hidden-markov-model?forum=infer.net#cfd5600c-8aed-420a-9bf8-0a5065642c6ehttps://social.microsoft.com/Forums/en-US/7c29db40-0c70-42f2-8f5f-7de27e292179/coupled-hidden-markov-model?forum=infer.net#cfd5600c-8aed-420a-9bf8-0a5065642c6eTom Minkahttps://social.microsoft.com:443/profile/tom%20minka/?type=forumCoupled Hidden Markov ModelSo the hidden state is not a time series but a set of parameters that remain constant over time? How are the parameters generated?Thu, 19 Apr 2012 15:44:10 Z2012-04-19T15:44:10Z
- https://social.microsoft.com/Forums/en-US/7c29db40-0c70-42f2-8f5f-7de27e292179/coupled-hidden-markov-model?forum=infer.net#b6627900-2cea-416f-8017-c5a8145c852dhttps://social.microsoft.com/Forums/en-US/7c29db40-0c70-42f2-8f5f-7de27e292179/coupled-hidden-markov-model?forum=infer.net#b6627900-2cea-416f-8017-c5a8145c852dXardasMhttps://social.microsoft.com:443/profile/xardasm/?type=forumCoupled Hidden Markov Model<p>The parameters may change over time. </p>
<p>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.</p>
<p>Thanks for taking the time :)</p>Thu, 19 Apr 2012 16:01:58 Z2012-04-19T16:01:58Z
- https://social.microsoft.com/Forums/en-US/7c29db40-0c70-42f2-8f5f-7de27e292179/coupled-hidden-markov-model?forum=infer.net#7b6e3e58-6bb0-4780-8e24-d792e80a6ea8https://social.microsoft.com/Forums/en-US/7c29db40-0c70-42f2-8f5f-7de27e292179/coupled-hidden-markov-model?forum=infer.net#7b6e3e58-6bb0-4780-8e24-d792e80a6ea8Tom Minkahttps://social.microsoft.com:443/profile/tom%20minka/?type=forumCoupled Hidden Markov ModelSo 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.Thu, 19 Apr 2012 16:20:31 Z2012-04-19T16:20:31Z
- https://social.microsoft.com/Forums/en-US/7c29db40-0c70-42f2-8f5f-7de27e292179/coupled-hidden-markov-model?forum=infer.net#a2b2849a-3735-49c0-a589-c1d56fc1e2dbhttps://social.microsoft.com/Forums/en-US/7c29db40-0c70-42f2-8f5f-7de27e292179/coupled-hidden-markov-model?forum=infer.net#a2b2849a-3735-49c0-a589-c1d56fc1e2dbXardasMhttps://social.microsoft.com:443/profile/xardasm/?type=forumCoupled Hidden Markov Model<p>Okay, I think I managed to create a more fitting model:<br/>
<br/>
I only get a stream of the measurement data and want to be able to make assumptions about the hidden states.</p>
<p>The hidden state can be one of 3 values, the measurements are continuous, but assumed to be gaussian.</p>
<p>The arrows show how the different states influence each other as well as the measurement.</p>
<p></p>
<p><img alt="" src="http://social.microsoft.com/Forums/getfile/103119"></p>
<br/>Tue, 08 May 2012 09:05:59 Z2012-05-08T09:06:59Z