Description Data analysis using pomp Developing inference tools on the pomp platform Comments, bug reports, feature requests Documentation History License Author(s) References See Also
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 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.
The first step in using pomp is to encode one's model(s) and data in objects of class pomp
.
One does this via a call to pomp
, which involves specifying the unobserved state process and the measurement process of the model.
Details on this are given in the documentation for the pomp
constructor function.
Examples are given in the tutorials on the package website, in the demos (demo(package='pomp')
), and via the pompExample
function.
pomp version \Sexpr[echo=F,stage=install,results=text]{packageDescription("pomp",fields="Version")} provides algorithms for
simulation of stochastic dynamical systems; see simulate
particle filtering (AKA sequential Monte Carlo or sequential importance sampling); see pfilter
the iterated filtering methods of Ionides et al. (2006, 2011, 2015);
see mif
and 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
a spectral probe-matching method (Reuman et al. 2006, 2008); see spect.match
synthetic likelihood a la Wood (2010); see probe
approximate Bayesian computation (Toni et al. 2009); see abc
the approximate Bayesian sequential Monte Carlo scheme of Liu & West (2001); see bsmc
simple trajectory matching; see traj.match
.
The package also provides various tools for plotting and extracting information on models and data.
pomp provides a very general interface to the components of POMP models. All the inference algorithms in pomp interact with the models and data via this interface. One goal of the pomp project has been to facilitate the development of new algorithms in an environment where they can be tested and compared on a growing body of models and datasets.
The low-level interface relevant to developers is documented here.
Contributions are welcome, as are comments, feature requests, and bug reports. See the package website http://pomp.r-forge.r-project.org for more information, access to the package mailing list, links to the authors' websites, references to the literature, and up-to-date versions of the package source and documentation.
A number of tutorials, demonstrating the construction of pomp
objects and the application of various inference algorithms, are available on the package homepage: http://pomp.r-forge.r-project.org.
Several examples of the construction of pomp
objects are provided with the package and are documented in the help pages: to view a full list of these, execute pompExample()
.
In addition, there are a number of demos, which can be viewed by executing demo(package="pomp")
.
Much of the groundwork for pomp was laid by a working group of the National Center for Ecological Analysis and Synthesis (NCEAS), “Inference for Mechanistic Models”.
pomp is provided under the GNU Public License (GPL).
Aaron A. King kingaa at umich dot edu
See the package website, http://pomp.r-forge.r-project.org, for the references.
pomp
,
pomp low-level interface,
pfilter
,
simulate
,
mif
,
nlf
,
probe
,
traj.match
,
bsmc2
,
pmcmc
Add the following code to your website.
For more information on customizing the embed code, read Embedding Snippets.