How can I estimate a Vector Autoregressive (VAR) Model by OLS?

조회 수: 5 (최근 30일)
Valentina
Valentina 2013년 10월 17일
댓글: Spyridon Kariofylis 2020년 7월 10일
How can I estimate a VAR Model with the vgxvarx function by Ordinary Least Squares ( OLS )?
By default vgxvarx uses the Maximum Likelihood and I can't find how to change it.
I tried with the default MLE:
Spec = vgxset('n',5,'nAR',1,'Constant',false);
EstSpec = vgxvarx(Spec, Y, [], Y0);
but I get this error:
Error using mvregress (line 425)
Covariance is not positive-definite.
Error in vgxvarx (line 521)
[x,Q,~,xvar] = mvregress(D,R, 'covtype',covartype, 'varformat',varformat, ...
Here:
it mentions to set 'MaxIter' to 1 for OLS, but it's not clear how to use the OLS approach.
  댓글 수: 2
Shashank Prasanna
Shashank Prasanna 2013년 10월 17일
Would you be willing to share why you don't want to use the MLE approach in the Econometrics toolbox?
Valentina
Valentina 2013년 10월 17일
편집: Valentina 2013년 10월 18일
Because with MLE I get the above-mentioned error, while I was able to estimate the model with the same data, using a function in the R software that uses OLS.

댓글을 달려면 로그인하십시오.

답변 (1개)

Hang Qian
Hang Qian 2014년 3월 30일
편집: Hang Qian 2014년 3월 30일
Yes, estimation of a VAR(p) model by OLS is possible using the vgxvarx functionality. The vgxvarx uses maximum likelihood for rigorous treatment of missing values and presample values.
If the data are complete and presample values are specified (using the first p values of the data), vgxvarx will produce an estimator identical to the OLS estimator. For example, consider a VAR(2) model with 3 variables,
Y = rand(100,3);
Spec = vgxset('n',3,'nAR',2);
EstSpec = vgxvarx(Spec,Y(3:100,:),[],Y(1:2,:));
OLS1 = [EstSpec.AR{1},EstSpec.AR{2}]'
OLS2 = [Y(2:end-1,:),Y(1:end-2,:)] \ Y(3:end,:)
The second estimator is the raw OLS estimator.
norm(OLS1-OLS2) suggests that vgxvarx reproduces the raw OLS estimator.
Hang Qian

카테고리

Help CenterFile Exchange에서 Multivariate Models에 대해 자세히 알아보기

Community Treasure Hunt

Find the treasures in MATLAB Central and discover how the community can help you!

Start Hunting!

Translated by