Learn R Programming

mhsmm (version 0.4.21)

mstep.mvnorm: Performs re-estimation (the M-step) for a multivariate normal emission distribution

Description

Re-estimates the parameters of a multivariate normal emission distribution as part of the EM algorithm for HMMs and HSMMs. This is called by the hmm and hsmm functions. It is a suitable prototype function for users wishing to design their own emission distributions.

Usage

mstep.mvnorm(x, wt)

Value

Returns the emission slot of a hmmspec or hsmmspec object

mu

A list of length J contain the mean vectors

sigma

A list of length J containing the covariance matrices

Arguments

x

A vector of observed values

wt

A T x J matrix of weights. Column entries are the weights for respective states.

Author

Jared O'Connell jaredoconnell@gmail.com

Details

Users may write functions that take the same arguments and return the same values for their own custom emission distributions.

See Also

dmvnorm.hsmm, rmvnorm.hsmm

Examples

Run this code
  J<-2
  initial <- rep(1/J,J)
  P <- matrix(c(.3,.5,.7,.5),nrow=J)
  b <- list(mu=list(c(-3,0),c(1,2)),sigma=list(diag(2),matrix(c(4,2,2,3), ncol=2)))
  model <- hmmspec(init=initial, trans=P, parms.emission=b,dens.emission=dmvnorm.hsmm)
  model
  train <- simulate(model, nsim=300, seed=1234, rand.emis=rmvnorm.hsmm)
  plot(train,xlim=c(0,100))
  h1 = hmmfit(train,model,mstep=mstep.mvnorm)

Run the code above in your browser using DataLab