본문 바로가기
Data & Research

[Time Series] Stationarity & Ergodicity

by 물박사의 저장공간 2024. 11. 18.
Dr.Trillion

드디어 ARIMA의 기저가 되는 ARMA process를 다룰 때가 왔습니다. 처음에 Time series를 시작할 때는 ARIMA랑 Kalman Filter정도 해야지? 라고 생각했었는데 어디까지 커버할 수 있을지는 좀 더 고민을 해보아야 할 것 같습니다.

 

1. 시계열의 정상성 (Stationarity)

시계열 \( Y_t \)의 기대값(Expectation)은 다음과 같이 정의됩니다. (Ensemble average의 probability limit으로 볼 수 있습니다)

\[ E(Y_t) = \int y_t f_{Y_t}(y_t) \, dy_t \]

 

아래의 조건을 만족하는 경우에 우리는 시계열이 공분산 정상성(Covariance Stationary)을 갖는다고 말합니다. 이 조건을 다른 표현으로 weakly stationary라고 합니다. 아주 엄격하지는 않은 정상성 가정이라는 것이죠.


더보기
https://www.quora.com/What-is-a-weak-and-strong-stationary

\[ E(Y_t) = \mu \quad \text{(모든 } t \text{에 대해 일정)} \] \[ \text{Cov}(Y_t, Y_{t-j}) = \gamma_j \quad \text{(시간 간격 } j \text{에만 의존)} \]

 

2. 시계열의 Ergodicity

우리는 시계열의 Expectation을 Ensemble average로 간주하고 계산을 했습니다. 그런데 사실 이런 정의는 조금 인위적인 감이 없지 않습니다. 대개 시계열에서 우리가 관측할 수 있는 것은 각 시점별로 단지 (앙상블 중) 하나의 실현된 결과물(single realization) 밖에 없습니다. 대개 우리가 관측하고 계산할 수 있는 것은 추상적인 개념의 ensemble average가 아니라 주어진 시간 \(T\)동안의 time average입니다. 이 때, ensembel average와 time average를 잇는 개념이 erogodicity입니다. 우리는 아래와 같은 조건을 만족할 때 이 covariance-stationary process가 "erogdic for the mean"이라고 말합니다. 시간이 무한에 가까워질수록 time average가 ensemble average에 수렴(converge)한다는 것이죠.

\[ \lim_{T \to \infty} \frac{1}{T} \sum_{t=1}^{T} Y_t = E(Y_t) \]

시계열의 auto-covariance \(\gamma_j\)가 \(j\)가 커질 때 충분히 빠르게(Sufficiently quickly) 0으로 수렴한다면 해당 process는 ergodic for the mean 입니다. \[ \sum_{j=0}^{\infty} |\gamma_j| < \infty \]


더보기

참고) Covariance와 Auto-Covariance의 개념은 아래와 같습니다. 

 

1. Covariance (공분산)

공분산(Covariance)은 두 확률 변수 \( X \)와 \( Y \)가 얼마나 함께 변하는지를 측정하는 값입니다. 즉, 두 변수 간의 관계를 나타내는 척도입니다. 공분산이 양수이면 두 변수가 같은 방향으로 움직이는 경향이 있고, 음수이면 반대 방향으로 움직이는 경향이 있습니다.

Covariance는 다음과 같이 정의됩니다:

\[ \text{Cov}(X, Y) = E[(X - \mu_X)(Y - \mu_Y)] \]

여기서,

  • \( E \)는 기대값 (Expectation)을 의미합니다.
  • \( \mu_X \)와 \( \mu_Y \)는 각각 \( X \)와 \( Y \)의 평균입니다.
Covariance의 성질
  • \( \text{Cov}(X, X) = \text{Var}(X) \): 자기 자신과의 공분산은 분산(Variance)입니다.
  • \( \text{Cov}(X, Y) = \text{Cov}(Y, X) \): Covariance는 대칭적입니다.
  • Covariance가 0이면 두 변수는 독립적일 수 있지만, 반드시 독립적이라는 것을 의미하지는 않습니다.

2. Autocovariance (자기공분산)

Autocovariance는 동일한 시계열 내에서 서로 다른 시점의 값들이 얼마나 관련이 있는지를 측정합니다. 즉, 시계열 데이터의 시간 지연(lag)에 따른 상관성을 분석할 때 사용됩니다.

시계열 \( Y_t \)의 \( j \)번째 시차(lag)에 대한 Autocovariance는 다음과 같이 정의됩니다:

\[ \gamma_j = \text{Cov}(Y_t, Y_{t-j}) = E[(Y_t - \mu)(Y_{t-j} - \mu)] \]

여기서,

  • \( \gamma_j \)는 \( j \)번째 시차의 Autocovariance입니다.
  • \( \mu \)는 시계열의 평균입니다.
Autocovariance의 성질
  • \( \gamma_0 = \text{Var}(Y_t) \): 0번째 시차의 Autocovariance는 시계열의 분산입니다.
  • \( \gamma_j = \gamma_{-j} \): Autocovariance는 시차의 부호에 대해 대칭적입니다.
Autocovariance 예제

만약 우리가 시계열 \( Y_t = c + \phi Y_{t-1} + \epsilon_t \)를 갖는다고 가정하면, 다음과 같은 자기공분산을 계산할 수 있습니다:

\[ \gamma_0 = \frac{\sigma^2}{1 - \phi^2}, \quad \gamma_1 = \frac{\phi \sigma^2}{1 - \phi^2} \]

여기서,

  • \( \sigma^2 \)는 백색 잡음(White Noise)의 분산입니다.
  • \( \phi \)는 자기회귀(AR) 계수입니다.

Stationary와 Ergodic의 개념이 같이 다니기는 하지만 다른 정의라는 것 아셨죠? 아래 예시는 Stationary이긴 하지만 Ergodic은 아닌 시계열의 대표적인 예입니다. \[ Y_t^{(i)} = \mu^{(i)} + \epsilon_t \]

시계열 \( Y_t^{(i)} \)의 기대값은 다음과 같습니다: \[ E(Y_t^{(i)}) = E(\mu^{(i)}) + E(\epsilon_t) = 0 \] 시계열의 분산은 다음과 같습니다: \[ \text{Var}(Y_t^{(i)}) = E[(Y_t^{(i)})^2] = E[(\mu^{(i)} + \epsilon_t)^2] = \lambda^2 + \sigma^2 \] 또한, 시계열의 자기공분산은 다음과 같습니다: \[ \gamma_j = E[(Y_t^{(i)} - \mu)(Y_{t-j}^{(i)} - \mu)] = \lambda^2 \quad \text{for } j \neq 0 \] 하지만, 이 시계열은 ergodic하지 않습니다. 그 이유는 개별 realization의 평균이 다른 값을 가지기 때문에, 시간이 무한히 흘러도 time average가 ensemble average와 일치하지 않기 때문입니다. \[ \lim_{T \to \infty} \frac{1}{T} \sum_{t=1}^{T} Y_t^{(i)} = \mu^{(i)} \neq 0 \]

 

3. 백색 잡음(White Noise)과 Independence

백색 잡음(White Noise) 과정은 평균이 0이고 분산이 \( \sigma^2 \)이며, 아래의 조건을 만족합니다.

\[ E(\epsilon_t) = 0, \quad E(\epsilon_t^2) = \sigma^2, \quad E(\epsilon_t \epsilon_{t-j}) = 0 \text{ for } j \neq 0 \]

이에 반해, 모든 시점에 대해 오차항 \( \epsilon_t \)와 \( \epsilon_s \)가 서로 독립이라는 것은 말그대로 오차항 간 어떠한 상관관계도 없이 독립적이라는 말입니다. \[ \epsilon_t \perp \epsilon_s \quad \text{for all } t \neq s \] 결합분포를 아래처럼 풀어헤칠 수 있다는 말이기도 하죠. \[ f(\epsilon_t, \epsilon_{t-1}) = f(\epsilon_t) f(\epsilon_{t-1}) \]

 

이 두 개념도 어떻게 다른지 White noise이지만 independent는 아닌 예시를 볼까요? 

다음과 같은 오차항 시퀀스를 고려해 봅시다 \[ \epsilon_t = Z_t^2 - 1 \] 여기서 \( Z_t \sim N(0, 1) \)는 독립 표준 정규 분포를 따릅니다. 이 경우, \( E(\epsilon_t) = 0 \), \( \text{Var}(\epsilon_t) = 2 \)이므로 백색 잡음 조건을 만족합니다. 하지만, \( \epsilon_t \)와 \( \epsilon_{t-1} \)은 둘 다 \( Z_t \)의 제곱에 의존하기 때문에 독립적이지 않습니다.