Estimation of Bayesian vectorautoregressions with/without stochastic volatility.
Implements several modern hierarchical shrinkage priors and their
semi-global refinements allowing for structured shrinkage. Amongst them
Dirichlet-Laplace prior (DL), hierarchical Minnesota prior (HM),
Horseshoe prior (HS), normal-gamma prior (NG),
Concerning the error-term, the user can either specify an order-invariant factor structure or an order-variant cholesky structure.
Install CRAN version:
install.packages("bayesianVARs")Install latest development version directly from GitHub:
devtools::install_github("luisgruber/bayesianVARs")The main workhorse to conduct Bayesian inference for
vectorautoregression models in this package is the function bvar().
Some features:
- Prediction, plotting, extraction of model parameters and extraction of
fitted values with the usual generic functions
predict(),plot(),coef(),vcov()andfitted(). - Configure prior distributions with helper functions
specify_prior_phi()andspecify_prior_sigma(). - Computation and simulation of impulse response functions with
irf()and specification of structural restrictions with helper functionspecify_structural_restrictions().
set.seed(537)
# load package
library(bayesianVARs)
# Load data
train_data <-100 * usmacro_growth[1:237,c("GDPC1", "PCECC96", "GPDIC1", "AWHMAN", "GDPCTPI", "CES2000000008x", "FEDFUNDS", "GS10", "EXUSUKx", "S&P 500")]
test_data <-100 * usmacro_growth[238:241,c("GDPC1", "PCECC96", "GPDIC1", "AWHMAN", "GDPCTPI", "CES2000000008x", "FEDFUNDS", "GS10", "EXUSUKx", "S&P 500")]
# Estimate model using default prior settings
mod <- bvar(train_data, lags = 2L, draws = 2000, burnin = 1000, sv_keep = "all")
# Out of sample prediction and log-predictive-likelihood evaluation
pred <- predict(mod, ahead = 1:4, LPL = TRUE, Y_obs = test_data)
# Visualize in-sample fit plus out-of-sample prediction intervals
plot(mod, predictions = pred)browseVignettes(package = "bayesianVARs")
# If installing directly from GitHub, one has to explicitely request vignettes, e.g. with
# devtools::install_github("luisgruber/bayesianVARs", dependencies = TRUE, build_vignettes = TRUE)