posterior {HMM} | R Documentation |
Computes the posterior probabilities for the states
Description
This function computes the posterior probabilities of being in state X at time k for a given sequence of observations and a given Hidden Markov Model.
Usage
posterior(hmm, observation)
Arguments
hmm |
A Hidden Markov Model. |
observation |
A sequence of observations. |
Format
Dimension and Format of the Arguments.
- hmm
A valid Hidden Markov Model, for example instantiated by
initHMM
.- observation
A vector of observations.
Details
The posterior probability of being in a state X at time k can be computed from the
forward
and backward
probabilities:
Ws(X_k = X | E_1 = e_1, ... , E_n = e_n) = f[X,k] * b[X,k] / Prob(E_1 = e_1, ... , E_n = e_n)
Where E_1...E_n = e_1...e_n
is the sequence of observed emissions and
X_k
is a random variable that represents the state at time k
.
Value
Return Values:
posterior |
A matrix containing the posterior probabilities. The first dimension refers to the state and the second dimension to time. |
Author(s)
Lin Himmelmann <hmm@linhi.com>, Scientific Software Development
References
Lawrence R. Rabiner: A Tutorial on Hidden Markov Models and Selected Applications in Speech Recognition. Proceedings of the IEEE 77(2) p.257-286, 1989.
See Also
See forward
for computing the forward probabilities and backward
for computing the backward probabilities.
Examples
# Initialise HMM
hmm = initHMM(c("A","B"), c("L","R"), transProbs=matrix(c(.8,.2,.2,.8),2),
emissionProbs=matrix(c(.6,.4,.4,.6),2))
print(hmm)
# Sequence of observations
observations = c("L","L","R","R")
# Calculate posterior probablities of the states
posterior = posterior(hmm,observations)
print(posterior)