MA 모형은 AR 모형과 달리 종속변수가 Yt 가 백색잡음에 의해서만 표현됩니다.
즉, P 오더(order) MA 모형, MA(p) 는 아래의 식으로 표현됩니다.
위의 식의 오른쪽 편에는 백식잡음인 e만 있으며 기대값은 모두 0이고 자기상관 역시 모두 0입니다.
MA 모형 중 가장 작은 모형은 1st 오더 Moving Average 모형, MA(1) 이며 아래와 같이 표현됩니다.
여기서 et 는 백색잡음(White Noise)로 E(et ) = 0, E(e2t) = δ2입니다.
AR모형과는 달리 MA(1) 계수 Parameter B의 크기에 대한 제한은 없습니다. 그 이유는, AR 모형과는 달리 모든 한정된 오더 (Finite Order) Moving Average 모형들은 안정적이기 때문입니다.
MA 모형은 AR 모형과 시계열적 특성면에서 상당히 다릅니다. 예를들면 위 MA(1) 모형으로 정의된 Yt 가 전혀 예측불가능한 백색잡음 et 에 어떤 영향을 생각해보면, 백색잡음 et 가 2.0 이었다면 Yt 값은 t 기에 바로 2.0 만큼 증가한다.
다음 (t-1) 기가 되었다면, Yt+1 = et-1 + Bet 가 되어 (t +1)기에도 2.0 B 만큼 영향을 미치게 됩니다.
그러나 (t+2) 기가 되면 Yt + 2 = et+2 + Bet+1 가 되어 et 의 영향은 2기만에 모두 사라지게 됩니다.
et 의 영향의 크기는 점차 줄어들지만 MA 모형에서 처럼 그 영향이 어느 한 시점에서 0으로 아주 없어지지는 않습니다. 그러므로 MA 모형과 AR 모형의 시계열적 특성은 상당히 다르다고 볼 수 있습니다. 이러한 자이점을 반영하여 MA 모형의자기상관함수 (AutoCorrelation, ACF)는 AR의 ACF 와 크게 다릅니다.
먼저 아래 MA(1) 모형의 미래예측 방법을 알아보고자 합니다.
예측방법은 먼저 예측하고자 하는 변수를 식으로 표현해야 합니다. 즉, 만약 (t+1)기의 Y 값을 예측하고자 한다면, 아래의 식 (1) 과 같습니다.
조건부기대값 Yt+1 | t 를 예측하고자 한다면 아래의 식 (2) 가 됩니다.
여기서 Ωt 는 t 기에 사용가능한 모든 정보의 집합을 나타내며 이 집합은 { Yt ,Yt -1 , Yt - 2 , ... , et, et-1, et-2, ... } 로 표현할 수 있습니다. t기에 사용가능한 정보의집합에 et 가 포함되어 있으나 백색잡음을 실제 예측에 사용할 수 있다고 하는 것은 무리가 있습니ㅏ.
그러므로 실제 사용가능한 다른 식을 구할 필요가 있습니다.
이를 위해서 Yt+1 값에서 예측치를 빼면 Yt +1 - Yt +1| t = et+1 이 되므로
이 됩니다.
Y의 미래값을 예측하기 위해서는 t기와 과거에 실현된 예측오차를 사용하는 것이 MA 모형을 이용한 예측방법의 핵심입니다. 2기 앞 Y 값의 예측인 Yt +2 | t 는 0이 됩니다.
그러므로 MA(1) 모형의 예측치는 Yt +1에 대한 예측치만 제외하고 모든 예측치는 0 = E(Yt) 가 됩니다.
위에서 설명한 정의들을 이용해 데이터를 생성하고 ACF, PACF, 예측치 등을 구하기 위해 MA(1) 데이터 생성 프로그램을 아래와 같이 생성하였습니다.
data ma1;
seed1 = 12; seed2 = 14;
beta = 0.9; /* (1) */
elag = rannor(seed1); /* (2) */
do i = 1 to 500;
e = rannor(seed2);
y = e +beta*elag; /* (3) */
output;
elag = e; /* (4) */
end;
run;
proc arima data=ma1;
identify var=y;
estimate p=0 q=1 method=ml maxit=200 noint; /* (5) */
forecast lead=5; /* (6) */
run;
(1) 주석에서 beta 값을 0.9로 하여 AR(1)의 a 값과 같게 하여 AR 모형과 MA 모형의 차이를 느낄 수 있습니다.
(2) 주석에서는 MA(1) 모형 데이터 생성에 필요한 값을 elag라고 명명하엿습니다. AR 데이터 생성 때와 마찬가지로 elag 첫 값을 임의로 정하지 않고 무작위수 생서함수인 RANNOR 를 사용하여 무작위 추출을 하였습니다.
(3) 주석에서는 MA(1) 모형을 구체적으로 명시하였습니다.
(4) 주석에서는 DO LOOP에 필요한 전기 값을 업데이트하는 과정으로 elag 값을 업데이트 하기 위해 e 값을 전환하는 명령어 입니다.
(5) 주석에서는 MA(1) 모형의 B 계수를 최우추정법(Maximun Likelihood)으로 추정하는 명령이며, 이 모형의 상수항은 없다는 NOINT 옵션을 추가하였습니다.
(6) 주석에서는 미래를 예측하라는 명령어로 Y501 부터 Y505 까지 예측치를 구하는 명령어입니다.
위의 결과는 IDENTITY VAR = y; 결과로 얻어진 값들입니다.
먼저 mean of working series 는 - 0.07005는 생성된 500개 데이터의 산술평균을 나타내며 실제 값 E(Yt) = 0 의 추정치입니다. Standard Deviation 1.34782는 Yt 의 표준편차를 말하며 Yt 의 분산, E(Yt2) = (1 + B2)δ2e 이며, 여기에 B = 0.9, δ2e = 1.0 을 대입하면 1.81 이고, 여기에 √1.81 = 1.3536이 true 값이지만 1.34782가 샘플 추정치입니다.
위 Autocorrelation Check for White Noise 는 500개의 white Noise인지를 검정하는 표입니다.
To Lag 6은 ρ1 = ρ2 = ... = ρ6 = 0 를 의미하며 Chi-Square 값은 이 귀무가설의 검정통계치 Test Stattistic 이 172.99 라는 것이며, 이 검정의 자유도는(DF)는 6이고, Pr > ChiSq는 Chi-Square 검정통계치의 확률값, Probability Value는 < .0001 라는 것입니다.
즉, 귀무가설이 맞는데도 불구하고 Chi-Square 값이 172.99이거나 이보다 큰 값이 나올 확률은 0.0001보다 작다는 것입니다. 그러므로 위 귀무가설은 기각되어 주어진 500개의 Yt 값들은 백색잡음이 아니라는 증거가 됩니다. Autocorrelation 에서 첫 줄의 0.545 는 1st Order Autocorreltation 즉 , ρ1 의 추정치로 트루값은 아래와 같습니다
두번째 값은 ρ2 부터 트루값은 모두 0이기 때문에 To Lag 의 마지막줄인 24까지 모든 값들이 0에 가까운 값들입니다.
Trend and Correlation Analysis for y 에는 첫번째 500개 샘플자료의 플롯, ACF 플롯이 나와있습니다.
위에 정리한 이론에서 설명한 바와 같이 MA(1) 은 첫번째 자기상관계수 ρ1 만 0이 아니고, ρ2 부터 모든 AutoCorreltaion 값들은 0 이기 때문에 위 ACF 플롯에서 보는 것처럼, 첫 번째를 제외한 다른 모든 AutoCorreltaion 값들은 95% 신뢰구간인 음영처리된 구간 안에 존재하고 있습니다.
아래쪽의 부분자기상관함수(PACF) 는 위 MA(1)을 AR(∞) 으로 전환했을 경우 AR의 계수값들을 부호가 + 와 - 를 반복하는 것으로 위 PACF 플롯이 같은 형태를 보이고 있습니다.
역자기상관함수(Inverse AutoCorrelation Function, IACF)는 PACF와 비슷한 형태를 보이고 있습니다.
estimate p=0 q=1 method=ml maxit=200 noint;
위의 결과는 참조된 코드를 통해서 나온 결과입니다.
MA1은 첫번째 MA 계수를 나타내며 모형에서는 B 를 나타냅니다.
B의 최우추정법으로 얻은 추정치는 0.89734입니다. 여기서 모형 표기가 SAS에서는 달라 - (음수)가 붙은 것 입니다.
Join us for SAS Innovate 2025, our biggest and most exciting global event of the year, in Orlando, FL, from May 6-9. Sign up by March 14 for just $795.