
Fitting Bayesian VAR(p) of Minnesota Prior
Source:R/bvar-minnesota.R, R/print-bvarmn.R, R/criteria.R, and 1 more
bvar_minnesota.RdThis function fits BVAR(p) with Minnesota prior.
Usage
bvar_minnesota(
y,
p = 1,
num_chains = 1,
num_iter = 1000,
num_burn = floor(num_iter/2),
thinning = 1,
bayes_spec = set_bvar(),
scale_variance = 0.05,
include_mean = TRUE,
verbose = FALSE,
num_thread = 1
)
# S3 method for class 'bvarmn'
print(x, digits = max(3L, getOption("digits") - 3L), ...)
# S3 method for class 'bvarhm'
print(x, digits = max(3L, getOption("digits") - 3L), ...)
# S3 method for class 'bvarmn'
logLik(object, ...)
# S3 method for class 'bvarmn'
AIC(object, ...)
# S3 method for class 'bvarmn'
BIC(object, ...)
is.bvarmn(x)
# S3 method for class 'bvarmn'
knit_print(x, ...)
# S3 method for class 'bvarhm'
knit_print(x, ...)Arguments
- y
Time series data of which columns indicate the variables
- p
VAR lag (Default: 1)
- num_chains
Number of MCMC chains
- num_iter
MCMC iteration number
- num_burn
Number of burn-in (warm-up). Half of the iteration is the default choice.
- thinning
Thinning every thinning-th iteration
- bayes_spec
A BVAR model specification by
set_bvar().- scale_variance
Proposal distribution scaling constant to adjust an acceptance rate
- include_mean
Add constant term (Default:
TRUE) or not (FALSE)- verbose
Print the progress bar in the console. By default,
FALSE.- num_thread
Number of threads
- x
Any object
- digits
digit option to print
- ...
not used
- object
A
bvarmnobject
Value
bvar_minnesota() returns an object bvarmn class.
It is a list with the following components:
- coefficients
Posterior Mean
- fitted.values
Fitted values
- residuals
Residuals
- mn_mean
Posterior mean matrix of Matrix Normal distribution
- mn_prec
Posterior precision matrix of Matrix Normal distribution
- iw_scale
Posterior scale matrix of posterior inverse-Wishart distribution
- iw_shape
Posterior shape of inverse-Wishart distribution (\(alpha_0\) - obs + 2). \(\alpha_0\): nrow(Dummy observation) - k
- df
Numer of Coefficients: mp + 1 or mp
- m
Dimension of the time series
- obs
Sample size used when training =
totobs-p- prior_mean
Prior mean matrix of Matrix Normal distribution: \(A_0\)
- prior_precision
Prior precision matrix of Matrix Normal distribution: \(\Omega_0^{-1}\)
- prior_scale
Prior scale matrix of inverse-Wishart distribution: \(S_0\)
- prior_shape
Prior shape of inverse-Wishart distribution: \(\alpha_0\)
- y0
\(Y_0\)
- design
\(X_0\)
- p
Lag of VAR
- totobs
Total number of the observation
- type
include constant term (
const) or not (none)- y
Raw input (
matrix)- call
Matched call
- process
Process string in the
bayes_spec:BVAR_Minnesota- spec
Model specification (
bvharspec)
It is also normaliw and bvharmod class.
Details
Minnesota prior gives prior to parameters \(A\) (VAR matrices) and \(\Sigma_e\) (residual covariance).
$$A \mid \Sigma_e \sim MN(A_0, \Omega_0, \Sigma_e)$$ $$\Sigma_e \sim IW(S_0, \alpha_0)$$ (MN: matrix normal, IW: inverse-wishart)
References
Bańbura, M., Giannone, D., & Reichlin, L. (2010). Large Bayesian vector auto regressions. Journal of Applied Econometrics, 25(1).
Giannone, D., Lenza, M., & Primiceri, G. E. (2015). Prior Selection for Vector Autoregressions. Review of Economics and Statistics, 97(2).
Litterman, R. B. (1986). Forecasting with Bayesian Vector Autoregressions: Five Years of Experience. Journal of Business & Economic Statistics, 4(1), 25.
KADIYALA, K.R. and KARLSSON, S. (1997), NUMERICAL METHODS FOR ESTIMATION AND INFERENCE IN BAYESIAN VAR-MODELS. J. Appl. Econ., 12: 99-132.
Karlsson, S. (2013). Chapter 15 Forecasting with Bayesian Vector Autoregression. Handbook of Economic Forecasting, 2, 791-897.
Sims, C. A., & Zha, T. (1998). Bayesian Methods for Dynamic Multivariate Models. International Economic Review, 39(4), 949-968.
See also
set_bvar()to specify the hyperparameters of Minnesota prior.summary.normaliw()to summarize BVAR model
Examples
# Perform the function using etf_vix dataset
fit <- bvar_minnesota(y = etf_vix[,1:3], p = 2)
class(fit)
#> [1] "bvarmn" "bvharmod" "normaliw"
# Extract coef, fitted values, and residuals
coef(fit)
#> GVZCLS OVXCLS VXFXICLS
#> GVZCLS_1 3.982565707 7.078052e-05 -0.04347898
#> OVXCLS_1 -0.029438768 9.969427e-01 -0.06551816
#> VXFXICLS_1 -0.042774658 -5.004290e-04 3.98232985
#> GVZCLS_2 -0.026123047 3.679383e-05 -0.01060962
#> OVXCLS_2 -0.006764906 -2.965650e-04 -0.01611587
#> VXFXICLS_2 -0.010381054 -1.234613e-04 -0.02633963
#> const -51.638356862 1.024188e-01 -70.16861120
head(residuals(fit))
#> [,1] [,2] [,3]
#> [1,] -8.286242 0.1126333 -10.952168
#> [2,] -12.341901 1.1024219 -12.239058
#> [3,] -9.764979 -0.9345405 -8.717157
#> [4,] -7.972633 -0.7916668 -13.540428
#> [5,] -8.617840 -0.7945605 -12.279901
#> [6,] -9.922119 -1.3526203 -11.325575
head(fitted(fit))
#> GVZCLS OVXCLS VXFXICLS
#> [1,] 30.62624 35.40737 40.01217
#> [2,] 33.94190 35.48758 40.69906
#> [3,] 30.96498 36.55454 38.25716
#> [4,] 29.37263 35.58667 42.64543
#> [5,] 30.21784 34.76456 40.94990
#> [6,] 31.06212 33.94262 39.28558