viterbi: Viterbi algorithm for state decoding in HMMs
Description
The Viterbi algorithm decodes the most probable state sequence of an HMM.
Usage
viterbi(delta, Gamma, allprobs, trackID = NULL, mod = NULL)
Value
vector of decoded states of length nObs
Arguments
delta
initial distribution; either
a vector of length nStates, or
a matrix of dimension c(nTracks, nStates) if trackID is provided
Gamma
transition probability matrix; either
a matrix of dimension c(nStates, nStates),
an array of dimension c(nStates, nStates, nTracks) if trackID is provided, or
an array of dimension c(nStates, nStates, nObs) for time-varying transition probabilities, in which case viterbi_g is called internally
allprobs
matrix of state-dependent probabilities or density values of dimension c(nObs, nStates)
trackID
optional vector of length nObs containing nTracks unique IDs that separate tracks
mod
optional model object containing delta, Gamma, allprobs, and
optionally trackID. When using RTMB::MakeADFun or qreml with
forward in the likelihood, these are reported automatically after model fitting
and the object returned by RTMB::report() or qreml can be passed directly.
See Also
Other decoding functions:
stateprobs(),
stateprobs_g(),
stateprobs_p(),
viterbi_g(),
viterbi_p()