pomp-package {pomp} | R Documentation |

## Inference for partially observed Markov processes

### Description

The pomp package provides facilities for inference on time series data using partially-observed Markov process (POMP) models. These models are also known as state-space models, hidden Markov models, or nonlinear stochastic dynamical systems. One can use pomp to fit nonlinear, non-Gaussian dynamic models to time-series data. The package is both a set of tools for data analysis and a platform upon which statistical inference methods for POMP models can be implemented.

### Data analysis using pomp

pomp provides algorithms for:

Simulation of stochastic dynamical systems; see

`simulate`

.Particle filtering (AKA sequential Monte Carlo or sequential importance sampling); see

`pfilter`

and`wpfilter`

.The iterated filtering methods of Ionides et al. (2006, 2011, 2015); see

`mif2`

.The nonlinear forecasting algorithm of Kendall et al. (2005); see nlf.

The particle MCMC approach of Andrieu et al. (2010); see

`pmcmc`

.The probe-matching method of Kendall et al. (1999, 2005); see probe_match.

Synthetic likelihood a la Wood (2010); see

`probe`

.A spectral probe-matching method (Reuman et al. 2006, 2008); see spect_match.

Approximate Bayesian computation (Toni et al. 2009); see

`abc`

.The approximate Bayesian sequential Monte Carlo scheme of Liu & West (2001); see

`bsmc2`

.Ensemble and ensemble adjusted Kalman filters; see kalman.

Simple trajectory matching; see traj_match.

The package also provides various tools for plotting and extracting information on models and data.

### Structure of the package

pomp algorithms are arranged into several levels. At the top level, estimation algorithms estimate model parameters and return information needed for other aspects of inference. Elementary algorithms perform common operations on POMP models, including simulation, filtering, and application of diagnostic probes; these functions may be useful in inference, but they do not themselves perform estimation. At the lowest level, workhorse functions provide the interface to basic POMP model components. Beyond these, pomp provides a variety of auxiliary functions for manipulating and extracting information from ‘pomp’ objects, producing diagnostic plots, facilitating reproducible computations, and so on.

### Implementing a model

The basic structure at the heart of the package is the ‘pomp object’.
This is a container holding a time series of data (possibly multivariate) and a model.
The model is specified by specifying some or all of its basic model components.
One does this using the basic component arguments to the `pomp`

constructor.
One can also add, modify, or delete basic model components “on the fly” in any pomp function that accepts them.

### Documentation and examples

The package contains a number of examples. Some of these are included in the help pages. In addition, several pre-built POMP models are included with the package. Tutorials and other documentation, including a package FAQ, are available from the package website.

### Useful links

pomp homepage: https://kingaa.github.io/pomp/

Report bugs to: https://github.com/kingaa/pomp/issues

Frequently asked questions: https://kingaa.github.io/pomp/FAQ.html

User guides and tutorials: https://kingaa.github.io/pomp/docs.html

pomp news: https://kingaa.github.io/pomp/blog.html

### Citing pomp

Execute `citation("pomp")`

to view the correct citation for publications.

### Author(s)

Aaron A. King

### References

A. A. King, D. Nguyen, and E. L. Ionides. Statistical inference for partially observed Markov processes via the R package pomp. *Journal of Statistical Software* **69**(12), 1–43, 2016. doi:10.18637/jss.v069.i12. An updated version of this paper is available on the pomp package website.

See the package website for more references, including many publications that use pomp.

### See Also

Useful links:

More on implementing POMP models:
`Csnippet`

,
`accumvars`

,
`basic_components`

,
`betabinomial`

,
`covariates`

,
`dinit_spec`

,
`dmeasure_spec`

,
`dprocess_spec`

,
`emeasure_spec`

,
`eulermultinom`

,
`parameter_trans()`

,
`pomp_constructor`

,
`prior_spec`

,
`rinit_spec`

,
`rmeasure_spec`

,
`rprocess_spec`

,
`skeleton_spec`

,
`transformations`

,
`userdata`

,
`vmeasure_spec`

More on pomp workhorse functions:
`dinit()`

,
`dmeasure()`

,
`dprior()`

,
`dprocess()`

,
`emeasure()`

,
`flow()`

,
`partrans()`

,
`rinit()`

,
`rmeasure()`

,
`rprior()`

,
`rprocess()`

,
`skeleton()`

,
`vmeasure()`

,
`workhorses`

More on pomp estimation algorithms:
`abc()`

,
`bsmc2()`

,
`estimation_algorithms`

,
`mif2()`

,
`nlf`

,
`pmcmc()`

,
`probe_match`

,
`spect_match`

More on pomp elementary algorithms:
`elementary_algorithms`

,
`kalman`

,
`pfilter()`

,
`probe()`

,
`simulate()`

,
`spect()`

,
`trajectory()`

,
`wpfilter()`

*pomp*version 5.11.0.0 Index]