Learn R Programming

pomp (version 0.39-3)

nlf: Fit Model to Data Using Nonlinear Forecasting (NLF)

Description

Calls an optimizer to maximize the nonlinear forecasting (NLF) goodness of fit, by simulating data from a model, fitting a nonlinear autoregressive model to the simulated time series (which may be multivariate) and using the fitted model to predict some or all variables in the data time series. NLF is an indirect inference method using a quasi-likelihood as the objective function.

Usage

nlf(object, start, est, lags, period = NA, tensor = FALSE,
     nconverge=1000, nasymp=1000, seed = 1066,
     transform = function (x) x,
     nrbf = 4, method = "subplex", skip.se = FALSE,
     verbose = FALSE, gr = NULL,
     bootstrap=FALSE, bootsamp = NULL,
     lql.frac = 0.1, se.par.frac = 0.1, eval.only = FALSE, ...)

Arguments

object
A pomp object, with the data and model to fit to it.
start
Named numeric vector with guessed parameters.
est
Vector containing the names or indices of parameters to be estimated.
lags
A vector specifying the lags to use when constructing the nonlinear autoregressive prediction model. The first lag is the prediction interval.
period
numeric; period=NA means the model is nonseasonal. period>0 is the period of seasonal forcing in 'real time'.
tensor
logical; if FALSE, the fitted model is a generalized additive model with time mod period as one of the predictors, i.e., a gam with time-varying intercept. If TRUE, the fitted model is a gam with lagged state variables as predictors and time-period
nconverge
Number of convergence timesteps to be discarded from the model simulation.
nasymp
Number of asymptotic timesteps to be recorded from the model simulation.
seed
Integer specifying the random number seed to use. When fitting, it is usually best to always run the simulations with the same sequence of random numbers, which is accomplished by setting seed to an integer. If you want a truly random
transform
optional function. If specified, forecasting is performed using data and model simulations transformed by this function. By default, transform is the identity function. The main purpose of transform is to achieve appr
nrbf
A scalar specifying the number of radial basis functions to be used at each lag.
method
Optimization method. Choices are subplex and any of the methods used by optim.
skip.se
Logical; if TRUE, skip the computation of standard errors.
verbose
Logical; if TRUE, the negative log quasilikelihood and parameter values are printed at each iteration of the optimizer.
gr
optional; passed to optim if optim is used.
bootstrap
Logical; if TRUE the indices in bootsamp will determine which of the conditional likelihood values be used in computing the quasi-loglikelihood.
bootsamp
Vector of integers; used to have the quasi-loglikelihood evaluated using a bootstrap re-sampling of the data set.
lql.frac
target fractional change in log quasi-likelihood for quadratic standard error estimate
se.par.frac
initial parameter-change fraction for quadratic standard error estimate
eval.only
logical; if TRUE, no optimization is attempted and the quasi-loglikelihood value is evaluated at the start parameters.
...
Arguments that will be passed to optim or subplex in the control list.

Value

  • A list corresponding to the output from the optimizer, except that the full parameter vector is returned (not just the ones fitted), the log quasilikelihood (LQL) (not -LQL) is reported, xstart is included, and asymptotic Wald standard errors based on M-estimator theory are returned for each fitted parameter.

Details

This is functionally a wrapper for nlf.objfun, which does the statistical heavy lifting and should be consulted for details.

References

The following papers describe and motivate the NLF approach to model fitting:

Ellner, S. P., Bailey, B. A., Bobashev, G. V., Gallant, A. R., Grenfell, B. T. and Nychka D. W. (1998) Noise and nonlinearity in measles epidemics: combining mechanistic and statistical approaches to population modeling. American Naturalist 151, 425--440.

Kendall, B. E., Briggs, C. J., Murdoch, W. W., Turchin, P., Ellner, S. P., McCauley, E., Nisbet, R. M. and Wood S. N. (1999) Why do populations cycle? A synthesis of statistical and mechanistic modeling approaches. Ecology 80, 1789--1805. Available online at http://www2.bren.ucsb.edu/~kendall/pubs/1999Ecology.pdf

Kendall, B. E., Ellner, S. P., McCauley, E., Wood, S. N., Briggs, C. J., Murdoch, W. W. and Turchin, P. (2005) Population cycles in the pine looper moth (Bupalus piniarius): dynamical tests of mechanistic hypotheses. Ecological Monographs 75, 259--276. Available online at http://repositories.cdlib.org/postprints/818/