공적분분석 및 proc varmax에 관한 질문입니다.
안녕하십니까. 시계열 통계 프로그램 작성중 막히는 부분이 있어 질문드립니다.
SAS 시계열 자료분석에 관한 내용입니다.
1. 우선 회귀분석의 잔차에 대한 단위근 검정 매크로를 통해 동타임에 대해 두 변수간
공적분 분석을 시행했습니다.
proc reg data=kim;
where t>=139 and t<=201;
model leading_rate=trans2_stock14/r;
output out=residuals r=resid;
run;
%dftest(residuals,resid,dif=(0),dlag=1, outstat=kimout1);
proc print data=kimout1;run;
=> 전반적인 플롯은 일치하는 것으로 보이는데 공적분관계가 성립을 안합니다.
혹시 인위적으로 시차를 조정하는 방법이 가능한 것인지, 다른 방법을 통해 구하는
방법이 있는지 알고 싶습니다.
개인적으로 생각본 끝에 약간씩 시차차이가 있어서 2 시차만큼
조정해서 단위근 검정을 실시해봤는데 공적분이 성립하더군요.
이렇게 해도 되는건지 시차분석방법이 있다면 어떻게 하는 것인지모르겠습니다.
요컨대 시차가 있는 변수들의 공적분은 어떻게 검정하나요?
data kim1;
set kim;
trans2=lag2(trans2_stock14);
run;
proc reg data=kim1;
where t>=139 and t<=201;
model trans1=leading_rate/r;
output out=residuals r=resid;
run;
proc gplot data=residuals;
plot resid*t;
run;
%dftest(residuals,resid,dif=(0),dlag=1, outstat=kimout1);
proc print data=kimout1;run;
=> 나름대로 해결해보고자,
이렇게 래그를 조정해서 시차를 맞춘다음 구해도 상관없는 것인지 궁금합니다.
그리고 래그를 조정함에 있어 어떤 규칙이 있는 것인지 모르겠습니다.
우선 제가 공적분이 나오는 시차를 의도대로 맞춰본 것입니다.
2. 이를 일반적으로 다루기 위한 방법을 찾던중 varmax에 대한 질문이 생겼습니다.
data kim1;
set work.kim;
if t<139 or t>=201 then delete;
run;
proc varmax data=kim1;
model log_trans2_stock14 log_leading_rate/ p=3 noint cointtest=(johansen)
print=(parcoef pcorr pcancorr) lagmax=12 ; /* p=3 으로 선택*/
run;
=> 여기에서 p를 정하는 기준은 알겠는데 johansen방법이 1번에서 한 공적분의 보다 일반
적인 방법이라는 문헌을 보고 이렇게 적용해 봤습니다. 여기에서 시차를 조정하는
방법은 없는지요. 나오기는 하는데 옵션이 없어서 어떻게 조정하는 건지 모르겠습니다.
급한대로 sas support를 참고하여 아래의 모형을 작성하였습니다.
/* Fit the VARX(3) model */
proc varmax data=kim1;
model log_trans2_stock14 = log_leading_rate/ p=3 xlag=5 lagmax=12;
output out=forecasts lead=6;
run;
=> 여기에선 xlag의 설정의 의미를 잘 모르겠고, 아웃풋결과에서 잔차에 대한 다중공선성이
나오는데 그럼 모델 설정을 다시해야 하는 것인지 모르겠습니다. 그리고 p=3는 그 위에
선택한 결과를 그대로 쓴건데 맞는 것인지요. 전반적인 옵션과 아웃풋 보는 방법을 모르
겠습니다. 요컨대 varmax에서 xlag의 설정방법과 varx모형이 적절히 추정되었는지를
알 수 있는 기준 (예를 들어 잔차의 다중공선성에 대한 유의확률 등)을 알고 싶습니다.
시중에 있는 책들을 찾아보았으나 결과외의 과정이 소개된 부분이 없어
이렇게 질문드립니다.
간곡히 답변을 좀 부탁드립니다. ㅠㅠ
감사합니다.
Legacy document_srl: 699 / Legacy URL: http://www.statedu.com/QnA/699
