RcppSMC (version 0.1.4)

pfNonlinBS: Nonlinear Bootstrap Particle Filter (Univariate Non-Linear State Space Model)

Description

The pfNonlinBS function provides a simple example for RcppSMC. It is a simple “bootstrap” particle filter which employs multinomial resampling after each iteration applied to the ubiquitous "nonlinear state space model" following Gordon, Salmond and Smith (1993).

The simNonlin function simulates data from the associated model.

Usage

pfNonlinBS(data, particles=500, plot=FALSE) simNonlin(len)

Arguments

data
A vector variable containing the sequence of observations.
particles
An integer specifying the number of particles.
plot
A boolean variable describing whether a plot should illustrate the (posterior mean) estimated path along with one and two standard deviation intervals.
len
The length of data sequence to simulate.

Value

The pfNonlinBS function returns two vectors, the first containing the posterior filtering means; the second the posterior filtering standard deviations.The simNonlin function returns a list containing the state and data sequences.

Details

The pfNonlinbs function provides a simple example for RcppSMC. It is based on a simple nonlinear state space model in which the state evolution and observation equations are: x(n) = 0.5 x(n-1) + 25 x(n-1) / (1+x(n-1)^2) + 8 cos(1.2(n-1))+ e(n) and y(n) = x(n)^2 / 20 + f(n) where e(n) and f(n) are mutually-independent normal random variables of variances 10.0 and 1.0, respectively. A boostrap proposal (i.e. sampling from the state equation) is used, together with multinomial resampling after each iteration.

The simNonlin function simulates from the same model.

References

N. J. Gordon, S. J. Salmond, and A. F. M. Smith. Novel approach to nonlinear/non-Gaussian Bayesian state estimation. IEE Proceedings-F, 140(2):107-113, April 1993.

Examples

Run this code
  sim <- simNonlin(len=50)
  res <- pfNonlinBS(sim$data,particles=500,plot=TRUE)

Run the code above in your browser using DataLab