Learn R Programming

gmvarkit (version 1.5.0)

gmvar_to_sgmvar: Switch from two-regime reduced form GMVAR model to a structural GMVAR model.

Description

gmvar_to_sgmvar constructs SGMVAR model based on a reduced form GMVAR model.

Usage

gmvar_to_sgmvar(gmvar, calc_std_errors = TRUE)

Arguments

gmvar

an object of class 'gmvar' created with fitGMVAR or GMVAR.

calc_std_errors

should approximate standard errors be calculated?

Value

Returns an object of class 'gmvar' defining a structural GMVAR model based on a two-regime reduced form GMVAR model with the main diagonal of the B-matrix normalized to be positive.

Details

The switch is made by simultaneously diagonalizing the two error term covariance matrices with a well known matrix decomposition (Muirhead, 1982, Theorem A9.9) and then normalizing the diagonal of the matrix W positive (which implies positive diagonal of the B-matrix). Models with more that two regimes are not supported because the matrix decomposition does not generally exists for more than two covariance matrices. If the model has only one regime (= regular SVAR model), a symmetric and pos. def. square root matrix of the error term covariance matrix is used.

The columns of \(W\) as well as the lambda parameters can be re-ordered (without changing the implied reduced form model) afterwards with the function reorder_W_columns. Also all signs in any column of \(W\) can be swapped (without changing the implied reduced form model) afterwards with the function swap_W_signs. These two functions work with models containing any number of regimes.

References

  • Muirhead R.J. 1982. Aspects of Multivariate Statistical Theory, Wiley.

  • Kalliovirta L., Meitz M. and Saikkonen P. 2016. Gaussian mixture vector autoregression. Journal of Econometrics, 192, 485-498.

  • Virolainen S. 2020. Structural Gaussian mixture vector autoregressive model. Unpublished working paper, available as arXiv:2007.04713.

See Also

fitGMVAR, GMVAR, GIRF, reorder_W_columns, swap_W_signs

Examples

Run this code
# NOT RUN {
# Reduced form GMVAR(1,2) model
params12 <- c(0.55, 0.112, 0.344, 0.055, -0.009, 0.718, 0.319,
 0.005, 0.03, 0.619, 0.173, 0.255, 0.017, -0.136, 0.858, 1.185,
 -0.012, 0.136, 0.674)
mod12 <- GMVAR(gdpdef, p=1, M=2, params=params12)

# Form a structural model based on the reduced form model:
mod12s <- gmvar_to_sgmvar(mod12)
mod12s
# }

Run the code above in your browser using DataLab