ekf_smoother | R Documentation |
Function ekf_smoother
runs the (iterated) extended Kalman smoother
for the given non-linear Gaussian model of class ssm_nlg
,
and returns the smoothed estimates of the states and the corresponding
variances. Function ekf_fast_smoother
computes only smoothed
estimates of the states.
ekf_smoother(model, iekf_iter = 0) ekf_fast_smoother(model, iekf_iter = 0)
model |
Model of class |
iekf_iter |
Non-negative integer. The default zero corresponds to
normal EKF, whereas |
List containing the log-likelihood,
smoothed state estimates alphahat
, and the corresponding variances
Vt
and Ptt
.
# Takes a while on CRAN set.seed(1) mu <- -0.2 rho <- 0.7 sigma_y <- 0.1 sigma_x <- 1 x <- numeric(50) x[1] <- rnorm(1, mu, sigma_x / sqrt(1 - rho^2)) for(i in 2:length(x)) { x[i] <- rnorm(1, mu * (1 - rho) + rho * x[i - 1], sigma_x) } y <- rnorm(length(x), exp(x), sigma_y) pntrs <- cpp_example_model("nlg_ar_exp") model_nlg <- ssm_nlg(y = y, a1 = pntrs$a1, P1 = pntrs$P1, Z = pntrs$Z_fn, H = pntrs$H_fn, T = pntrs$T_fn, R = pntrs$R_fn, Z_gn = pntrs$Z_gn, T_gn = pntrs$T_gn, theta = c(mu= mu, rho = rho, log_sigma_x = log(sigma_x), log_sigma_y = log(sigma_y)), log_prior_pdf = pntrs$log_prior_pdf, n_states = 1, n_etas = 1, state_names = "state") out_ekf <- ekf_smoother(model_nlg, iekf_iter = 0) out_iekf <- ekf_smoother(model_nlg, iekf_iter = 1) ts.plot(cbind(x, out_ekf$alphahat, out_iekf$alphahat), col = 1:3)
Add the following code to your website.
For more information on customizing the embed code, read Embedding Snippets.