Learn R Programming

pomp (version 0.38-2)

pomp: Partially-observed Markov process object.

Description

Create a new pomp object to hold a partially-observed Markov process model together with a uni- or multi-variate time series.

Usage

## S3 method for class 'data.frame':
pomp(data, times, t0, \dots, rprocess, dprocess, rmeasure, dmeasure,
       measurement.model, skeleton = NULL, skeleton.type = c("map","vectorfield"),
       skeleton.map = NULL, skeleton.vectorfield = NULL,
       initializer, covar, tcovar,
       obsnames, statenames, paramnames, covarnames,
       PACKAGE)
## S3 method for class 'numeric':
pomp(data, times, t0, \dots, rprocess, dprocess, rmeasure, dmeasure,
       measurement.model, skeleton = NULL, skeleton.type = c("map","vectorfield"),
       skeleton.map = NULL, skeleton.vectorfield = NULL,
       initializer, covar, tcovar,
       obsnames, statenames, paramnames, covarnames,
       PACKAGE)
## S3 method for class 'matrix':
pomp(data, times, t0, \dots, rprocess, dprocess, rmeasure, dmeasure,
       measurement.model, skeleton = NULL, skeleton.type = c("map","vectorfield"),
       skeleton.map = NULL, skeleton.vectorfield = NULL,
       initializer, covar, tcovar,
       obsnames, statenames, paramnames, covarnames,
       PACKAGE)
## S3 method for class 'pomp':
pomp(data, times, t0, \dots, rprocess, dprocess, rmeasure, dmeasure,
       measurement.model, skeleton, skeleton.type,
       initializer, covar, tcovar,
       obsnames, statenames, paramnames, covarnames,
       PACKAGE)

Arguments

data, times
The time series data and times at which observations are made. data can be specified as a vector, a matrix, a data-frame, or a pomp object.. If data is a numeric vector, times must be a numeric v
t0
The zero-time. This must be no later than the time of the first observation, times[1]. The stochastic dynamical system is initialized at time t0.
rprocess
optional function; a function of prototype rprocess(xstart,times,params,...) that simulates from the unobserved process. The easiest way to specify rprocess is to use one of the plugins

Value

Warning

Some error checking is done, but complete error checking is impossible. If the user-specified functions do not conform to the above specifications (see Details), then the results may be invalid. Each algorithm that uses a pomp object uses some subset of the five basic components (rprocess, dprocess, rmeasure, dmeasure, skeleton).

Details

It is not typically necessary (or desirable, or even feasible) to define all of the functions rprocess, dprocess, rmeasure, dmeasure, and skeleton in any given problem. Each algorithm makes use of a different subset of these functions. In general, the specification of process-model codes rprocess and/or dprocess can be somewhat nontrivial: for this reason, plugins have been developed to streamline this process for the user. Currently, if one's process model evolves in discrete time or one is willing to make such an approximation (e.g., via an Euler approximation), then the euler.sim or onestep.sim plugin for rprocess and onestep.dens plugin for dprocess are available. For exact simulation of certain continuous-time Markov chains, an implementation of Gillespie's algorithm is available (see gillespie.sim). To use the plugins, consult the help documentation (?plugins) and the vignettes.

It is anticipated that in specific cases, it may be possible to obtain increased computational efficiency by writing custom versions of rprocess and/or dprocess. The following describes how each of these functions should be written in this case. [object Object],[object Object],[object Object],[object Object],[object Object],[object Object]

See Also

pomp-methods, plugins, time, time<-, timezero, timezero<-, coef, coef<-, obs, states, window, as.data.frame.pomp

Examples

Run this code
## For examples, see the vignettes.

Run the code above in your browser using DataLab