Compute the forward and backward variables of a depmix
object.
# S4 method for mix
forwardbackward(object, return.all=TRUE, useC=TRUE, ...)
A depmix object.
If FALSE, only gamma and xi and the log likelihood are returned (which are the only variables needed in using EM).
Flag used to set whether the C-code is used to compute the forward, backward, gamma and xi variables or not; the R-code is basically obsolete (but retained for now for debugging purposes).
Not currently used.
forwardbackward
returns a list of the following (the variables
are named after the notation from Rabiner, 1989):
The forward variables.
The backward variables.
The smoothed state probabilities.
The smoothed transition probabilities.
The scale factors (called lambda in Rabiner, 1989).
The log likelihood (computed as -sum(log(sca))
.
Lawrence R. Rabiner (1989). A tutorial on hidden Markov models and selected applications in speech recognition. Proceedings of IEEE, 77-2, p. 267-295.
# NOT RUN {
data(speed)
# 2-state model on rt and corr from speed data set
# with Pacc as covariate on the transition matrix
# ntimes is used to specify the lengths of 3 separate series
mod1 <- depmix(list(rt~1,corr~1),data=speed,transition=~Pacc,nstates=2,
family=list(gaussian(),multinomial("identity")),ntimes=c(168,134,137))
fb <- forwardbackward(mod1)
all.equal(-sum(log(fb$sca)),fb$logLike)
# }
Run the code above in your browser using DataLab