8.4 이동 평균 모델
회귀에서 목표 예상 변수(forecast variable)의 과거 값을 이용하는 대신에, 이동 평균 모델은 회귀처럼 보이는 모델에서 과거 예측 오차(forecast error)을 이용합니다. \[ y_{t} = c + \varepsilon_t + \theta_{1}\varepsilon_{t-1} + \theta_{2}\varepsilon_{t-2} + \dots + \theta_{q}\varepsilon_{t-q}, \] 여기에서 \(\varepsilon_t\)는 백색잡음입니다. 이것을 \(q\)차 이동 평균 모델인 MA(\(q\)) 모델이라고 부르겠습니다. 물론, \(\varepsilon_t\)의 값을 관찰하지 않기 때문에, 이것은 실제로는 보통 생각하는 회귀가 아닙니다.
\(y_t\)의 각 값을 과거 몇 개의 예측 오차(forecast error)의 가중 이동 평균으로 생각할 수 있다는 것에 주목합시다. 하지만, 이동 평균 모델을 6장에서 다룬 이동 평균 평활과 헷갈리지 말아야 합니다. 이동 평균 모델은 미래 값을 예측할 때 사용합니다만, 이동 평균 평활은 과거 값의 추세-주기를 측정할 때 사용합니다.

Figure 8.6: 매개변수를 다르게 설정한 이동 평균 모델로부터 얻은 데이터의 두 가지 예. 왼쪽: \(y_t = 20 + \varepsilon_t + 0.8\varepsilon_{t-1}\)인 MA(1). 오른쪽: \(y_t = \varepsilon_t- \varepsilon_{t-1}+0.8\varepsilon_{t-2}\)인 MA(2). 두 가지 경우 모두, \(\varepsilon_t\)은 평균이 0이고 분산이 1인 정규 분포를 따르는 백색잡음입니다.
그림 8.6은 MA(1) 모델과 MA(2) 모델로 얻은 몇몇 데이터를 나타냅니다. 매개변수 \(\theta_1,\dots,\theta_q\)을 바꾸면 다른 시계열 패턴이 나타납니다. 자기회귀 모델을 이용하는 경우처럼, 오차항 \(\varepsilon_t\)의 분산은 시계열의 패턴이 아니라 눈금만 바꿀 것입니다.
정상성을 나타내는 어떤 AR(\(p\)) 모델을 MA(\(\infty\)) 모델로 쓸 수 있습니다. 예를 들어, 반복하여 대입하면, 이렇게 바꿔 쓰는 과정을 AR(1) 모델에 대해 다음과 같이 나타낼 수 있습니다: \[\begin{align*} y_t &= \phi_1y_{t-1} + \varepsilon_t\\ &= \phi_1(\phi_1y_{t-2} + \varepsilon_{t-1}) + \varepsilon_t\\ &= \phi_1^2y_{t-2} + \phi_1 \varepsilon_{t-1} + \varepsilon_t\\ &= \phi_1^3y_{t-3} + \phi_1^2 \varepsilon_{t-2} + \phi_1 \varepsilon_{t-1} + \varepsilon_t\\ &\text{etc.} \end{align*}\]
\(-1 < \phi_1 < 1\)에 대해, \(k\)가 커질 수록 \(\phi_1^k\)의 값이 작아질 것입니다. 그래서 결국 다음과 같은 식을 얻습니다. \[ y_t = \varepsilon_t + \phi_1 \varepsilon_{t-1} + \phi_1^2 \varepsilon_{t-2} + \phi_1^3 \varepsilon_{t-3} + \cdots, \] MA(\(\infty\)) 과정입니다.
MA 매개변수에 대한 몇몇 제한조건을 도입하면 반대 결과도 성립합니다. 그러면 MA 모델을 가역적(invertible)이라고 부릅니다. 즉, 어떤 가역적인 MA(\(q\)) 과정을 AR(\(\infty\)) 과정으로 쓸 수 있습니다. 가역적 모델은 단순하게 MA 모델을 AR 모델로 바꿀 수 있도록 하는 것만은 아닙니다. 몇 가지 수학적인 특징도 갖고 있습니다.
예를 들어, MA(1) 과정 \(y_{t} = e_t + \theta_{1}e_{t-1}\)을 생각해봅시다. 이것을 AR(\(\infty\))로 표현하면, 가장 최근의 오차는 현재와 과거 관측값의 선형 함수로 쓸 수 있습니다: \[ e_t = \sum_{j=0}^\infty (-\theta)^j y_{t-j}. \] \(|\theta| > 1\)이면, 가중치의 시차(lag) 값이 증가함에 따라 증가하고, 따라서 더 멀리 떨어진 관측값일 수록 현재 오차에 미치는 영향이 커집니다. \(|\theta|=1\)이면, 가중치가 크기에 대해 상수이고, 멀리 떨어진 관측값과 가까운 관측값 모두 같은 영향을 미칩니다. 앞의 두 경우 모두 그럴듯하지 않기 때문에, \(|\theta|<1\)가 필요하고, 따라서 가장 최근 관측값이 멀리 떨어진 관측값보다 더 큰 가중치를 갖게 됩니다. 따라서, \(|\theta|<1\) 일 때, 과정은 가역적(invertible)입니다.
다른 모델에 대한 가역성(invertibility) 제한조건은 정상성(stationarity) 제한조건과 비슷합니다.
- MA(1) 모델의 경우: \(-1<\theta_1<1\).
- MA(2) 모델의 경우: \(-1<\theta_2<1,~\) \(\theta_2+\theta_1 >-1,~\) \(\theta_1 -\theta_2 < 1\).
\(q\ge3\)에 대해서는 더 복잡한 조건이 성립합니다. 여기에서도, R에서 모델을 다룰 때 이러한 제한조건을 처리해줄 것입니다.