Bayesian Inference of Linear-Gaussian State Space Models
Bayesian Inference of Linear-Gaussian State Space Models
## S3 method for class 'gaussian' run_mcmc( model, iter, output_type = "full", burnin = floor(iter/2), thin = 1, gamma = 2/3, target_acceptance = 0.234, S, end_adaptive_phase = FALSE, threads = 1, seed = sample(.Machine$integer.max, size = 1), ... )
model |
Model model. |
iter |
Number of MCMC iterations. |
output_type |
Type of output. Default is |
burnin |
Length of the burn-in period which is disregarded from the
results. Defaults to |
thin |
Thinning rate. All MCMC algorithms in |
gamma |
Tuning parameter for the adaptation of RAM algorithm. Must be between 0 and 1 (not checked). |
target_acceptance |
Target acceptance rate for MCMC. Defaults to 0.234. |
S |
Initial value for the lower triangular matrix of RAM algorithm, so that the covariance matrix of the Gaussian proposal distribution is SS'. Note that for some parameters (currently the standard deviation and dispersion parameters of bsm_lg models) the sampling is done for transformed parameters with internal_theta = log(theta). |
end_adaptive_phase |
If |
threads |
Number of threads for state simulation. The default is 1. |
seed |
Seed for the random number generator. |
... |
Ignored. |
Vihola, M, Helske, J, Franks, J. Importance sampling type estimators based on approximate marginal Markov chain Monte Carlo. Scand J Statist. 2020; 1– 38. https://doi.org/10.1111/sjos.12492
model <- ar1_lg(LakeHuron, rho = uniform(0.5,-1,1), sigma = halfnormal(1, 10), mu = normal(500, 500, 500), sd_y = halfnormal(1, 10)) mcmc_results <- run_mcmc(model, iter = 2e4) summary(mcmc_results, return_se = TRUE) require("dplyr") sumr <- as.data.frame(mcmc_results, variable = "states") %>% group_by(time) %>% summarise(mean = mean(value), lwr = quantile(value, 0.025), upr = quantile(value, 0.975)) require("ggplot2") sumr %>% ggplot(aes(time, mean)) + geom_ribbon(aes(ymin = lwr, ymax = upr),alpha=0.25) + geom_line() + theme_bw() + geom_point(data = data.frame(mean = LakeHuron, time = time(LakeHuron)), col = 2)
Please choose more modern alternatives, such as Google Chrome or Mozilla Firefox.