girf: Guided intermediate resampling filter (GIRF)

girfR 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 spatPomp object.

...

If a params argument is specified, abf will estimate the likelihood at that parameter set instead of at coef(object).

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 'bootstrap'. See Park and Ionides (2020) for more details.

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 TRUE, messages updating the user on progress will be printed to the console.

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

2020

\asfaw

2020

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)

kidusasfaw/spatPomp documentation built on April 22, 2024, 4:24 p.m.