id.dc | R Documentation |
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 ε_t.
Matrix B corresponds to the unique decomposition of the least squares covariance matrix Σ_u=B B' if the vector of structural shocks ε_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.
id.dc(x, PIT = FALSE)
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 |
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 |
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
For alternative identification approaches see id.st
, id.garch
, id.cvm
, id.cv
or id.ngml
# 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')
Add the following code to your website.
For more information on customizing the embed code, read Embedding Snippets.