nonLinPMMH {RcppSMC} | R Documentation |
Particle marginal Metropolis-Hastings for a non-linear state space model.
Description
The nonLinPMMH
function implements particle marginal Metropolis Hastings
for the non-linear state space model described in Section 3.1 of
Andrieu et al. (2010).
Usage
nonLinPMMH(data, particles = 5000, iterations = 10000, burnin = 0,
verbose = FALSE, msg_freq = 100, plot = FALSE)
Arguments
data |
A vector of the observed data. |
particles |
An integer specifying the number of particles in the particle filtering estimates of the likelihood. |
iterations |
An integer specifying the number of MCMC iterations. |
burnin |
The number of iterations to remove from the beginning of the MCMC chain (for plotting purposes only). |
verbose |
Logical; if |
msg_freq |
Specifies the printing frequency of percentage completion or, if
|
plot |
A boolean variable to determine whether to plot the posterior estimates and MCMC chain. |
Details
This example uses particle marginal Metropolis Hastings to estimate the standard deviation of the evolution and observation noise in the following non-linear state space model:
x(n) = 0.5 x(n-1) + 25 x(n-1) / (1+x(n-1)^2) + 8 cos(1.2n)+ 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 var_evol and var_obs, respectively,
and x(0) ~ N(0,5)
.
Following Andrieu, Doucet and Holenstein (2010), the priors are
var_evol ~ IG(0.01,0.01)
and var_obs ~ IG(0.01,0.01)
where IG
is the inverse gamma distribution.
Data can be simulated from the model using simNonlin
.
Value
A data.frame
containing the chain
of simulated \sigma_v
and \sigma_w
values, as well as the
corresponding log likelihood estimates and log prior values.
Author(s)
Adam M. Johansen, Dirk Eddelbuettel and Leah F. South
References
C. Andrieu, A. Doucet, and R. Holenstein. Particle Markov chain Monte Carlo methods. Journal of the Royal Statistical Society: Series B (Statistical Methodology), 72(3):269-342, 2010.
See Also
simNonlin
for a function to simulate from the model and
pfNonlinBS
for a simple bootrap particle filter
applied to a similar non-linear state space model.
Examples
## Not run:
sim <- simNonlin(len=500,var_init=5,var_evol=10,var_obs=1,cosSeqOffset=0)
res <- nonLinPMMH(sim$data,particles=5000,iterations=50000,burnin=10000,plot=TRUE)
## End(Not run)