Compute the forward and backward variables of a depmix object.
## S4 method for signature 'mix'forwardbackward(object, return.all=TRUE, useC=TRUE,...)
Arguments
object: A depmix object.
return.all: If FALSE, only gamma and xi and the log likelihood are returned (which are the only variables needed in using EM).
useC: 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.
Returns
forwardbackward returns a list of the following (the variables are named after the notation from Rabiner, 1989):
alpha: The forward variables.
beta: The backward variables.
gamma: The smoothed state probabilities.
xi: The smoothed transition probabilities.
sca: The scale factors (called lambda in Rabiner, 1989).
logLike: The log likelihood (computed as -sum(log(sca)).
If return.all=FALSE, only gamma, xi and the log likelihood are returned.
References
Lawrence R. Rabiner (1989). A tutorial on hidden Markov models and selected applications in speech recognition. Proceedings of IEEE, 77-2, p. 267-295.
Author(s)
Maarten Speekenbrink & Ingmar Visser
Examples
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 seriesmod1 <- 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)