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)

[Package HMM version 1.0.1 Index]