저번 실습까지는 가상의 Data를 이용하여 생성된 회귀 모형을 분석했다. 이번 실습에서는 실제 Data를 이용하여 DW d Test와 Durbin's h Test를 하는 실습을 진행해보려 한다. 필요한 통계 개념은 이미 이전 게시물들에서 다루었기 때문에 현재 게시물에서는 다루지 않는다. 통계 개념이 필요한 경우 아래의 링크를 참고하면 된다.
- DW d Test: https://bing-su-b.tistory.com/134
- Durbin's h Test: https://bing-su-b.tistory.com/135
실습에 사용될 Data는 FRED에서 다운로드했다. 데이터 전처리 과정은 해당 게시물에서 다루었기 때문에 생략한다. 이 과정에 대한 설명이 필요한 경우 하이퍼링크를 참고하면 된다.
실습에 사용된 각각의 파일 이름에 해당하는 실제 데이터는 아래와 같다.
DATA ip;
INFILE '/home/u63329964/mydata/ip.prn'; /* mydata 디렉토리의 ip.prn 파일을 불러옴 */
INPUT mon ip; /* mon, ip 변수에 데이터를 입력할 것임 */
logip=LOG(ip); /* ip 값에 자연 로그(ln)을 취함 */
/* ip의 성장률을 바꾸는 Logic */
ipg=DIF(logip)*1200; /* 연간 퍼센트 성장률 > 12*100=1200 */
ipg1=LAG(ipg); /* ipg 변수를 한 시점씩 밀어줌 */
RUN;
DATA fyff;
INFILE '/home/u63329964/mydata/fyff.prn'; /* mydata 디렉토리의 fyff.prn 파일을 불러옴 */
INPUT mon fyff; /* mon, fyff 변수에 데이터를 입력할 것임 */
fyff4=LAG4(fyff); /* fyff 변수를 한 시점씩 밀어줌 */
RUN;
DATA unemp;
INFILE '/home/u63329964/mydata/unemp.prn'; /* mydata 디렉토리의 unemp.prn 파일을 불러옴 */
INPUT mon unemp; /* mon, unemp 변수에 데이터를 입력할 것임 */
dunemp=DIF(unemp)*10; /* 월간 변화량에 10을 곱하여 조정 */
RUN;
DATA all;
MERGE ip fyff unemp;
BY mon; /* mon 변수를 기준으로 병합 */
IF mon<19590101 OR mon>20191201 THEN DELETE;
num=__N__;
RUN;
/* regression 1 */
PROC REG DATA=all;
/* regression model 1-1: DW Test 진행 */
MODEL ipg=fyff4 dunemp / DWPROB;
/* regression model 1-2 */
MODEL ipg=fyff4 dunemp ipg1;
/* regression 결과 Residual(R)=reisd로 표기하여
이를 DATA 바구니 out1에 담는다. */
OUTPUT OUT=out1 R=resid;
RUN;
DATA all;
/* out1 DATA 바구니를 all DATA 테이블에 담는다. */
SET out1;
resid1=LAG(resid); /* residual을 한 시점씩 밀어줌 */
RUN;
/* regression 2 */
PROC REG DATA=all;
/* regression model */
MODEL resid=resid1 fyff4 dunemp ipg1;
RUN;
해당 프로그램을 실행하면 아래와 같은 결과가 나온다.
[ SAS ] Durbin's h Test (0) | 2024.10.19 |
---|---|
[ SAS ] Durbin-Watson(DW) d Test (0) | 2024.10.16 |
[ SAS ] - 자기상관성(Autocorrelation) (0) | 2024.10.07 |
[ SAS ] - 구조 변화(Structural Change)를 관찰하는 프로그램 작성 (0) | 2023.06.17 |
[ SAS ] - 다중공선성(Multicollinearity) (0) | 2023.06.16 |
댓글 영역