Sequential Monte Carlo Methods in the nimble R Package
arXiv:1703.06206
Abstract
nimble is an R package for constructing algorithms and conducting inference on hierarchical models. The nimble package provides a unique combination of flexible model specification and the ability to program model-generic algorithms. Specifically, the package allows users to code models in the BUGS language, and it allows users to write algorithms that can be applied to any appropriate model. In this paper, we introduce nimble's capabilities for state-space model analysis using sequential Monte Carlo (SMC) techniques. We first provide an overview of state-space models and commonly-used SMC algorithms. We then describe how to build a state-space model and conduct inference using existing SMC algorithms within nimble. SMC algorithms within nimble currently include the bootstrap filter, auxiliary particle filter, ensemble Kalman filter, IF2 method of iterated filtering, and a particle MCMC sampler. These algorithms can be run in R or compiled into C++ for more efficient execution. Examples of applying SMC algorithms to linear autoregressive models and a stochastic volatility model are provided. Finally, we give an overview of how model-generic algorithms are coded within nimble by providing code for a simple SMC algorithm. This illustrates how users can easily extend nimble's SMC methods in high-level code.
32 pages. 5 figures. To be published in Journal of Statistical Software. The nimble R package is available on CRAN at https://CRAN.R-project.org/package=nimble
References in corpus (10)
- Approximate Bayesian computation scheme for parameter inference and model selection in dynamical systems
- TMB: Automatic Differentiation and Laplace Approximation
- The pseudo-marginal approach for efficient Monte Carlo computations
- Avoidable errors in the modeling of outbreaks of emerging pathogens, with special reference to Ebola
- A Statistical Reconstruction of the Planet Population Around Kepler Solar-Type Stars
- On the efficiency of pseudo-marginal random walk Metropolis algorithms
- Dealing with Stochastic Volatility in Time Series Using the R Package stochvol
- KFAS: Exponential Family State Space Models in R
- A Brief Tutorial on the Ensemble Kalman Filter
- Biips: Software for Bayesian Inference with Interacting Particle Systems