igirf {spatPomp} | R Documentation |
Iterated guided intermediate resampling filter (IGIRF)
Description
An implementation of a parameter estimation algorithm combining the intermediate resampling scheme of the guided intermediate resampling filter of Park and Ionides (2020) and the parameter perturbation scheme of Ionides et al. (2015) following the pseudocode in Asfaw, et al. (2020).
Usage
## S4 method for signature 'missing'
igirf(data, ...)
## S4 method for signature 'ANY'
igirf(data, ...)
## S4 method for signature 'spatPomp'
igirf(
data,
Ngirf,
Np,
rw.sd,
cooling.type,
cooling.fraction.50,
Ninter,
lookahead = 1,
Nguide,
kind = c("bootstrap", "moment"),
tol = 1e-100,
...,
verbose = getOption("verbose", FALSE)
)
## S4 method for signature 'igirfd_spatPomp'
igirf(
data,
Ngirf,
Np,
rw.sd,
cooling.type,
cooling.fraction.50,
Ninter,
lookahead,
Nguide,
kind = c("bootstrap", "moment"),
tol,
...,
verbose = getOption("verbose", FALSE)
)
Arguments
data |
an object of class |
... |
Additional arguments can be used to replace model components. |
Ngirf |
the number of iterations of parameter-perturbed GIRF. |
Np |
The number of particles used within each replicate for the adapted simulations. |
rw.sd |
specification of the magnitude of the random-walk perturbations that will be applied to some or all model parameters.
Parameters that are to be estimated should have positive perturbations specified here.
The specification is given using the ifelse(time==time[1],s,0). Likewise, ifelse(time==time[lag],s,0). See below for some examples. The perturbations that are applied are normally distributed with the specified s.d. If parameter transformations have been supplied, then the perturbations are applied on the transformed (estimation) scale. |
cooling.type , cooling.fraction.50 |
specifications for the cooling schedule,
i.e., the manner and rate with which the intensity of the parameter perturbations is reduced with successive filtering iterations.
|
Ninter |
the number of intermediate resampling time points. By default, this is set equal to the number of units. |
lookahead |
The number of future observations included in the guide function. |
Nguide |
The number of simulations used to estimate state process uncertainty for each particle. |
kind |
One of two types of guide function construction. Defaults to |
tol |
If all of the guide function evaluations become too small (beyond floating-point precision limits), we set them to this value. |
verbose |
logical; if |
Value
Upon successful completion, igirf()
returns an object of class
‘igirfd_spatPomp’. This object contains the convergence record of the iterative algorithm with
respect to the likelihood and the parameters of the model (which can be accessed using the traces
attribute) as well as a final parameter estimate, which can be accessed using the coef()
. The
algorithmic parameters used to run igirf()
are also included.
Methods
The following methods are available for such an object:
coef
gives the Monte Carlo maximum likelihood parameter estimate.
Author(s)
Kidus Asfaw
References
Park, J. and Ionides, E. L. (2020) Inference on high-dimensional implicit dynamic models using a guided intermediate resampling filter. Statistics and Computing, doi:10.1007/s11222-020-09957-3
Asfaw, K., Park, J., Ho, A., King, A. A., and Ionides, E. L. (2020) Partially observed Markov processes with spatial structure via the R package spatPomp. ArXiv: 2101.01157. doi:10.48550/arXiv.2101.01157
See Also
likelihood evaluation algorithms: girf()
, enkf()
, bpfilter()
, abf()
, abfir()
Other likelihood maximization algorithms:
ibpf()
,
ienkf()
,
iubf()
Examples
# Complete examples are provided in the package tests
## Not run:
igirf(bm(U=2,N=4),Ngirf=2,
rw.sd = rw_sd(rho=0.02,X1_0=ivp(0.02)),
cooling.type="geometric",cooling.fraction.50=0.5,
Np=10,Ninter=2,lookahead=1,Nguide=5)
## End(Not run)