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
Matrix B corresponds to the unique decomposition of the least squares covariance matrix if the vector of structural shocks
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')