Learn R Programming

pomp (version 0.53-5)

bsmc: Liu and West Bayesian Particle Filter

Description

Generates draws from the posterior distribution for the parameters using the Liu and West algorithm. bsmc gives draws from the posterior.

Usage

## S3 method for class '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 ch
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
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 see
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.

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:
  • postA matrix containing draws from the approximate posterior distribution.
  • priorA matrix containing draws from the prior distribution (identical to params on call).
  • eff.sample.sizeA vector containing the effective number of particles at each time point.
  • smoothThe smoothing parameter used (see above).
  • seedThe 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.
  • nfailThe number of filtering failures encountered.
  • cond.log.evidenceA vector containing the conditional log evidence scores at each time point.
  • log.evidenceThe estimated log evidence.
  • weightsThe resampling weights for each particle.

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).

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-class

Examples

Run this code
## See the "Introducton to pomp" document for examples.

Run the code above in your browser using DataLab