id.dc {svars}R Documentation

Independence-based identification of SVAR models build on distance covariances (DC) statistic

Description

Given an estimated VAR model, this function applies independence-based identification 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, 1994). A nonparametric dependence measure, the distance covariance (Szekely et al, 2007), determines least dependent structural shocks. The algorithm described in Matteson and Tsay (2013) is applied to calculate the matrix B.

Usage

id.dc(x, PIT = FALSE)

Arguments

x

An object of class 'vars', 'vec2var', 'nlVar'. Estimated VAR object

PIT

Logical. If PIT='TRUE', the distribution and density of the independent components are estimated using gaussian kernel density estimates

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

A_hat

Estimated VAR parameter

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

PIT

Logical, if PIT is used

VAR

Estimated input VAR object

References

Matteson, D. S. & Tsay, R. S., 2013. Independent Component Analysis via Distance Covariance, pre-print
Szekely, G. J.; Rizzo, M. L. & Bakirov, N. K., 2007. Measuring and testing dependence by correlation of distances Ann. Statist., 35, 2769-2794
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.cv or id.ngml

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.dc(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')



[Package svars version 1.3.11 Index]