viterbi {hmm.discnp}R Documentation

Most probable state sequence.

Description

Calculates ``the'' most probable state sequence underlying each of one or more replicate observation sequences.

Usage

viterbi(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 hidden Markov model, as fitted to the data set y by hmm().
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.

Details

Applies the Viterbi algorithm to calculate ``the'' most probable robable state sequence underlying each observation sequences.

Value

If y consists of a single observation sequence, the value is the underlying most probable observation sequence, or a matrix whose columns consist of such sequences if there is more than one (equally) most probable sequence.
If y consists of a matrix of observation sequences, the value is a list each entry of which is of the form described above.

Warning

There may be more than one equally most probable state sequence underlying a given observation sequence. This phenomenon appears to be unlikely to occur in practice.

Author(s)

Rolf Turner r.turner@auckland.ac.nz http://www.math.unb.ca/~rolf

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(), mps()

Examples

# See the help for sim.hmm() for how to generate y.sim.
## Not run: 
try <- hmm(y.sim,K=2,verb=TRUE)
vvv.1 <- viterbi(y.sim,try)
vvv.2 <- viterbi(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-vvv.1[[1]] is much
# more similar to vvv.2[[1]] than is vvv.1[[1]].

## End(Not run)

[Package hmm.discnp version 0.0-9 Index]