estimate function

Bayesian estimation of Structural Vector Autoregressions via Gibbs sampler

Bayesian estimation of Structural Vector Autoregressions via Gibbs sampler

Estimates homo- or heteroskedastic SVAR models for packages bsvars

and bsvarSIGNs. The packages apply the Gibbs sampler proposed by Waggoner & Zha (2003) for the structural matrix BB and the equation-by-equation sampler by Chan, Koop, & Yu (2024) for the autoregressive slope parameters AA. Additionally, the parameter matrices AA and BB

follow a Minnesota prior and generalised-normal prior distributions respectively with the matrix-specific 3-level equation-specific local-global hierarchical prior for the shrinkage parameters. A variety of models for conditional variances are possible including versions of Stochastic Volatility and Markov-switching heteroskedasticity. Non-normal specifications include finite and sparse normal mixture model for the structural shocks. The estimation algorithms for particular models are scrutinised in Lütkepohl, Shang, Uzeda, & Woźniak (2024) and Woźniak & Droumaguet (2024) and some other inferential and identification problems are considered in Lütkepohl & Woźniak (2020) and Song & Woźniak (2021). Models from package bsvars implement identification via exclusion restrictions, heteroskedasticity and non-normality. Models from package bsvarSIGNs implement identification via sign and narrative restrictions. See section Details and package bsvarSIGNs documentation for more information.

estimate(specification, S, thin = 1, show_progress = TRUE)

Arguments

  • specification: an object generated using one of the specify_bsvar* functions or an object generated using the function estimate. The latter type of input facilitates the continuation of the MCMC sampling starting from the last draw of the previous run.
  • 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 TRUE the estimation progress bar is visible

Returns

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 many arrays and vectors whose selection depends on the model specification. last_draw an object generated by one of the specify_bsvar* functions 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().

Details

The homoskedastic SVAR model is given by the reduced form equation:

Y=AX+E Y = AX + E

where YY is an NxT matrix of dependent variables, XX is a KxT matrix of explanatory variables, EE is an NxT matrix of reduced form error terms, and AA is an NxK matrix of autoregressive slope coefficients and parameters on deterministic terms in XX.

The structural equation is given by

BE=U BE = U

where UU is an NxT matrix of structural form error terms, and BB is an NxN matrix of contemporaneous relationships.

The structural shocks, U, are temporally and contemporaneously independent and jointly normally distributed with zero mean and unit variances.

The various SVAR models estimated differ by the specification of structural shocks variances. Their specification depends on the specify_bsvar* function used. The different models include:

  • homoskedastic model with unit variances
  • heteroskedastic model with stationary Markov switching in the variances
  • heteroskedastic model with Stochastic Volatility process for variances
  • non-normal model with a finite mixture of normal components and component-specific variances
  • heteroskedastic model with sparse Markov switching in the variances where the number of heteroskedastic components is estimated
  • non-normal model with a sparse mixture of normal components and component-specific variances where the number of heteroskedastic components is estimated

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) -> posterior

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 , tools:::Rd_expr_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, tools:::Rd_expr_doi("10.48550/arXiv.2404.11057") .

Lütkepohl, H., and Woźniak, T., (2020) Bayesian Inference for Structural Vector Autoregressions Identified by Markov-Switching Heteroskedasticity. Journal of Economic Dynamics and Control 113 , 103862, tools:::Rd_expr_doi("10.1016/j.jedc.2020.103862") .

Song, Y., and Woźniak, T. (2021) Markov Switching Heteroskedasticity in Time Series Analysis. In: Oxford Research Encyclopedia of Economics and Finance. Oxford University Press, tools:::Rd_expr_doi("10.1093/acrefore/9780190625979.013.174") .

Waggoner, D.F., and Zha, T., (2003) A Gibbs sampler for structural vector autoregressions. Journal of Economic Dynamics and Control, 28 , 349--366, tools:::Rd_expr_doi("10.1016/S0165-1889(02)00168-9") .

Woźniak, T., and Droumaguet, M., (2024) Bayesian Assessment of Identifying Restrictions for Heteroskedastic Structural VARs.

See Also

specify_bsvar, specify_bsvar_msh, specify_bsvar_mix, specify_bsvar_sv, normalise_posterior

Author(s)

Tomasz Woźniak wozniak.tom@pm.me

  • Maintainer: Tomasz Woźniak
  • License: GPL (>= 3)
  • Last published: 2024-10-24