Methods to simulate from (dep-)mix models

Share:

Description

Random draws from (dep-)mix objects.

Usage

 1
 2
 3
 4
 5
 6
 7
 8
 9
10
11
12
13
14
  ## S4 method for signature 'depmix'
simulate(object, nsim=1, seed=NULL, ...)
  
  ## S4 method for signature 'mix'
simulate(object, nsim=1, seed=NULL, ...)

  ## S4 method for signature 'response'
simulate(object, nsim=1, seed=NULL, times, ...)
  
  ## S4 method for signature 'GLMresponse'
simulate(object, nsim=1, seed=NULL, times, ...)
  
  ## S4 method for signature 'transInit'
simulate(object, nsim=1, seed=NULL, times, is.prior=FALSE, ...)

Arguments

object

Object to generate random draws. An object of class mix, depmix, response or transInit

nsim

The number of draws (one draw simulates a data set of the size that is defined by ntimes); defaults to 1.

seed

Set the seed.

times

(optional) An indicator vector indicating for which times in the complete series to generate the data. For internal use.

is.prior

For transInit objects, indicates whether it is a prior (init) model, or not (i.e., it is a transition model)

...

Not used currently.

Details

For a depmix model, simulate generates nsim random state sequences, each of the same length as the observation sequence in the depmix model (i.e., sum(ntimes(object)). The state sequences are then used to generate nsim observation sequences of thee same length.

For a mix model, simulate generates nsim random class assignments for each case. Those assigments are then used to generate observation/response values from the appropriate distributions.

Setting the times option selects the time points in the total state/observation sequence (i.e., counting is continued over ntimes). Direct calls of simulate with the times option are not recommended.

Value

For a depmix object, a new object of class depmix.sim.

For a transInit object, a state sequence.

For a response object, an observation sequence.

Author(s)

Maarten Speekenbrink

Examples

1
2
3
4
5
6
7
8
9
y <- rnorm(1000)
respst <- c(0,1,2,1)
trst <- c(0.9,0.1,0.1,0.9)

df <- data.frame(y=y)

mod <- depmix(y~1,data=df,respst=respst,trst=trst,inst=c(0.5,0.5),nti=1000,nst=2)

mod <- simulate(mod)