girf {spatPomp} | R Documentation |
Guided intermediate resampling filter (GIRF)
Description
An implementation of the algorithm of Park and Ionides (2020), following the pseudocode in Asfaw et al. (2020).
Usage
## S4 method for signature 'missing'
girf(object, ...)
## S4 method for signature 'ANY'
girf(object, ...)
## S4 method for signature 'spatPomp'
girf(
object,
Np,
Ninter,
lookahead = 1,
Nguide,
kind = c("bootstrap", "moment"),
tol,
...,
verbose = getOption("verbose", FALSE)
)
## S4 method for signature 'girfd_spatPomp'
girf(
object,
Np,
Ninter,
lookahead,
Nguide,
kind = c("bootstrap", "moment"),
tol,
...
)
Arguments
object |
A |
... |
Additional arguments can be used to replace model components. |
Np |
The number of particles used within each replicate for the adapted simulations. |
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, girf()
returns an object of class
‘girfd_spatPomp’ which contains the algorithmic parameters that were used to
run girf()
and the resulting log likelihood estimate.
Methods
The following methods are available for such an object:
logLik
yields an unbiased estimate of the log-likelihood of the data under the model.
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 maximization algorithms: ienkf()
, igirf()
, iubf()
, ibpf()
Other likelihood evaluation algorithms:
abf()
,
abfir()
,
bpfilter()
,
enkf()
Examples
# Complete examples are provided in the package tests
## Not run:
#
# Create a simulation of a Brownian motion
b <- bm(U=2, N=5)
# Run GIRF
girfd_bm <- girf(b,
Np = 10,
Ninter = length(unit_names(b)),
lookahead = 1,
Nguide = 10
)
# Get the likelihood estimate from GIRF
logLik(girfd_bm)
# Compare with the likelihood estimate from particle filter
pfd_bm <- pfilter(b, Np = 10)
logLik(pfd_bm)
## End(Not run)