Importance Sampling from non-Gaussian State Space Model
Returns nsim samples from the approximating Gaussian model with corresponding
(scaled) importance weights. Probably mostly useful for comparing KFAS and bssm packages.
importance_sample(model, nsim, use_antithetic, max_iter, conv_tol, seed, ...) ## S3 method for class 'nongaussian' importance_sample( model, nsim, use_antithetic = TRUE, max_iter = 100, conv_tol = 1e-08, seed = sample(.Machine$integer.max, size = 1), ... )
model |
of class |
nsim |
Number of samples. |
use_antithetic |
Logical. If |
max_iter |
Maximum number of iterations used for the approximation. |
conv_tol |
Convergence threshold for the approximation. Approximation is
claimed to be converged when the mean squared difference of the modes is
less than |
seed |
Seed for the random number generator. |
... |
Ignored. |
data("sexratio", package = "KFAS")
model <- bsm_ng(sexratio[, "Male"], sd_level = 0.001, u = sexratio[, "Total"],
distribution = "binomial")
imp <- importance_sample(model, nsim = 1000)
est <- matrix(NA, 3, nrow(sexratio))
for(i in 1:ncol(est)) {
est[, i] <- Hmisc::wtd.quantile(exp(imp$alpha[i, 1, ]), imp$weights,
prob = c(0.05,0.5,0.95), normwt=TRUE)
}
ts.plot(t(est),lty = c(2,1,2))Please choose more modern alternatives, such as Google Chrome or Mozilla Firefox.