Skip to contents

Each of the draws from the posterior estimation of a model is transformed into a draw from the posterior distribution of the structural shock conditional standard deviations.

Usage

compute_conditional_sd(posterior)

Arguments

posterior

posterior estimation outcome - an object of either of the classes: PosteriorBSVAR, PosteriorBSVARMSH, PosteriorBSVARMIX, or PosteriorBSVARSV obtained by running the estimate function. The interpretation depends on the normalisation of the shocks using function normalise_posterior(). Verify if the default settings are appropriate.

Value

An object of class PosteriorSigma, that is, an NxTxS array with attribute PosteriorSigma containing S draws of the structural shock conditional standard deviations.

Author

Tomasz Woźniak wozniak.tom@pm.me

Examples

# upload data
data(us_fiscal_lsuw)

# specify the model and set seed
set.seed(123)
specification  = specify_bsvar$new(us_fiscal_lsuw, p = 1)
#> The identification is set to the default option of lower-triangular structural matrix.

# run the burn-in
burn_in        = estimate(specification, 10)
#> **************************************************|
#> bsvars: Bayesian Structural Vector Autoregressions|
#> **************************************************|
#>  Gibbs sampler for the SVAR model                 |
#> **************************************************|
#>  Progress of the MCMC simulation for 10 draws
#>     Every 10th draw is saved via MCMC thinning
#>  Press Esc to interrupt the computations
#> **************************************************|

# estimate the model
posterior      = estimate(burn_in$get_last_draw(), 50)
#> **************************************************|
#> bsvars: Bayesian Structural Vector Autoregressions|
#> **************************************************|
#>  Gibbs sampler for the SVAR model                 |
#> **************************************************|
#>  Progress of the MCMC simulation for 50 draws
#>     Every 10th draw is saved via MCMC thinning
#>  Press Esc to interrupt the computations
#> **************************************************|

# compute structural shocks' conditional standard deviations
sigma          = compute_conditional_sd(posterior)
#> The model is homoskedastic. Returning an NxT matrix of conditional sd all equal to 1.

# workflow with the pipe |>
############################################################
set.seed(123)
us_fiscal_lsuw |>
  specify_bsvar$new(p = 1) |>
  estimate(S = 50) |> 
  estimate(S = 100) |> 
  compute_conditional_sd() -> csd
#> The identification is set to the default option of lower-triangular structural matrix.
#> **************************************************|
#> bsvars: Bayesian Structural Vector Autoregressions|
#> **************************************************|
#>  Gibbs sampler for the SVAR model                 |
#> **************************************************|
#>  Progress of the MCMC simulation for 50 draws
#>     Every 10th draw is saved via MCMC thinning
#>  Press Esc to interrupt the computations
#> **************************************************|
#> **************************************************|
#> bsvars: Bayesian Structural Vector Autoregressions|
#> **************************************************|
#>  Gibbs sampler for the SVAR model                 |
#> **************************************************|
#>  Progress of the MCMC simulation for 100 draws
#>     Every 10th draw is saved via MCMC thinning
#>  Press Esc to interrupt the computations
#> **************************************************|
#> The model is homoskedastic. Returning an NxT matrix of conditional sd all equal to 1.