id.ngml {svars} | R Documentation |
Non-Gaussian maximum likelihood (NGML) identification of SVAR models
Description
Given an estimated VAR model, this function applies identification by means of a non-Gaussian likelihood for the structural impact matrix B of the corresponding SVAR model
y_t=c_t+A_1 y_{t-1}+...+A_p y_{t-p}+u_t =c_t+A_1 y_{t-1}+...+A_p y_{t-p}+B \epsilon_t.
Matrix B corresponds to the unique decomposition of the least squares covariance matrix \Sigma_u=B B'
if the vector of structural shocks \epsilon_t
contains at most one Gaussian shock (Comon, 94).
A likelihood function of independent t-distributed structural shocks \epsilon_t=B^{-1}u_t
is maximized with respect to the entries of B and the degrees of freedom of the t-distribution (Lanne et al., 2017).
Usage
id.ngml(x, stage3 = FALSE, restriction_matrix = NULL)
Arguments
x |
An object of class 'vars', 'vec2var', 'nlVar'. Estimated VAR object |
stage3 |
Logical. If stage3="TRUE", the VAR parameters are estimated via non-gaussian maximum likelihood (computationally demanding) |
restriction_matrix |
Matrix. A matrix containing presupposed entries for matrix B, NA if no restriction is imposed (entries to be estimated). Alternatively, a K^2*K^2 matrix can be passed, where ones on the diagonal designate unrestricted and zeros restricted coefficients. (as suggested in Luetkepohl, 2017, section 5.2.1). |
Value
A list of class "svars" with elements
B |
Estimated structural impact matrix B, i.e. unique decomposition of the covariance matrix of reduced form errors |
sigma |
Estimated scale of the standardized matrix B_stand, i.e. |
sigma_SE |
Standard errors of the scale |
df |
Estimated degrees of freedom |
df_SE |
Standard errors of the degrees of freedom |
Fish |
Observed Fisher information matrix |
A_hat |
Estimated VAR parameter via ML |
B_stand |
Estimated standardized structural impact matrix |
B_stand_SE |
Standard errors of standardized matrix B_stand |
Lik |
Function value of likelihood |
method |
Method applied for identification |
n |
Number of observations |
type |
Type of the VAR model, e.g. 'const' |
y |
Data matrix |
p |
Number of lags |
K |
Dimension of the VAR |
restrictions |
Number of specified restrictions |
restriction_matrix |
Specified restriction matrix |
stage3 |
Logical, whether Stage 3 is performed |
VAR |
Estimated input VAR object |
References
Lanne, M., Meitz, M., Saikkonen, P., 2017. Identification and estimation of non-Gaussian structural vector autoregressions. J. Econometrics 196 (2), 288-304.
Comon, P., 1994. Independent component analysis, A new concept?, Signal Processing, 36, 287-314
See Also
For alternative identification approaches see id.st
, id.garch
, id.cvm
, id.dc
or id.cv
Examples
# data contains quarterly observations from 1965Q1 to 2008Q3
# x = output gap
# pi = inflation
# i = interest rates
set.seed(23211)
v1 <- vars::VAR(USA, lag.max = 10, ic = "AIC" )
x1 <- id.ngml(v1)
summary(x1)
# switching columns according to sign pattern
x1$B <- x1$B[,c(3,2,1)]
x1$B[,3] <- x1$B[,3]*(-1)
# impulse response analysis
i1 <- irf(x1, n.ahead = 30)
plot(i1, scales = 'free_y')