skeleton_spec {pomp} | R Documentation

## The deterministic skeleton of a model

### Description

Specification of skeleton.

### Usage

    vectorfield(f)

    map(f, delta.t = 1)

### Arguments

`f` | procedure for evaluating the deterministic skeleton This can be a C snippet, an R function, or the name of a native routine in a dynamically linked library.
`delta.t` | positive numerical value; the size of the discrete time step corresponding to an application of the map

### Details

The skeleton is a dynamical system that expresses the central tendency of the unobserved Markov state process. As such, it is not uniquely defined, but can be both interesting in itself and useful in practice. In pomp, the skeleton is used by `trajectory` and `traj.match`. If the state process is a discrete-time stochastic process, then the skeleton is a discrete-time map. To specify it, provide

      skeleton = map(f, delta.t)

to `pomp`, where `f` implements the map and `delta.t` is the size of the timestep covered at one map iteration. If the state process is a continuous-time stochastic process, then the skeleton is a vectorfield (i.e., a system of ordinary differential equations). To specify it, supply

      skeleton = vectorfield(f)

to `pomp`, where `f` implements the vectorfield, i.e., the right-hand-size of the differential equations. In either case, `f` can be furnished either as a C snippet (the preferred choice), or an R function. In writing a `skeleton` C snippet, be aware that:

1. For each state variable, there is a corresponding component of the deterministic skeleton. The goal of such a snippet is to compute all the components.

2. When the skeleton is a map, the component corresponding to state variable `x` is named `Dx` and is the new value of `x` after one iteration of the map.

3. When the skeleton is a vectorfield, the component corresponding to state variable `x` is named `Dx` and is the value of dx/dt.

4. As with the other C snippets, all states, parameters and covariates, as well as the current time, `t`, will be defined in the context within which the snippet is executed.

The tutorials on the package website give some examples. If `f` is an R function, its arguments should be taken from among the state variables, parameters, covariates, and time. It must also take the argument ‘`...`’. As with the other basic components, `f` may take additional arguments, provided these are passed along with it in the call to `pomp`. The function `f` must return a numeric vector of the same length as the number of state variables, which contains the value of the map or vectorfield at the required point and time.

### Default behavior

The default `skeleton` is undefined. It will yield missing values (`NA`) for all state variables.

### See Also

Other information on model implementation: `Csnippet`, `accumulators`, `covariate_table`, `distributions`, `dmeasure_spec`, `dprocess_spec`, `parameter_trans`, `pomp-package`, `prior_spec`, `rinit_spec`, `rmeasure_spec`, `rprocess_spec`, `transformations`, `userdata`

[Package pomp version 2.3 Index]