probe {pomp} | R Documentation

## Probes (AKA summary statistics)

### Description

Probe a partially-observed Markov process by computing summary statistics and the synthetic likelihood.

### Usage

    ## S4 method for signature 'data.frame'
    probe(data, probes, nsim, seed = NULL, params,
      rinit, rprocess, rmeasure, ..., verbose = getOption("verbose", FALSE))

    ## S4 method for signature 'pomp'
    probe(data, probes, nsim, seed = NULL, ...,
      verbose = getOption("verbose", FALSE))

    ## S4 method for signature 'probed_pomp'
    probe(data, probes, nsim, seed = NULL, ...,
      verbose = getOption("verbose", FALSE))

    ## S4 method for signature 'probe_match_objfun'
    probe(data, seed, ...,
      verbose = getOption("verbose", FALSE))

    ## S4 method for signature 'objfun'
    probe(data, seed = NULL, ...)

### Arguments

`data` | either a data frame holding the time series data, or an object of class ‘pomp’, i.e., the output of another pomp calculation.
`probes` | a single probe or a list of one or more probes. A probe is simply a scalar- or vector-valued function of one argument that can be applied to the data array of a ‘pomp’. A vector-valued probe must always return a vector of the same size. A number of useful probes are provided with the package: see basic probes.
`nsim` | the number of model simulations to be computed.
`seed` | optional integer; if non-`NULL`, the random number generator will be initialized with this seed for simulations. See `simulate`.
`params` | optional; named numeric vector of parameters. This will be coerced internally to storage mode `double`.
`rinit` | simulator of the initial-state distribution. This can be furnished either as a C snippet, an R function, or the name of a pre-compiled native routine available in a dynamically loaded library. Setting `rinit=NULL` sets the initial-state simulator to its default. For more information, see ?rinit_spec.
`rprocess` | simulator of the latent state process, specified using one of the rprocess plugins. Setting `rprocess=NULL` removes the latent-state simulator. For more information, see ?rprocess_spec for the documentation on these plugins.
`rmeasure` | simulator of the measurement model, specified either as a C snippet, an R function, or the name of a pre-compiled native routine available in a dynamically loaded library. Setting `rmeasure=NULL` removes the measurement model simulator. For more information, see ?rmeasure_spec.

`...`

additional arguments supply new or modify existing model characteristics or components. See `pomp` for a full list of recognized arguments.

When named arguments not recognized by `pomp` are provided, these are made available to all basic components via the so-called userdata facility. This allows the user to pass information to the basic components outside of the usual routes of covariates (`covar`) and model parameters (`params`). See ?userdata for information on how to use this facility.

`verbose` | logical; if `TRUE`, diagnostic messages will be printed to the console.

### Details

`probe` applies one or more “probes” to time series data and model simulations and compares the results. It can be used to diagnose goodness of fit and/or as the basis for “probe-matching”, a generalized method-of-moments approach to parameter estimation.

A call to `probe` results in the evaluation of the probe(s) in `probes` on the data. Additionally, `nsim` simulated data sets are generated (via a call to `simulate`) and the probe(s) are applied to each of these. The results of the probe computations on real and simulated data are stored in an object of class ‘probed_pomp’.

When `probe` operates on a probe-matching objective function (a ‘probe_match_objfun’ object), by default, the random-number generator seed is fixed at the value given when the objective function was constructed. Specifying `NULL` or an integer for `seed` overrides this behavior.

### Value

`probe` returns an object of class ‘probed_pomp’, which contains the data and the model, together with the results of the `probe` calculation.

### Methods

The following methods are available.

plot

  displays diagnostic plots.

summary

  displays summary information. The summary includes quantiles (fractions of simulations with probe values less than those realized on the data) and the corresponding two-sided p-values. In addition, the “synthetic likelihood” (Wood 2010) is computed, under the assumption that the probe values are multivariate-normally distributed.

logLik

  returns the synthetic likelihood for the probes. NB: in general, this is not the same as the likelihood.

as.data.frame

  coerces a ‘probed_pomp’ to a ‘data.frame’. The latter contains the realized values of the probes on the data and on the simulations. The variable `.id` indicates whether the probes are from the data or simulations.

### Author(s)

Daniel C. Reuman, Aaron A. King

### References

B. E. Kendall, C. J. Briggs, W. M. Murdoch, P. Turchin, S. P. Ellner, E. McCauley, R. M. Nisbet, S. N. Wood Why do populations cycle? A synthesis of statistical and mechanistic modeling approaches, Ecology, 80:1789–1805, 1999.

S. N. Wood Statistical inference for noisy nonlinear ecological dynamic systems, Nature, 466: 1102–1104, 2010.

### See Also

Other elementary POMP methods: `pfilter`, `pomp-package`, `simulate`, `spect`

Other summary statistics methods: `abc`, `basic_probes`, `probe.match`, `spect`

[Package pomp version 2.3 Index]