BookmarkSubscribeRSS Feed

[SAS 활용 노하우] MA(2) 모형과 ARMA(1,1) 모형

Started ‎01-27-2022 by
Modified ‎01-27-2022 by
Views 1,210

 

 

MA(2) 모형

 

MA(2) 모형은 MA(1) 모형과 유사한 모형으로 계수가 하나 더 많은 모형으로 아래와 같습니다.

image.png

 

 

 

그러므로 MA(2) 의 자기상관값 중 1st order와 2nd order 두 개만 0이 아니라 다른 오더의 모든 자기상관값은 0입니다. MA(2) 의 ACF 플롯에는 첫 2개의 자기상관계수만 95% 신뢰구간 밖으로 나올 것이며, 나머지는 모두 0을 포함하는 95% 신뢰구간 안에 있을 것입니다.

PACF는 MA(1)의 PACF와 비슷하게 플러스 값과 마이너스 값이 반복되는 형태이며 MA(1) 보다 약간 더 복잡한 형태를 띌 것 입니다.

MA(2) 모형의 예측방법은 MA(1) 모형 예측방법의 연장이라 어려움 없이 쉽게 구할 수 있습니다.

즉, t 기에서 Yt-1 예측치 Yt-1 | t 

 

 

image.png

 

 

 

 

 

Yt+2 예측치 Yt+2 | t 

 

image.png

 

 

 

 

이며, Yt+3 과 이보다 더 먼 미래값에 대한 예측치는 모두 0이 됩니다.

 

 

 

MA(2) 모형 SAS CODE

 

다음은 MA(2)의 코딩 방법입니다.

 

PROC ARIMA DATA = ma2;
     IDENTIFY VAR = y;
     ESTIMATE p = 0 q = 2 METHOD = ML MAXIT = 200 NOINT;
     FORECAST LEAD = 12;
RUN;

 

 

첫 번째 줄은 ma2 데이터 바구니가 DATA STEP에 준비되어 있다고 가정한 것입니다.

세 번째 줄은 p = 0 q = 2로 MA(2) 모형을 선택하고, 최우추정법으로 모형을 추정하라는 명령이며 모형에 상수항 INTERCEPT는 없다는 옵션 NOINT 를 사용하고 있습니다.

네 번째 줄에서는 미래예측은 12개를 하라는 LEAD = 12 명령어입니다.

위에서 언급한 것과 같이 12개의 미래예측값들 중 첫 2개만 0이 아닌 값으로 나오고 나머지는 모두 0으로 나올 것 입니다.

 

 

ARIMA (1,1) 모형

ARIMA(1,1) 모형은 AR(1) 모형과 MA(1) 모형이 합쳐진 모형으로 식은 아래와 같습니다.

 

image.png

 

 

 

여기서 AR(1) 모형은 아래의 식과 같습니다.

 

image.png

 

 

MA(1) 모형은 아래의 식과 같습니다.

 

image.png

 

 

AR(1) 모형과 MA(1) 이 합쳐져 있으므로, ACF 와 PACF 도 AR(1) 과 MA(1) 의 ACF 와 PACF 들이 합쳐진 형태가 될 것입니다.

이론적으로 ACF와 PACF를 계산하는 것은 약간 복잡하고 큰 의미가 없어서 ARMA(1,1) 모형으로 500 개 데이터 샘플을 생성하고 이 데이터를 사용하여 ARMA(1,1)의 ACF와 PACF를 구하고 그 특성을 판단하고 좋을 것 입니다.

 

 

ARMA(1,1) 모형 & CODE

ARMA(1,1) 모형을 사용하여 500개 샘플 데이터를 생성하기 위해 SAS 프로그램은 아래와 같습니다.

 

 

image.png

 

 

위의 ARMA(1,1) 식에서 a = 0.9 , B = 0.6 입니다.

 

 

 

data arma11;           /* (1) */
seed1 = 12;            /*(2) */
seed2 = 14;            /* (3) */
seed3 = 16;           /* (4) */
alpha = 0.9;         /* (5) */
beta = 0.6;          /* (6) */
ylag = rannor(seed1);
elag = rannor(seed2);
do i = 1 to 500;      /* (7) */
e = rannor(seed3);    /* (8) */
y = alpha*ylag + e + beta*elag; /* (9) */
output;       /* (10) */

ylag = y;  /* (11) */
elag = e; /* (12) */
end;
run;

proc arima data = arma11; /* (13) */
identify var=y;          /* (14) */
estimate p=1 q=1 method=ml maxit=200 noint; /* (15) */
forecast lead=12;         /* (16) */
run;

proc gplot data=arma11;     /* (17) */
plot y*I;                    /* (18) */
symbol v = none i=join c=bibg;   /* (19) */
run;

 

 

seed1, seed2, seed3 에 숫자를 정의해 놓고 아래 표준 정규분포, Standard Normal Distribution 을 이용하여 무작위 숫자를 생성할 때 RANNOR 함수를 사용하고자 합니다.

일곱 번째 주석에서는 Do Loop 을 이용하여 500개 샘플데이터 생성을 시작하였습니다.

여덜 번째 주석에서는 seed1을 사용하여 표준정규분포를 갖는 백색잡음, White Noise를 생성합니다.

아홉 번째 주석에서는 ARMA(1,1)인 Yt 값을 계산합니다.

열번째 주석에서 Do Loop 를 500회 실행할 때 생성된 모든 변수의 값들을 기억하는 명령입니다.

열한번째 주석과 열두번째 주석에서는 Do Loop 에서 꼭 필요한 변수값들 업데이터 하는 과정입니다. Do Loop 맨 밑에서 맨 처음부터 다시 시작되기 전에, 전기 값들은 현재 값으로 업데이트시킨 후에 Do Loop 이 다시 시작되어야 합니다 . ylag = y 와 elag = e 는 어느 것 먼저든 상관 없습니다.

열세번째 주석에서는 시계열분석을 하기 위한 명령어로 열네번째 주석 PROC ARIMA 다음 줄에 나와야 하는 IDENTIFY VAR = y 줄입니다.

열여섯번째 주석에서는 Y501부터 Y512까지 미래예측치 12개를 구하라는 명령입니다.

 

 

ARMA(1,1) 모형 결과

 

스크린샷_2021-12-19_오후_9.29.37.png

 

 

위의 플롯은 ARMA(1,1) 모형입니다. 데이터의 persistency 또는 메모리가 긴 (long memory) 것은 오로지 AR(1) 모형의 계수값 0.9 에서 발생하는 것입니다.

계수값이 1에 가까울수록 persistency는 증가합니다. 즉, Yt 시계열값이 한번 증가하기 시작하면 지속 증가하는 기간이 길어지고 역으로 한번 감소하면 지속 감소하는 기간이 길어지는 persistency는 AR(1) 계수에 의해 결정됩니다.

그 이유는 t 기의 백색잡음 et의 영향은 Yt로 전해지고 Yt+1 에는 0.9et 만큼 전해지며 Yt+2 에는 0.92et 만큼 전해지는 등 지속적으로 미래 Y 값에 영향을 미치게 됩니다. 그영향의 크기는 더 먼 미래로 갈수록 점점 작아지지만 AR(1) 모형의 계수값이 1에 가까울수록 그 영향은 더 크게 오랫동안 지속됩니다. 이렇게 오랫동안 영향을 미치는 모형의 특성 때문에 시계열 플롯에 persistency가 존재하게 됩니다.

이런 AR(1) 의 특성에 비해 MA(1)은 persistency 특성이 없는 시계열모형입니다.

 

 

 

스크린샷_2021-12-19_오후_9.43.49.png

 

 

Autocorrelation Check for White Noise 는 ARMA(1,1)으로 생성된 500개 Yt 샘플데이터를 사용해 샘플데이터가 귀무가설 백색잡음을 기각하는지를 검정하기 위해 마련된 자료입니다.

500개 샘플데이터로 추정한 1차 자기상관부터 6차 자기상관까지 모두 0 이라는 p1 = p2 = p3 = .... = p6 = 0 귀무가설을 검정한 결과가 첫줄 To Lag 6에 나와있습니다.

테스트 통계치인 Chi-Square 값은 1453.16이고 귀무가설의 자유도는 0으로 가정된 자기상관의 개수가 6이기 때문에 6입니다.

Chi-Square 검정통계치, Test Statistic 에 대한 확률값 Pr > ChiSq는 < 0.0001로 0.05보다 상당히 작아 귀무가설을 기가하게 됩니다 .

To Lag 24 까지 Pr > ChiSq 값이 < 0.0001로 작기 때문에 백색잡음 귀무가설은 강하게 기각됩니다.

 

 

 

 

스크린샷_2021-12-19_오후_9.42.17.png

 

 

 

Trend and Correlation Analysis for y에 있는 4개의 플롯들도 위에서 내린 결론과 같은 결론을 내리고 있습니다.

우선 ACF 플롯을 보면 AR(1) ACF와 거의 같다는 것을 알 수 있고, PACF 플롯은 부분자기상관값이 양수였다 음수로 변화하는 것을 반복하여 MA(1) PACF 와 거의 같다는 것을 알 수 있습니다.

 

Version history
Last update:
‎01-27-2022 12:24 AM
Updated by:
Contributors

sas-innovate-white.png

Register Today!

Join us for SAS Innovate 2025, our biggest and most exciting global event of the year, in Orlando, FL, from May 6-9.

 

Early bird rate extended! Save $200 when you sign up by March 31.

Register now!

Article Labels
Article Tags