1
$\begingroup$

Suppose that we have a Hidden Markov Model (HMM) in which my Transition Distribution (also known as Matrix A) between hidden states dramatically change during the time; However, my Emission Distribution (also known as Matrix B) still the same during all times.

How can I possibly handle the volatile behavior of Matrix A during time?

By the way, I have fully observed the hidden states. Hence, I compute Matrix A, by counting the transitions between different states.

I would be very thankful if someone could possibly introduce me a similar paper work or give me a hint on how to handle this intermittence of matrix A during time?

Thank you very much :)

sketch

$\endgroup$
  • 1
    $\begingroup$ how do you have fully observed hidden states? $\endgroup$ – Taylor Aug 9 '16 at 14:39
  • 1
    $\begingroup$ How many training sequences do you observe? Just one, or do you have a panel? If you only observe one training sequence, I don't see how you'd get a good estimate of a time-varying transition matrix. $\endgroup$ – Adrian Aug 9 '16 at 17:34
  • $\begingroup$ @Taylor As a matter of fact, It is just assumed that I have seen the hidden states. Imagine someone has just given the labels of hidden states to me! I want to use this model (which I learn through count of the jumps between states) to solve some other questions such as Decoding and Evaluation problems! $\endgroup$ – user126608 Aug 9 '16 at 18:58
  • $\begingroup$ @Adrian Well, my sequence is comprised of four states which depict different time epochs. There also exists four different labels which can be assigned to hidden states. Let's say the labels come from the set of L={a,b,c,d} and one sample sequence can be a => b => b => a. Somehow I have the history of jumps between the hidden states through time which help me build my Transition Distributions (Matrix A). But the Matrix A itself changes over my jumps. For example imagine if in the first jump P(b|a)=0.45, however, in the second jump P(b|a) may be 0.34. $\endgroup$ – user126608 Aug 9 '16 at 19:19
  • 1
    $\begingroup$ Suppose your training sequence has length $T$, meaning there are $T - 1$ transition matrices to estimate. If you observe only one training sequence, you won't be able to do much. Having multiple iid sequences would help. $\endgroup$ – Adrian Aug 9 '16 at 19:49
1
$\begingroup$

HMM is a special form of probabilistic graphical model that has many constraints. Both transition probability matrix and emission probability matrix do not change over time are two important constraints to make the into HMM. If you want to make transition matrix change over time, then it is not a standard HMM.

But first, I would like to ask why to do so. We want to do such revisions is coming from domain knowledge or data? I can only think it comes from domain knowledge. Because the uncertainties in the hidden states should be captured by the probabilistic transition matrix and making the transition matrix change over time, you have "too much freedom" in the model.

If the notion of transition matrix changes over time come from domain knowledge, then may be constructing different HMMs on different time period would be a solution.

In sum, when we talk about a model, we may need to think how much free parameters in there and do we have sufficient data to reliably estimate these parameters. A matrix changes over time would cause too many free parameters and may not be useful in real world. (suppose we have $\Omega$ hidden stages, the transition matrix has $\Omega \times (\Omega-1)$ free parameters, prob need to sum to $1.0$, in addition, if sequence length is $N$ then there are $\Omega \times (\Omega-1) \times N$ free parameters), and we are not counting the free parameters in emission matrix. Such level of complexity is not practical / parameters cannot reliably estimated in real world with limited data.

$\endgroup$
  • $\begingroup$ I really appreciate your attention and also for dedicating your precious time. May I ask you to do me a favor and read my comments for Dear Adrian (in this question) if possible. Thanks again ;) $\endgroup$ – user126608 Aug 9 '16 at 19:26
  • $\begingroup$ @Reza_Research did I answered your question? well my answer was "do not do it" if you do not have strong reason... $\endgroup$ – Haitao Du Aug 9 '16 at 19:28
  • $\begingroup$ @ hxd1011 volatility of Matrix A is somehow a property of my data set and yet I am afraid that it cannot be waived and unfortunately My model has got three different Transition matrices. A way to face this may be to use Hierarchical Dirichlet Distribution as a prior. But that just compounds the complexity! I appreciate your kind attention anyway! Thanks :) $\endgroup$ – user126608 Aug 9 '16 at 19:36
  • 1
    $\begingroup$ @Reza_Research do you really need transition matrix being changed every discrete time? Also, I think you can simplify your question to be a Markov chain instead of HMM, which may cause unnecessary confusion, such as observerble hidden states... $\endgroup$ – Haitao Du Aug 9 '16 at 19:41

Your Answer

By clicking “Post Your Answer”, you agree to our terms of service, privacy policy and cookie policy