Is it possible to triangularize the VAR system in order to orthogonalize the innovations?
1 次查看(过去 30 天)
显示 更早的评论
Dear community,
I have a question about the estimation of Vector Autoregressive Models (VAR) using the Econometrics Toolbox. Is there any way to triangularize the VAR system in order to orthogonalize the innovations? As I understand it, is also called a recursive system. Any hints are greatly appreciated. Thanks in advance!
0 个评论
回答(1 个)
Hang Qian
2016-5-14
Hi Richard,
I think it depends on the VAR specification.
If the triangularized model looks like
Y(t) = A1 * Y(t-1) + A2 * Y(t-2) + B * e(t),
where B is lower triangular and e(t) is N(0,1) noise without correlation,
then we can call the function VGXVARX to estimate a reduced-form VAR(2) model. The output EstSpec has a field EstSpec.Q, which is the estimated covariance matrix. Since B*B’ = Q, by cholesky decomposition chol(EstSpec.Q,’lower’), the loading matrix B is identified and recovered.
However, if the structural model is not exactly identified, say we’d like some contemporaneous matrix A0 such that
A0*Y(t) = A1 * Y(t-1) + A2 * Y(t-2) + e(t),
then the first step is still to estimate a reduced-form VAR(2) model using VGXVARX.
Y(t) = inv(A0)*A1 * Y(t-1) + inv(A0) * A2 * Y(t-2) + inv(A0) * e(t).
Since A0 contains n^2 elements, they cannot be individually recovered from data alone. It is necessary to impose identification restrictions. For example, we may triangularize the model by assuming that A0 is lower triangular. Since VGXVARX has reported inv(A0)*A1, inv(A0)*A2 and inv(A0) * inv(A0)’, we can recover the parameter by hand:
invA0 = chol(EstSpec.Q,’lower’);
A0 = inv(invA0 );
A1 = A0 * EstSpec.AR{1};
A2 = A0 * EstSpec.AR{2};
Of course, I used inv for illustration purposes. Backslash is the MATLAB style to do the matrix inversion.
- Hang Qian
另请参阅
类别
在 Help Center 和 File Exchange 中查找有关 Conditional Mean Models 的更多信息
Community Treasure Hunt
Find the treasures in MATLAB Central and discover how the community can help you!
Start Hunting!