bsmc: The Liu and West Bayesian particle filter

Description Usage Arguments Details Value Author(s) References See Also

Description

Modified versions of the Liu and West (2001) algorithm.

Usage

 1
 2
 3
 4
 5
 6
 7
 8
 9
10
## S4 method for signature 'pomp'
bsmc2(object, params, Np, est, smooth = 0.1,
     tol = 1e-17, seed = NULL,
     verbose = getOption("verbose"), max.fail = 0,
     transform = FALSE, ...)
## S4 method for signature 'pomp'
bsmc(object, params, Np, est, smooth = 0.1,
     ntries = 1, tol = 1e-17, lower = -Inf, upper = Inf, seed = NULL,
     verbose = getOption("verbose"), max.fail = 0,
     transform = FALSE, ...)

Arguments

object

An object of class pomp or inheriting class pomp.

params, Np

Specifications for the prior distribution of particles. See details below.

est

Names of the rows of params that are to be estimated. No updates will be made to the other parameters. If est is not specified, all parameters for which there is variation in params will be estimated.

smooth

Kernel density smoothing parameters. The compensating shrinkage factor will be sqrt(1-smooth^2). Thus, smooth=0 means that no noise will be added to parameters. Generally, the value of smooth should be chosen close to 0 (i.e., shrink~0.1).

ntries

Number of draws from rprocess per particle used to estimate the expected value of the state process at time t+1 given the state and parameters at time t.

tol

Particles with log likelihood below tol are considered to be “lost”. A filtering failure occurs when, at some time point, all particles are lost. When all particles are lost, the conditional log likelihood at that time point is set to be log(tol).

lower, upper

optional; lower and upper bounds on the priors. This is useful in case there are box constraints satisfied by the priors. The posterior is guaranteed to lie within these bounds.

seed

optional; an object specifying if and how the random number generator should be initialized (‘seeded’). If seed is an integer, it is passed to set.seed prior to any simulation and is returned as the “seed” element of the return list. By default, the state of the random number generator is not changed and the value of .Random.seed on the call is stored in the “seed” element of the return list.

verbose

logical; if TRUE, print diagnostic messages.

max.fail

The maximum number of filtering failures allowed. If the number of filtering failures exceeds this number, execution will terminate with an error.

transform

logical; if TRUE, the algorithm operates on the transformed scale.

...

currently ignored.

Details

There are two ways to specify the prior distribution of particles. If params is unspecified or is a named vector, Np draws are made from the prior distribution, as specified by rprior. Alternatively, params can be specified as an npars x Np matrix (with rownames).

bsmc uses version of the original algorithm that includes a plug-and-play auxiliary particle filter. bsmc2 discards this auxiliary particle filter and appears to give superior performance for the same amount of effort.

Value

An object of class “bsmcd.pomp”. The “params” slot of this object will hold the parameter posterior medians. The slots of this class include:

post

A matrix containing draws from the approximate posterior distribution.

prior

A matrix containing draws from the prior distribution (identical to params on call).

eff.sample.size

A vector containing the effective number of particles at each time point.

smooth

The smoothing parameter used (see above).

seed

The state of the random number generator at the time bsmc was called. If the argument seed was specified, this is a copy; if not, this is the internal state of the random number generator at the time of call.

nfail

The number of filtering failures encountered.

cond.log.evidence

A vector containing the conditional log evidence scores at each time point.

log.evidence

The estimated log evidence.

weights

The resampling weights for each particle.

Author(s)

Michael Lavine (lavine at math dot umass dot edu), Matthew Ferrari (mferrari at psu dot edu), Aaron A. King (kingaa at umich dot edu), Edward L. Ionides (ionides at umich dot edu)

References

Liu, J. and M. West. Combining Parameter and State Estimation in Simulation-Based Filtering. In A. Doucet, N. de Freitas, and N. J. Gordon, editors, Sequential Monte Carlo Methods in Practice, pages 197-224. Springer, New York, 2001.

See Also

pomp, pfilter


pomp documentation built on May 2, 2019, 4:09 p.m.

Related to bsmc in pomp...