Learn R Programming

pomp (version 0.21-3)

simulate-pomp: Running simulations of a partially-observed Markov process

Description

simulate can be used to generate simulated data sets and/or to simulate the state process.

Usage

## S3 method for class 'pomp':
simulate(object, nsim = 1, seed = NULL, params,
         states = FALSE, obs = FALSE, times = time(object,t0=TRUE),
         ...)

Arguments

object
An object of class pomp.
nsim
The number of simulations to perform. Note that the number of replicates will be nsim times ncol(xstart).
seed
The random seed to use.
params
The parameters to use in simulating the model. If params is not given, then the contents of the params slot of object will be used, if they exist.
states
Do we want the state trajectories?
obs
Do we want data-frames of the simulated observations?
times
The times for which observations are required. Note that the first element in times is the start time.
...
further arguments that are at present ignored.

Value

  • If states=FALSE and obs=FALSE (the default), a list of nsim pomp objects is returned. Each has a simulated data set, together with the parameters used (in slot params) and the state trajectories also (in slot states). If times is specified, then the t0 slot of the created `pomp' objects will be filled with times[1] and the simulated observations will be at times times[-1].

    If states=TRUE and obs=FALSE, simulated state trajectories are returned as a rank-3 array with dimensions nvar x (ncol(params)*nsim) x ntimes. Here, nvar is the number of state variables and ntimes the length of the argument times. The measurement process is not simulated in this case.

    If states=FALSE and obs=TRUE, simulated observations are returned as a rank-3 array with dimensions nobs x (ncol(params)*nsim) x ntimes. Here, nobs is the number of observables.

    If both states=TRUE and obs=TRUE, then a named list is returned. It contains the state trajectories and simulated observations as above.

Details

Simulation of the state process and of the measurement process are each accomplished by a single call to the user-supplied rprocess and rmeasure functions, respectively. This makes it possible for the user to write highly optimized code for these potentially expensive computations.

See Also

pomp-class