# What is hidden in Hidden Markov Models? [closed]

Why the word "hidden" present in hidden markov model? What exactly is hidden. Whatever is hidden in HMM isn't it hidden in normal Markov Models?

• Why was this not closed as non-research level math? – user217285 Dec 20 '17 at 7:25
• @Nitin -- because it was asked back in the early days of MO, when the "standards" of closure had not yet evolved to the level of current times. – Suvrit Dec 20 '17 at 16:11

The unobserved state.

Let's consider a hidden Markov model for my cat's behavior. Bella can be in five states: hungry, tired, playful, cuddly, bored. She can respond to these states with six behaviors: whining, scratching, cuddling, pouncing, sleeping and stalking.

A hidden Markov model would consist of two matrices, one 5x5 and the other 5x6. The 5x5 matrix gives the probabilities that, if she is hungry at time $t$, she will be tired at time $t+1$, and so forth. So we can compute the probability that she is in different emotional states by taking powers of this matrix.

However, we can't observe her emotions -- they are hidden. The 5x6 matrix gives the probability that, if she is hungry at time $t$, she will whine at time $t+1$. (Very close to $1$.) These are the behaviors we observe.

In an ordinary Markov model, there would just be a single 6x6 matrix, which directly described the probability of transitions like whining ---> clawing. As you can see, an ordinary Markov model is less able to reflect the complexity of my cat's inner life.

• Presumably one does not need this added complexity for a Markov model of a dog. – Michael Lugo Nov 12 '09 at 3:02
• "if she is hungry at time t, she will whine at time t+1." should be "if she is hungry at time t, she will whine at time t." correct? – Jonathan Feb 2 '10 at 19:02
• It seems that way sometimes, but I don't believe in instantaneous effects :). More seriously, since there is no feedback from actions to states, either indexing is the same mathematically. – David E Speyer Feb 2 '10 at 19:30

Another standard application area of (various refinements of) HMM models is the analysis of genomic or proteomic sequences. For genomes, the observations (the six behaviours of David's cat) could be the four well-known nucleotides A, C, G and T, and the states (the moods of the cat) would be some attributes of portions of the genome such as, in the basest version of segmentation, being a coding or a non-coding region.

The relevant litterature is huge, one starting point could be Anders Krogh's wikipedia page.

It may also help to consider the standard application areas of HMMs. In speech recognition, the goal is to decode an audio signal into actual text (what the person was saying); here, the observations are given by the audio signal and the unobserved states are the actual syllables being spoken. In other natural language processing tasks like part-of-speech tagging, named entity recognition, or information extraction, the observations are a bunch of words in a document, while the hidden parts are characteristics of those words (their grammatical parts of speech, whether or not they refer to a person, etc) are things we wish to infer but are not in the actual data itself. Google for these topics for more information. Also, see Lawrence Rabiner's HMM tutorial.

• Yes, I did check out Rabinar's tutorial. Its really informative – user1692 Nov 15 '09 at 17:03

Suppose you want to predict the Stock or Forex market. After your first few failures, you'll come to the conclusion that this is nearly impossible. One reason is you don't know the mechanics of the underlying machine generating the price signals. In other words you don't have a model of it that's any good or computing such a model is impossible on your architecture (not enough memory / time). Thus any data accurately describing the system is effectively hidden from you.

Typically you would model your position in the market: whether you should buy / sell at time $t$, buy / sell what, and how much. That too is hidden from you otherwise you would contradict the above (knowing enough about the market to predict it and thus make money). Therefore in such an application your hidden state is typically chosen to be your current position in the market. Granted, if looking into the past, you can compute previous hidden states, but those are useless to you at current moment $t$. Thus you use an HMM and a definition of your observables to mathemagically yield results.

Example. Binary options. Let your hidden state be the set of tuples $(\text{asset}, \text{direction}, \text{expiry})$ and optionally how much you should bet. Where $\text{asset} \in \{ \text{EURUSD, USDJPY, USDCHF}, \dots\}$, your buy $\text{direction} \in \{\text{"up"}, \text{"down"}\}$ (higher / lower sometimes), and finally $\text{expiry} \in \{1, 2, 3, \dots, E\}$ is the minutes into the future measured from now, when the bet expires. Additionally you will also need a $\text{NO_TRADE}$ state where you just sit there and make no bets, because sometimes that is the best position.

Your observables can be a continuous model of vectorized price signals (in which case you have to understand continuous-Observable HMM algorithms), or discretized price signals. Not to mention that your observables can be anything you can define and make use of. For instance, whether or not a certain type of news event occurs. But let's stick to the most typical which would be a vector of current prices.

So you have $(\text{USDJPY}: 1.25, 1.26, \dots, 1.25, 1.27, 1.24; \text{USDCAD}: \dots )$, in other words: the last $K$ price points of a collection of assets. This is observable. You could even throw in moving averages over the last $K$ price points and see if that does anything.

Anyway, the idea is that you hypothesize that there is enough information in the the price signals to make some money at Binary Options. I don't know if that's true or not. But, HMM would then be the best way to statistically find out. Otherwise naive approaches would take super computer until the sun burns out to come to a conclusion which is that your model is probably not going to work (ie. it's not an easy problem to crack).

Example: You ask someone how they are doing today. They say 'fine'. What you observe is the word 'fine', $Y_k$, which is a function $f$ of their true mood $X_k$. The mood is in turn modeled as a Markov process.

$Y_k = f(X_k)\sigma_Y u_k$

$X_k = X_{k-1} +\sigma_X v_k$

In this formulation, $u,v$ represents the noise, could for instance be white noise.

Typical problems can be to estimate parameters in order to be able to simulate the mood-system, or perhaps to find out what the mood really is.