Learn R Programming

hmm.discnp (version 0.0-7)

mps: Most probable states.

Description

Calculates the most probable hidden state underlying each observation.

Usage

mps(y, object = NULL, tpm, Rho, ispd, yval = NULL)

Arguments

y
The observations for which the underlying most probable hidden states are required. May be a sequence of observations, or a matrix each column of which constitutes a (replicate) sequence of observations.
object
An object describing a fitted hidden Markov model, as returned by hmm(). In order to make any kind of sense, object should bear some reasonable relationship to y.
tpm
The transition probability matrix for a hidden Markov model; ignored if object is non-null. Should bear some reasonable relationship to y.
Rho
A matrix specifying the probability distributions of the observations for a hidden Markov model; ignored if object is non-null. Should bear some reasonable relationship to y.
ispd
The initial state probability distribution for a hidden Markov model; ignored if object is non-null. Should bear some reasonable relationship to y.
yval
The set of unique values of the observations; calculated from the observations y if left NULL.

Value

  • If y is a single observation sequence, then the value is a vector of corresponding most probable states.

    If y is a matrix of replicate sequences, then the value is a matrix, the $j$-th column of which constitutes the vector of most probable states underlying the $j$-th replicate sequence.

Warning

The sequence of most probable states as calculated by this function will not in general be the most probable sequence of states. It may not even be a possible sequence of states. This function looks at the state probabilities separately for each time $t$, and not at the states in their sequential context.

To obtain the most probable sequence of states use viterbi().

Details

For each $t$ the maximum value of $\gamma_t(i)$, i.e. of the (estimated) probability that the state at time $t$ is equal to $i$, is calculated, and the corresponding index returned. These indices are interpreted as the values of the (most probable) states. I.e. the states are assumed to be 1, 2, ..., $K$, for some $K$.

References

Rabiner, L. R., "A tutorial on hidden Markov models and selected applications in speech recognition," Proc. IEEE vol. 77, pp. 257 -- 286, 1989.

See Also

hmm(), sim.hmm(), viterbi()

Examples

Run this code
# See the help for sim.hmm() for how to generate y.sim.
try <- hmm(y.sim,K=2,verb=TRUE)
sss.1 <- mps(y.sim,try)
sss.2 <- mps(y.sim,tpm=P,ispd=c(0.25,0.75),Rho=R) # P and R as in the help
                                                  # for sim.hmm().
# The order of the states has gotten swapped; 3-sss.1[,1] is much
# more similar to sss.2[,1] than is sss.1[,1].

Run the code above in your browser using DataLab