Learn R Programming

svars (version 1.3.11)

id.ngml: 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)

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. \(B=B_stand*diag(\sigma_1,...,\sigma_K)\)

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

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

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

Run this code
# 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')

Run the code above in your browser using DataLab