The main purpose of this tutorial is to introduce the particle Metropolis-Hastings (PMH) algorithm for parameter inference in nonlinear state space models (SSMs) . Throughout the tutorial, we develop an implementation of the PMH algorithm (and the integrated particle filter) in the statistical programming language R (similar code for MATLAB and Python is also provided on GitHub) . Moreover, we provide the reader with some intuition to why the algorithm works and discuss some solutions to numerical problems that might occur in practice. To illustrate the use of PMH, we consider parameter inference in a linear Gaussian SSM with synthetic data and a nonlinear stochastic volatility model with real-world data. We conclude the tutorial by discussing important possible improvements to the algorithm and listing suitable references for further study.
We provide a gentle introduction to the particle Metropolis-Hastings (PMH) algorithm for parameter inference in nonlinear state space models (SSMs) together with a software implementation in the statistical programming language R. Throughout this tutorial, we develop an implementation of the PMH algorithm (and the integrated particle filter) , which is distributed as the package pmhtutorial available from the CRAN repository . Moreover, we provide the reader with some intuition for how the algorithm operates and discuss some solutions to numerical problems that might occur in practice. To illustrate the use of PMH, we consider parameter inference in a linear Gaussian SSM with synthetic data and a nonlinear stochastic volatility model with real-world data. We conclude the tutorial by discussing important possible improvements to the algorithm and we also list suitable references for further study.
R
The main purpose of this tutorial is to introduce
We provide a gentle introduction to
R
. Throughout the
together with a software implementation in the statistical programming language R. Throughout this
R
in the statistical programming language R (similar code for MATLAB and Python is also provided on GitHub)
, which is distributed as the package pmhtutorial available from the CRAN repository
R
to why the algorithm works
for how the algorithm operates
R
listing
we also list