본문 바로가기
Data & Research

[Time series] Forecasting 일반론

by TrillionNT 2024. 11. 25.

시계열을 분석하는 목적은 궁극적으로 미래예측 즉, Forecasting일 겁니다. 먼저 Forecasting 일반론을 살펴보고 우리가 알아보았던 ARMA시계열에서 구체적으로 어떤식으로 예측을 진행하는지 살펴보겠습니다. \( Y_{t+1} \)의 값을 예측한다고 해봅시다. 이때, 예측은 시점 \( t \)에 관측된(Observed) 변수 \( X_t \)의 값을 기반으로 이루어집니다. 만약, \(t+1\)시점의 \(Y\)값 \( Y_{t+1} \)를 가장 최근 \( m \)개의 \(Y\) 값에 기반하여 예측한다면 \( X_t \)는 \( Y_t, Y_{t-1}, \ldots, Y_{t-m+1} \)과 상수로 구성됩니다. 수식적으로 \( Y_{t+1|t} \)를 \( X_t \)를 기반으로 한 \( Y_{t+1} \)의 예측이라고 정의해볼까요?

 

최적의 예측 : Conditional Expectations

그렇다면, 최적의 예측이라는 것은 무엇일까요? 예측오차(RMSE)를 최소로 만드는 예측이라고 할 수 있겠죠?

우리가 찾는 최적의 예측, 다시 말해 평균 제곱 오차를 최소화하는 예측은 \( X_t \)에 조건부로 정의된 \( Y_{t+1} \)의 기댓값으로 나타낼 수 있습니다 \[ Y_{t+1|t} = \mathbb{E}(Y_{t+1} \mid X_t). \]


더보기

이를 증명하기 위해, \( Y_{t+1|t} \)를 \( g(X_t) \)라는 임의의 함수로 가정해보겠습니다. 이 경우, 평균 제곱 오차는 다음과 같습니다 동일한 항을 단순히 더하고 뺀 것이니 동일하겠죠?

이를 전개하면

\[ \begin{aligned} \mathbb{E}[ (Y_{t+1} - g(X_t))^2 ] &= \mathbb{E}[ (Y_{t+1} - \mathbb{E}[Y_{t+1} \mid X_t])^2 ] \\ &\quad + 2 \mathbb{E}[ \{ Y_{t+1} - \mathbb{E}[Y_{t+1} \mid X_t] \} \{ \mathbb{E}[Y_{t+1} \mid X_t] - g(X_t) \} ] \\ &\quad + \mathbb{E}[ (\mathbb{E}[Y_{t+1} \mid X_t] - g(X_t))^2 ]. \end{aligned} \]

중간에 있는 term을 다시 써볼까요?

\[ 2 \mathbb{E}[\eta_{t+1}] \]

where

\[ \eta_{t+1} = \{ Y_{t+1} - \mathbb{E}[Y_{t+1} \mid X_t] \} \{ \mathbb{E}[Y_{t+1} \mid X_t] - g(X_t) \}. \]

\( X_t \)에 대한 \( \eta_{t+1} \)의 Expectation을 생각해봅시다.

\[ \mathbb{E}[\eta_{t+1} \mid X_t] = \mathbb{E}[ \{ Y_{t+1} - \mathbb{E}[Y_{t+1} \mid X_t] \} \{ \mathbb{E}[Y_{t+1} \mid X_t] - g(X_t) \} \mid X_t ]. \]

여기서 \( \mathbb{E}[Y_{t+1} \mid X_t] \)와 \( g(X_t) \)는 \( X_t \) 에 대한 Expecation에 대해서는 상수이므로

\[ \mathbb{E}[\eta_{t+1} \mid X_t] = \{ \mathbb{E}[Y_{t+1} \mid X_t] - g(X_t) \} \mathbb{E}[ \{ Y_{t+1} - \mathbb{E}[Y_{t+1} \mid X_t] \} \mid X_t ]. \]

\( \mathbb{E}[ Y_{t+1} - \mathbb{E}[Y_{t+1} \mid X_t] \mid X_t ] = 0 \)이므로

\[ \mathbb{E}[\eta_{t+1} \mid X_t] = 0. \]

이를 이터레이션 기대값 법칙(law of iterated expectations)을 적용하면

\[ \mathbb{E}[\eta_{t+1}] = \mathbb{E}_{X_t}[\mathbb{E}[\eta_{t+1} \mid X_t]] = 0. \]

따라서 중간 term이 0이 되어, 평균 제곱 오차는 다음과 같이 쓸 수 있습니다.

\[ \mathbb{E}[ (Y_{t+1} - g(X_t))^2 ] = \mathbb{E}[ (Y_{t+1} - \mathbb{E}[Y_{t+1} \mid X_t])^2 ] + \mathbb{E}[ (\mathbb{E}[Y_{t+1} \mid X_t] - g(X_t))^2 ]. \]

두 번째 항은 0보다 작아질 수 없으며, 첫 번째 항은 \( g(X_t) \)와 무관합니다. \( g(X_t) = \mathbb{E}[Y_{t+1} \mid X_t] \)일 때, 두 번째 항이 0이 되어 최적의 예측이 성립합니다.

따라서 평균 제곱 오차를 최소화하는 \( g(X_t) \)는 조건부 기댓값입니다: \[ g(X_t) = \mathbb{E}(Y_{t+1} \mid X_t). \]


더보기

Law of Iterated Expectations

\[ \mathbb{E}[X] = \mathbb{E}[\mathbb{E}[X \mid Y]] \]

\[ \mathbb{E}[\mathbb{E}[X \mid Y]] = \sum_y \mathbb{E}[X \mid Y = y] P(Y = y) \] 조건부 기댓값을 다시 확장하면 \[ \mathbb{E}[\mathbb{E}[X \mid Y]] = \sum_y \sum_x x P(X = x \mid Y = y) P(Y = y) \] 조건부 확률 \(P(X = x \mid Y = y)\)를 이용하여 이를 다시 정리하면 \[ \mathbb{E}[\mathbb{E}[X \mid Y]] = \sum_y \sum_x x P(Y = y \mid X = x) P(X = x). \] 베이즈 정리 \(P(Y = y \mid X = x) = \frac{P(X = x \mid Y = y) P(Y = y)}{P(X = x)}\)를 적용하면 \[ \mathbb{E}[\mathbb{E}[X \mid Y]] = \sum_x x P(X = x) \sum_y P(Y = y \mid X = x). \] 확률의 총합 성질(\(\sum_y P(Y = y \mid X = x) = 1\))을 이용하면 \[ \mathbb{E}[\mathbb{E}[X \mid Y]] = \sum_x x P(X = x). \]

 

Law of Total Variance

\[ \text{var}(Y) = \mathbb{E}[Y^2] - \mathbb{E}[Y]^2 \] 여기서 \(\mathbb{E}[Y^2]\)와 \(\mathbb{E}[Y]^2\)에 LIE를 적용합니다 \[ \text{var}(Y) = \mathbb{E}[\mathbb{E}[Y^2 \mid X]] - \mathbb{E}[\mathbb{E}[Y \mid X]]^2 \] \(\mathbb{E}[Y^2 \mid X]\)는 다음과 같이 분해할 수 있습니다 \[ \mathbb{E}[Y^2 \mid X] = \text{var}(Y \mid X) + (\mathbb{E}[Y \mid X])^2. \] 이를 \(\text{var}(Y)\)에 대입하면 \[ \text{var}(Y) = \mathbb{E}[\text{var}(Y \mid X) + (\mathbb{E}[Y \mid X])^2] - \mathbb{E}[\mathbb{E}[Y \mid X]]^2 \] 식의 우변을 정리하면 \[ \text{var}(Y) = \mathbb{E}[\text{var}(Y \mid X)] + \mathbb{E}[(\mathbb{E}[Y \mid X])^2] - (\mathbb{E}[Y])^2 \] \(\mathbb{E}[(\mathbb{E}[Y \mid X])^2] - (\mathbb{E}[Y])^2\)는 분산의 정의에 의해 \[ \text{var}(\mathbb{E}[Y \mid X]) = \mathbb{E}[(\mathbb{E}[Y \mid X])^2] - (\mathbb{E}[Y])^2. \] 따라서 최종적으로 \[ \text{var}(Y) = \mathbb{E}[\text{var}(Y \mid X)] + \text{var}(\mathbb{E}[Y \mid X]). \]


 

최적의 선형 예측

 예측 \( Y_{t+1} \)를 \( X_t \)의 선형 함수로 제한해보겠습니다. 

\[ \hat{Y}_{t+1} = \alpha^\top X_t. \]

이제, 예측 오차 \( (Y_{t+1} - \alpha^\top X_t) \)가 \( X_t \)와 uncorrelated 되어있는 \( \alpha \) 값을 찾아 볼까요?

\[ \mathbb{E}[(Y_{t+1} - \alpha^\top X_t) X_t] = 0. \]

만약 위 조건이 성립하면, \( \alpha^\top X_t \)는 \( Y_{t+1} \)의 \( X_t \)에 대한 선형 투영(linear projection)이라고 합니다.

linear projection은 선형 예측 중에서도 평균 제곱 오차(Mean Squared Error, MSE)를 가장 작게 만드는 녀석입니다.


더보기

증명방법은 위에서 적용했던 방식과 비슷한데요 임의의 선형 예측 규칙 \( g^\top X_t \)의 MSE는 다음과 같이 표현됩니다:

\[ \mathbb{E}[(Y_{t+1} - g^\top X_t)^2]. \]

이를 전개하면,

\[ \mathbb{E}[(Y_{t+1} - g^\top X_t)^2] = \mathbb{E}[(Y_{t+1} - \alpha^\top X_t + \alpha^\top X_t - g^\top X_t)^2], \]

다음과 같이 됩니다

\[ = \mathbb{E}[(Y_{t+1} - \alpha^\top X_t)^2] + 2\mathbb{E}[(Y_{t+1} - \alpha^\top X_t)(\alpha^\top X_t - g^\top X_t)] + \mathbb{E}[(\alpha^\top X_t - g^\top X_t)^2]. \]

여기서 중간 term은 다음 조건에 의해 0이 됩니다 (linear projection의 정의)

\[ \mathbb{E}[(Y_{t+1} - \alpha^\top X_t) (\alpha^\top X_t - g^\top X_t)] = 0. \]

따라서 아래와 같이 정리할 수 있습니다.

\[ \mathbb{E}[(Y_{t+1} - g^\top X_t)^2] = \mathbb{E}[(Y_{t+1} - \alpha^\top X_t)^2] + \mathbb{E}[(\alpha^\top X_t - g^\top X_t)^2]. \]

최적의 선형 예측 \( g^\top X_t \)는 두 번째 항이 0이 되도록 하는 값이어야 합니다.

\( g^\top X_t = \alpha^\top X_t, \) where \( \mathbb{E}[(Y_{t+1} - \alpha^\top X_t) X_t] = 0. \)


linear projection \( \alpha^\top X_t \)를 아래와 같은 notation으로 적어보겠습니다. 

\( \hat{P}(Y_{t+1} | X_t) = \alpha^\top X_t, \) or \( \hat{Y}_{t+1} = \alpha^\top X_t. \)

 

맨 앞에서 살펴봤던 Conditional Expectation이 최적의 예측이기 때문에 당연히 아래 식이 성립합니다. 

\[ \text{MSE}[\hat{P}(Y_{t+1} | X_t)] \geq \text{MSE}[\mathbb{E}(Y_{t+1} | X_t)]. \]

 

아래와 같이 \(\hat{\mathbb{E}}\)라는 notation을 정의해보면 (대개의 경우 상수항도 포함되기에 상수항도 명시적으로 포함)

\[ \hat{\mathbb{E}}(Y_{t+1} | X_t) = \hat{P}(Y_{t+1} | 1, X_t). \]

 

Linear Projection의 성질

Linear Projection의 정의식을 약간만 이항해서 정리하면

\[ E(Y_{t+1} X_t) = \alpha E(X_t X_t^\top). \]

\( \alpha \)는 다음과 같이 계산됩니다:

\[ \alpha = E(Y_{t+1} X_t) \big(E(X_t X_t^\top)\big)^{-1}. \]

여기서 \( E(X_t X_t^\top) \)가 non-singular 행렬이라고 가정했습니다. 만약 \( E(X_t X_t^\top) \)가 singular인 경우, 벡터 \( \alpha \) 자체는 고유하게 결정(Uniquely determined)되지 않지만, \( \alpha^\top X_t \)는 고유하게 결정됩니다.[Hamilton 참고]


더보기

참고) Linear Projection의 평균 제곱 오차(Mean Squared Error, MSE)

\[ E\big(Y_{t+1} - \alpha^\top X_t\big)^2 = E(Y_{t+1}^2) - 2E(\alpha^\top X_t Y_{t+1}) + E(\alpha^\top X_t X_t^\top \alpha). \]

우리가 정리해 두었던 \( \alpha \)를 대입해서 정리해봅시다.

\[ \begin{aligned} E\big(Y_{t+1} - \alpha^\top X_t\big)^2 &= E(Y_{t+1}^2) \\ &\quad - 2E(Y_{t+1}^\top X_t)\big(E(X_t X_t^\top)\big)^{-1}E(X_t Y_{t+1}) \\ &\quad + E(Y_{t+1} X_t^\top)\big(E(X_t X_t^\top)\big)^{-1}E(X_t Y_{t+1}). \end{aligned} \]

정리하면,

\[ E\big(Y_{t+1} - \alpha^\top X_t\big)^2 = E(Y_{t+1}^2) - E(Y_{t+1} X_t^\top)\big(E(X_t X_t^\top)\big)^{-1}E(X_t Y_{t+1}). \]

만약 \( X_t \)에 상수 항이 포함된다면, \( (a Y_{t+1} + b) \)의 \( X_t \)에 대한 Projection은 다음과 같습니다(a, b는 deterministic constant).


\[ \hat{P}(a Y_{t+1} + b | X_t) = a \hat{P}(Y_{t+1} | X_t) + b. \]

뿐만아니라, Forecast Error는 다음과 같습니다:

\[ \big[a Y_{t+1} + b - \hat{P}(a Y_{t+1} + b | X_t)\big] = a\big(Y_{t+1} - \hat{P}(Y_{t+1} | X_t)\big). \]

보시다시피 Forecast Error 는 \( X_t \)와 uncorrelated 되어 있습니다.