728x90
29일 시계열분석 실습의 SAS 버전과 R 버전입니다.
R의 결과와 SAS 결과가 다르게 나올 수 있습니다. 이것은 R과 SAS 중 어느 것 맞느냐? 틀리냐? 문제가 아니라
ARIMA 모형을 추정할 때 적용되는 추정방법에 따라 결과가 (당연히) 다르게 나옵니다.
SAS 내에서도 추정방법에 따라 여러가지 결과가 나옵니다.
R은 무료이지만 SAS는 유료이기 때문에 일반 사용자가 사용하기 불편한 점이 있습니다.
SAS OnDemand for Academics(줄여서 SAS-ODA) 이라는클라우드 무료버전이 있는데 SAS-ODA 를 사용했습니다. 

다음과 같은 데이터가 있습니다. 그냥(?) 60개의 데이터입니다.

이것은 그냥 단순한 60개의 데이터입니다. 향후 10개의 데이터를 예측해 보기로 합니다.

644 546 515 506 468 729 719 626 677 679 654 630 662 539 419 592 376 390 292 340 
457 254 368 376 254 85 198 212 262 368 554 538 478 623 522 404 360 619 524 562 
438 327 311 466 423 515 367 340 279 264 411 409 436 468 409 275 265 301 423 405 
384 557 474 519 459 504 349 312 303 423 384 425 391 317 404 368 516 558 537 579 
567 606 554 335 367 447 354 257 237 212 283 318 439 611 598 586 602 558 541 527

 

[실습]

DATA a1;INPUT x @@;
CARDS;
644 546 515 506 468 729 719 626 677 679 654 630 662 539 419 592 376 390 292 340
457 254 368 376 254 85 198 212 262 368 554 538 478 623 522 404 360 619 524 562
438 327 311 466 423 515 367 340 279 264 411 409 436 468 409 275 265 301 423 405
384 557 474 519 459 504 349 312 303 423 384 425 391 317 404 368 516 558 537 579
567 606 554 335 367 447 354 257 237 212 283 318 439 611 598 586 602 558 541 527
;
DATA a2;SET a1;
seq=_n_;
PROC PRINT;
RUN;
PROC ARIMA DATA=a2;
IDENTIFY VAR=x;
ESTIMATE p=(1);
RUN;
PROC ARIMA DATA=a2; 
IDENTIFY VAR=x;
ESTIMATE P=1; 
FORECAST ID= seq LEAD=10 ;
RUN;

 

(1) PROC PRINT; 의 결과 일부

PROC PRINT; 출력의 일부

(2) 모형의 계수 추정을 합니다.

PROC ARIMA DATA=a2; /* SAS 에서는 프로시져 ARIMA 를 이용합니다 */
IDENTIFY VAR=x;              /* 분석 대상이 되는 변수명을 지정합니다. */
ESTIMATE p=(1);               /* AR(1) 모형으로 설정하고 파라메터 추정을 합니다 */
RUN; 

 

Z(t) = 463.02291 + 0.73677 Z(t-1) 모형으로 R에서의 결과와 비슷하게 나옵니다(같지는 않지만)

 

(3) AR(1) 모형 추정한 것을 이용하여 예측을 합니다.

PROC ARIMA DATA=a2;  
IDENTIFY VAR=x; 
ESTIMATE P=1;     /* AR(1) 모형의 파라메터 예측  *./
FORECAST ID= seq LEAD=10 ; /* ID 뒤에는 일련번호 변수를 지정하고 LEAD=10 은 10개의 예측을 한다는 의미  */
RUN;

*** 다음은 R을 사용했을 때의 결과입니다. ***

arima(ts01,order=c(1,0,0))

predict(arima(ts01,order=c(1,0,0)),n.ahead=10 )

* 혹시 광고가 뜨는 경우가 있는데 구글에서 랜덤으로 들어가는 모양 ^^^


  

+ Recent posts