girf: Guided intermediate resampling filter (GIRF)

Description Usage Arguments Value Methods References See Also Examples

Description

An implementation of the algorithm of Park and Ionides (2020), following the pseudocode in Asfaw et al. (2020).

Usage

 1
 2
 3
 4
 5
 6
 7
 8
 9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
## 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.

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.

References

\park

2020

\asfaw

2020

See Also

Other particle filter methods: abfir(), abf(), bpfilter(), enkf(), ienkf(), igirf(), iubf()

Examples

 1
 2
 3
 4
 5
 6
 7
 8
 9
10
11
12
13
14
15
16
# Create a simulation of a Brownian motion
b <- bm(U=3, N=10)

# Run GIRF
girfd_bm <- girf(b,
                 Np = 100,
                 Ninter = length(unit_names(b)),
                 lookahead = 1,
                 Nguide = 50
)
# Get the likelihood estimate from GIRF
logLik(girfd_bm)

# Compare with the likelihood estimate from particle filter
pfd_bm <- pfilter(b, Np = 500)
logLik(pfd_bm)

spatPomp documentation built on Sept. 5, 2021, 5:35 p.m.