-
Notifications
You must be signed in to change notification settings - Fork 30
New issue
Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.
By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.
Already on GitHub? Sign in to your account
Transition Probabilities for each observation #44
Comments
I'm not sure I follow, can you show me an example? What do you mean by joint emission probability? All "individuals" have their own hidden state sequence and a_{t}(j) is computed separately for each (possibly multichannel) sequence, so there can't be a case where all P(o_{t}|j) with different j are zero (as they have to sum to one). |
Let's say I have three manifest variables, X, Y, Z and observation with the values of 1, 0, 0 for these manifest variables. If some emission probabilities for these X, Y, and Z are P(1|State 1)=0, P(0|State 2)=0, P(0|State 3)=0, then the joint emission probability for State 1, State 2, State 3 will be 0 as follows: P(1|State 1)P(0|State 1)P(0|State 1)=0 P(1|State 2)P(0|State 2)P(0|State 2)=0 P(1|State 3)P(0|State 3)P(0|State 3)=0 As a result, the forward probabilities for each observation will not sum to 1 as well. |
Thanks now I understand. Yes, that is possible if the emission matrix is poorly defined with respect to data or due to numerical issues during optimization, but I would think |
Thank you for your response. I will send you a minimal example from my dataset shortly. My main motivation is to extract a_{t-1}(i)q_{ij}P(o_{t}|j) before summation. I will use them as observation-specific transition probabilities from one state to another. Is there a way to extract them separately before summation without the recalculation? |
Unfortunately, at the moment you can't extract those terms separately. It could be pretty straightforward to make a new function for that based on this: https://github.com/helske/seqHMM/blob/master/src/internalForward.cpp if speed of "manual" computation in |
Thank you so much! I will experiment with the package. I have forked the package. Kind regards! |
I am looking at https://github.com/helske/seqHMM/blob/master/src/internalForward.cpp Thank you so much in advance! |
The |
Thank you so much for your quick response! |
I am trying to decompose the forward probabilities in each time period into their constituent terms: a_{t-1}(i)q_{ij}P(o_{t}|j)
in
[a_{t}(j)=\sum_{i=1}^{N}a_{t-1}(i)q_{ij}P(o_{t}|j)]
The main challenge is the calculation of P(o_{t}|j) in multivariate case. Sometimes the joint emission probability for each state is zero for a given observation. As a result, forward probabilities should all be NAs due to zero division. However,
forward_backward
gives me non-zero or non-NA estimate for these scenarios. What is the specific way seqHMM deals with this scenario so that I get an non-zero or non-NA estimate?Thank you in advance for any direction you can give.
The text was updated successfully, but these errors were encountered: