Power spectrum computation and spectrummatching for partiallyobserved Markov processes
Description
spect
estimates the power spectrum of 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 frequencydomain parameter estimation (spect.match
).
spect.match
tries to match the power spectrum of the model to that of the data.
It calls an optimizer to adjust model parameters to minimize the discrepancy between simulated and actual data.
Usage
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15  ## S4 method for signature 'pomp'
spect(object, params, vars, kernel.width, nsim, seed = NULL,
transform = identity,
detrend = c("none","mean","linear","quadratic"),
...)
## S4 method for signature 'spect.pomp'
spect(object, params, vars, kernel.width, nsim, seed = NULL, transform,
detrend, ...)
spect.match(object, start, est = character(0),
vars, nsim, seed = NULL,
kernel.width, transform = identity,
detrend = c("none","mean","linear","quadratic"),
weights, method = c("subplex","NelderMead","SANN"),
verbose = getOption("verbose"),
eval.only = FALSE, fail.value = NA, ...)

Arguments
object 
An object of class 
params 
optional named numeric vector of model parameters.
By default, 
vars 
optional; names of observed variables for which the power spectrum will be computed.
This must be a subset of 
kernel.width 
width parameter for the smoothing kernel used for calculating the estimate of the spectrum. 
nsim 
number of model simulations to be computed. 
seed 
optional; if non 
transform 
function; this transformation will be applied to the observables prior to estimation of the spectrum, and prior to any detrending. 
detrend 
detrending operation to perform. Options include no detrending, and subtraction of constant, linear, and quadratic trends from the data. Detrending is applied to each data series and to each model simulation independently. 
weights 
optional.
The mismatch between model and data is measured by a weighted average of mismatch at each frequency.
By default, all frequencies are weighted equally.

start 
named numeric vector; the initial guess of parameters. 
est 
character vector; the names of parameters to be estimated. 
method 
Optimization method.
Choices are 
verbose 
logical; print diagnostic messages? 
eval.only 
logical; if 
fail.value 
optional scalar; if non 
... 
Additional arguments.
In the case of 
Details
A call to spect
results in the estimation of the power spectrum for the (transformed, detrended) data and nsim
model simulations.
The results of these computations are stored in an object of class spect.pomp
.
A call to spect.match
results in an attempt to optimize the agreement between model and data spectrum over the parameters named in est
.
The results, including coefficients of the fitted model and power spectra of fitted model and data, are stored in an object of class spect.matched.pomp
.
Value
spect
returns an object of class spect.pomp
, which is derived from class pomp
and therefore has all the slots of that class.
In addition, spect.pomp
objects have the following slots:
 kernel.width
width parameter of the smoothing kernel used.
 transform
transformation function used.
 freq
numeric vector of the frequencies at which the power spectrum is estimated.
 datspec, simspec
estimated power spectra for data and simulations, respectively.
 pvals

onesided pvalues: fraction of the simulated spectra that differ more from the mean simulated spectrum than does the data. The metric used is L2 distance.
 detrend
detrending option used.
spect.match
returns an object of class spect.matched.pomp
, which is derived from class spect.pomp
and therefore has all the slots of that class.
In addition, spect.matched.pomp
objects have the following slots:
 est, weights, fail.value
values of the corresponding arguments in the call to
spect.match
. evals

number of function and gradient evaluations by the optimizer. See
optim
.  value
Value of the objective function.
 convergence, msg

Convergence code and message from the optimizer. See
optim
.
Author(s)
Daniel C. Reuman, Cai GoGwilt, Aaron A. King
References
D.C. Reuman, R.A. Desharnais, R.F. Costantino, O. Ahmad, J.E. Cohen (2006) Power spectra reveal the influence of stochasticity on nonlinear population dynamics. Proceedings of the National Academy of Sciences 103, 1886018865.
D.C. Reuman, R.F. Costantino, R.A. Desharnais, J.E. Cohen (2008) Color of environmental noise affects the nonlinear dynamics of cycling, stagestructured populations. Ecology Letters, 11, 820830.
See Also
pomp, probe
Examples
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22  pompExample(ou2)
good < spect(
ou2,
vars=c("y1","y2"),
kernel.width=3,
detrend="mean",
nsim=500
)
summary(good)
plot(good)
ou2.bad < ou2
coef(ou2.bad,c("x1.0","x2.0","alpha.1","alpha.4")) < c(0,0,0.1,0.2)
bad < spect(
ou2.bad,
vars=c("y1","y2"),
kernel.width=3,
detrend="mean",
nsim=500
)
summary(bad)
plot(bad)
