Sequential Monte Carlo Methods in the nimble and nimbleSMC R Packages
Dublin Core
Title
Sequential Monte Carlo Methods in the nimble and nimbleSMC R Packages
Subject
particle filtering, sequential Monte Carlo, auxiliary particle filter, IF2 iterated
filtering, ensemble Kalman filter, particle MCMC, R, nimbleSMC, nimble.
filtering, ensemble Kalman filter, particle MCMC, R, nimbleSMC, nimble.
Description
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 the
nimbleSMC R package. nimbleSMC contains algorithms for state-space model analysis
using sequential Monte Carlo (SMC) techniques that are built using nimble. We first
provide an overview of state-space models and commonly-used SMC algorithms. We then
describe how to build a state-space model in nimble and conduct inference using existing SMC algorithms within nimbleSMC. SMC algorithms within nimbleSMC currently
include the bootstrap filter, auxiliary particle filter, ensemble Kalman filter, IF2 method
of iterated filtering, and a particle Markov chain Monte Carlo (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
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 the
nimbleSMC R package. nimbleSMC contains algorithms for state-space model analysis
using sequential Monte Carlo (SMC) techniques that are built using nimble. We first
provide an overview of state-space models and commonly-used SMC algorithms. We then
describe how to build a state-space model in nimble and conduct inference using existing SMC algorithms within nimbleSMC. SMC algorithms within nimbleSMC currently
include the bootstrap filter, auxiliary particle filter, ensemble Kalman filter, IF2 method
of iterated filtering, and a particle Markov chain Monte Carlo (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
Creator
Nicholas Michaud
Source
https://www.jstatsoft.org/article/view/v100i03
Publisher
University of California,
Berkeley
Berkeley
Date
November 2021
Contributor
Fajar bagus W
Format
PDF
Language
English
Type
Text
Files
Collection
Citation
Nicholas Michaud, “Sequential Monte Carlo Methods in the nimble and nimbleSMC R Packages,” Repository Horizon University Indonesia, accessed March 13, 2025, https://repository.horizon.ac.id/items/show/8216.