estimate.BSVAR {bsvars} | R Documentation |
Bayesian estimation of a homoskedastic Structural Vector Autoregression via Gibbs sampler
Description
Estimates the homoskedastic SVAR using the Gibbs sampler proposed by Waggoner & Zha (2003)
for the structural matrix B
and the equation-by-equation sampler by Chan, Koop, & Yu (2024)
for the autoregressive slope parameters A
. Additionally, the parameter matrices A
and B
follow a Minnesota prior and generalised-normal prior distributions respectively with the matrix-specific
overall shrinkage parameters estimated using a hierarchical prior distribution
as in Lütkepohl, Shang, Uzeda, and Woźniak (2024). See section Details for the model equations.
Usage
## S3 method for class 'BSVAR'
estimate(specification, S, thin = 1, show_progress = TRUE)
Arguments
specification |
an object of class BSVAR generated using the |
S |
a positive integer, the number of posterior draws to be generated |
thin |
a positive integer, specifying the frequency of MCMC output thinning |
show_progress |
a logical value, if |
Details
The homoskedastic SVAR model is given by the reduced form equation:
Y = AX + E
where Y
is an NxT
matrix of dependent variables, X
is a KxT
matrix of explanatory variables,
E
is an NxT
matrix of reduced form error terms, and A
is an NxK
matrix of autoregressive slope coefficients and parameters on deterministic terms in X
.
The structural equation is given by
BE = U
where U
is an NxT
matrix of structural form error terms, and
B
is an NxN
matrix of contemporaneous relationships.
Finally, the structural shocks, U
, are temporally and contemporaneously independent and jointly normally distributed with zero mean and unit variances.
Value
An object of class PosteriorBSVAR containing the Bayesian estimation output and containing two elements:
posterior
a list with a collection of S
draws from the posterior distribution generated via Gibbs sampler containing:
- A
an
NxKxS
array with the posterior draws for matrixA
- B
an
NxNxS
array with the posterior draws for matrixB
- hyper
a
5xS
matrix with the posterior draws for the hyper-parameters of the hierarchical prior distribution
last_draw
an object of class BSVAR with the last draw of the current MCMC run as the starting value to be passed to the continuation of the MCMC estimation using estimate()
.
Author(s)
Tomasz Woźniak wozniak.tom@pm.me
References
Chan, J.C.C., Koop, G, and Yu, X. (2024) Large Order-Invariant Bayesian VARs with Stochastic Volatility. Journal of Business & Economic Statistics, 42, doi:10.1080/07350015.2023.2252039.
Lütkepohl, H., Shang, F., Uzeda, L., and Woźniak, T. (2024) Partial Identification of Heteroskedastic Structural VARs: Theory and Bayesian Inference. University of Melbourne Working Paper, 1–57, doi:10.48550/arXiv.2404.11057.
Waggoner, D.F., and Zha, T., (2003) A Gibbs sampler for structural vector autoregressions. Journal of Economic Dynamics and Control, 28, 349–366, doi:10.1016/S0165-1889(02)00168-9.
See Also
specify_bsvar
, specify_posterior_bsvar
, normalise_posterior
Examples
# simple workflow
############################################################
# upload data
data(us_fiscal_lsuw)
# specify the model and set seed
specification = specify_bsvar$new(us_fiscal_lsuw, p = 4)
set.seed(123)
# run the burn-in
burn_in = estimate(specification, 5)
# estimate the model
posterior = estimate(burn_in, 10, thin = 2)
# workflow with the pipe |>
############################################################
set.seed(123)
us_fiscal_lsuw |>
specify_bsvar$new(p = 1) |>
estimate(S = 5) |>
estimate(S = 10, thin = 2) |>
compute_impulse_responses(horizon = 4) -> irf