Linear model
Linear model 은 시계열 데이터의 시점 $t$ 에 대한 관측치를 ($X_t$) 전 시점 관측값에 대한 선형 결합으로 구성한 모델입니다. 여기서는 가장 대표적인 선형 모델이고 white noise 들의 선형 결합인 MA (Moving Average) 를 알아보도록 하겠습니다.
MA (q) (MA with order $q$) 는 다음과 같이 구성됩니다. 이때, centering을 통해 $E[X_t]=0$임을 가정하여 $\mu$를 없다고 생각하겠습니다.
$X_t = a_t - \theta_1 a_{t-1} - ... - \theta_q a_{t-q}$
간단하게 $q=1$ 인 MA(1)에 대해 생각해보도록 하겠습니다. 시계열 분석을 위해서 먼저 stationary 인지 확인을 해보겠습니다. 먼저 평균 $E[X_t] = E[a_t] - \theta E[a_{t-1}]$ 은 상수입니다. 공분산 $\gamma (h)$를 보면 다음과 같이 시간에 의존하지 않습니다.
1) $\gamma (0) = Cov(a_t - \theta a_{t-1}, a_t - \theta a_{t-1}) = \sigma_a^2(1 + \theta^2)$
2) $\gamma (1) = Cov(a_t - \theta a_{t-1}, a_{t+1} - \theta a_t) = -\theta \sigma_a^2$
3) $\gamma (2) = Cov(a_t - \theta a_{t-1}, a_{t+2} - \theta a_{t+1})$ = 0
공분산 $\gamma (h)$를 이용해 autocorrelation function $\rho$를 게산하면 $\rho (0) = 1, \rho(1) = -\frac{\theta}{1+\theta^2}$ 이고 $h \geq 2$에 대해 0임을 알 수 있습니다.
이를 일반적으로 확장하면 다음과 같은 infinte MA 를 정의할 수 있습니다.
$X_t = a_t - \theta_1 a_{t-1} - \theta_2 a_{t-2} - .... $
이때, autocovariance function은 $\gamma (h) = \sigma_a^2 \sum_{i=0}^{\infty} \theta_i \theta_{i-h}$ 로 주어지는데, $\sum_{i=0}^{\infty} \theta_i^2< \infty$ 을 만족하면 stationary 합니다.
Autoregressive model
AR(1)
Autoregressive model은 t 시점의 관측이 전 시점의 관측의 상수배와 white noise로 이루어져 있다고 가정한 모델입니다. 예를 들어 AR(1) 은 $X_t$ = $\phi X_{t-1} + a_t$ 로 정의됩니다. AR(1) 모델은 이전의 관측치와 지금 에러에 영향을 받습니다. 먼저 이를 재귀적으로 다음과 같이 풀어쓸 수 있습니다.
$X_t = \phi X_{t-1} + a_t = \phi(\phi X_{t-2} + a_{t-1}) + a_t = \phi^2 X_{t-2} + \phi a_{t-1} + a_t =$
$X_t$ = $a_t + \phi a_{t-1} + \phi^2 a_{t-2} + ... + \phi^m X_{t-m}$
만약 $|\phi| < 1$ 이고 $m$이 커질 수록 $\phi^m X_{t-m}$ 은 0으로 근접할 것이고, autoregressive 모델은 각 시점의 white noise의 합이 되게 됩니다. 즉, infinite moving average 처럼 표현할 수 있다는 것이죠.
$|\phi| < 1$ 일 때, 이 모델의 특성을 알아보겠습니다. 먼저 평균을 알아보겠습니다. $E[X_t]$ = $\phi E[X_{t-1}] + E[a_t]$ 가 될텐데 $X_t$가 stationary 하다면 $E[X_t] = E[X_{t-1}]$ 이므로 평균을 구할 수 있습니다. 따라서 $m =\phi m + 0$이므로 $m=\frac{1}{1-\phi}$ 가 됩니다.
분산은 어떻게 될까요? $Var[X_t] = Var[a_t + \phi a_{t-1} + \phi^2 a_{t-2} + ... ] = \sigma_a^2 + \phi\sigma_a^4 + \phi^2 \sigma_a^6 + ... = \frac{\sigma_a^2}{1-\phi^2}$ 가 될겁니다.
분산을 재귀적 수식이 아닌 AR(1) 모델에 대해 직접적으로 구하면 $Var[X_t] =\phi^2 Var[X_{t-1}] + \sigma_a^2 + 2\phi Cov(X_{t-1}, a_t)$가 됩니다. 이때, $Cov(X_{t-1}, a_t=0$ 입니다. 즉, 다음 시점의 에러는 전 시점의 관측값과 무관하므로 공분산은 0이 됩니다. 즉, $X_t$ 는 $|\phi| < 1$ 의 조건으로 인해 전 시점의 white noise로 표현되어 미래 시점의 에러와는 관계가 없습니다.
현재 관측값이 미래 시점의 값에 의존하지 않는 것을 causal 한 system이라 표현합니다. 다시 말하면 현재 관측값은 현재 혹은 전 시점의 값에만 의존한다는 것이죠. $|\phi| < 1$ 조건을 만족하면 AR(1) 모델은 causal 하고 stationary 하게 됩니다. 예를 들어 $X_t = 2X_{t-1} - a_t$의 시계열 모델은 causal 할까요? $X_{t-1} = \frac{1}{2}X_t + \frac{a_{t-1}}{2} = \frac{a_{t-1}}{2} + \frac{a_{t}}{2^2} + ... $로 표현됩니다. 따라서 이 모델은 causal 하지 않습니다. 앞으로 우리는 $X_t$와 $a_{t+1}$ 이 uncorrelated 되었다고 (causal 하다고) 가정합니다.
마지막으로 AR(1)은 backshift operator $B$로 표현할 수도 있습니다. $X_t$ = $\phi X_{t-1} + a_t = \phi BX_t + a_t$ 가 되므로 무한등비급수의 $|\phi| < 1$의 조건을 만족하면 $X_t$ = $(1-\phi B)^{-1}a_t$ 로 표현될 수 있습니다. 따라서 $X_t$ = $(1 + \phi B + \phi^2 B^2 + ... )a_t$ = $a_t + \phi a_{t-1} + \phi^2 a_{t-2} + ...$ 로 표현할 수 있습니다. 즉, 위에서 causal 하게 표현한 수식과 동일하게 되며 이를 위한 조건은 $|\phi| < 1$ 이 됩니다.
AR(2)
마찬가지로 AR(2)에 대해서 살펴보겠습니다. AR(2)는 과거 2개의 관측와 현재 시점의 white noise에 영향을 받아 $X_t$ = $\phi_1 X_{t-1}$ + $\phi_2 X_{t-2}$ + $a_t$로 표현됩니다. 이를 $B$를 이용해서 표현하면 $X_t$ = $\phi_1 BX_t$ + $\phi_2 B^2 X_t$ + $a_t$가 되어 $X_t$ = $(1-\phi_1 B - \phi_2 B^2)^{-1}a_t$로 표현할 수 있습니다. 이때, $1-\phi_1 B$ - $\phi_2 B^2$=$(1-\alpha_1 B)(1-\alpha_2 B)$ 로 한 이후에 $|\alpha_1| < 1$, $|\alpha_2| < 1$의 조건을 만족했을 때, $(1-\phi_1 B - \phi_2 B^2)^{-1}$과 같이 invertible하게 표현할 수 있습니다.
AR(1) 처럼 이를 풀어쓰면 어떻게 될까요? 먼저 $|\alpha_1| < 1, |\alpha_2| < 1$ 조건을 만족하면 $X_t = (1-\alpha_1 B)^{-1} (1-\alpha_2 B)^{-1} a_t$ 가 되고 최종적으로 $X_t = a_t + (\alpha_1 + \alpha_2)a_{t-1} + ...$ 로 표현할 수 있습니다. 따라서 $|\alpha_1| < 1, |\alpha_2| < 1$을 만족하게 되면 stationary 하고 causal 하게 됩니다. $|\alpha_1| < 1$, $|\alpha_2| < 1$을 만족하기 위해서는 $\phi_1 + \phi_2 < 1, \phi_2 - \phi_1 < 1, |\phi_2| < 1$을 만족하면 됩니다.
AR(3)
AR(3)도 마찬가지로 해석할 수 있습니다. AR(3) 모델은 $X_t $= $\phi_1 X_{t-1}$ + $\phi_2 X_{t-2}$ + $\phi_3 X_{t-3}$ + $a_t$ = $\phi_1 BX_t$ + $\phi_2 B^2 X_{t}$ + $\phi_3 B^3 X_t$ + $a_t$ 로 표현될 수 있고 AR(1), AR(2)와 마찬가지로 $1-\phi_1 B$ - $\phi_2 B^2$ - $\phi_3 B^3$ = $(1-\alpha_1 B)(1-\alpha_2 B)(1-\alpha_3 B)$ 로 바꾼 후에 $|\alpha_1| < 1, |\alpha_2| < 1, |\alpha_3| < 1$의 조건을 만족하면 stationary 하고 causal하게 시계열 데이터를 표현할 수 있습니다. 다만 AR(3)에서의 $\phi_1, \phi_2, \phi_3$은 numerical 하게 찾아집니다.
이를 일반적인 AR(p)로 확장했을 때 AR(1), AR(2), AR(3)과 같이 $B$를 이용해서 characteristic polynomial로 factorize 하여 invertible 한 조건을 찾을 수 있습니다. 이는 곧 causal 과 stationary를 만족하는 조건으로도 귀결됩니다. 특히, 이 조건을 만족했을 때, AR 모델은 MA 모델로 변환이 가능합니다.
Yule-Walker
지금까지 MA 모델, AR 모델 등을 살펴봤습니다. 그럼 어떠한 모델을 선택해야 할까요? 이를 위해서는 autocovariance function $\gamma$와 autocorrelation function $\rho$를 계산하여야 합니다. 이 2개의 function 이 모델을 선택하는데 가장 중요한 근거가 되기 때문입니다.
Case of AR(2)
AR(2)에서 $\gamma_X (h), \rho_X (h)$를 어떻게 이해할 수 있는지 살펴보겠습니다. $X_t$ = $\phi_1 X_{t-1} + \phi_2 X_{t-2} + a_t$ 의 양 변에 $X_{t-h}$를 한 번 곱해보겠습니다. 곱하면 $X_{t-h} X_t$ = $\phi_1 X_{t-h}X_{t-1} + \phi_2 X_{t-h}X_{t-2} + X_{t-h}a_t$ 이 되고 양변에 기대값을 취하고 h=0 이라면, $\gamma_X (0)$ - $\phi_1 \gamma_X (1)$ + $\phi_2 \gamma_X (2)$ = $\sigma_a^2$ 가 됩니다. 마찬가지로 양변에 기대값을 취한 상태에서 $h=1$ 이라면, $\gamma_X (1)$ - $\phi_1 \gamma_X (0)$ + $\phi_2 \gamma_X (1)$ = $0$ 가 됩니다.
이를 $h$에 대해 일반화해서 적은 식이 Yule-Walker equation 입니다. Yule-Walker equation은 AR(2) 모형에 대해서 $\gamma_X (h)$ - $\phi_1 \gamma_X (h-1)$ - $\phi_2 \gamma_X (h-2)$ 이 $h=0$ 일 경우 $\sigma_a^2$가 되고 $h$가 0보다 클 경우 0이 됩니다.
이를 autocorrelation function에 대해서 생각해봅시다. $\rho_X (h)$ = $\frac{\gamma_X (h)}{\gamma_X (0)}, \rho_X (0) = 1$ 임을 생각해볼 때, $\gamma_X (h)$ - $\phi_1 \gamma_X (h-1)$ - $\phi_2 \gamma_X (h-2)$ 에서 $\gamma_X (0)$ 을 나누면 $\rho_X (h)$ - $\phi_1 \rho_X (h-1)$ - $\phi_2 \rho_X (h-2)$ = $0$ 이 되게 됩니다. 이 식을 이용하면 $h=1$ 일 때, $\rho(1)$ - $\phi_1 1$ - $\phi_2 \rho (1)$ = $0$ 이 되며, $h=2$ 일 때, $\rho (2) - \phi_1 \rho(1) - \phi_2 = 0$ 이 되어 데이터를 통해 계산한 $\rho (1), \rho(2)$ 을 통해 $\phi_1, \phi_2$의 값을 구할 수 있습니다.
Case of AR(1)
AR(1) 에서의 Yule-Walker equation 은 AR(2)와 마찬가지로 $X_{t-h}$를 양변에 곱하고 기대값을 취한 이후에 h에 따른 값을 보면 구할 수 있습니다. AR(1) 에서는 h가 1보다 클 때, $\rho_X (h) = \phi \rho_X (h-1), \rho_X (h) = \phi^h$ 가 됩니다. 즉, autocorrelation function을 lag 마다 계산했을 때, exponential 하게 감소한다면 AR 모델을 써야 하는 강력한 단서가 되게 됩니다. 또한, 다른 AR 모델들도 exponential 하게 감소하는 항을 포함하고 있습니다.
EXAMPLE
144 개의 시계열 데이터 점이 ($x_1, x_2, ..., x_{144}$) 있다고 가정하고 이를 AR(2)에 맞추어 보겠습니다. AR(2)에 맞추겠다는 것은 결국 $\phi_1, \phi_2$를 찾아내겠다는 것과 같습니다.
1) $\gamma (0)$을 계산합니다. $\gamma (h) = \frac{1}{n-h}\sum_{t=h+1}^n (X_t-m)(X_{t-h}-m)$ 을 통해 계산할 수 있습니다. 마찬가지로 $\gamma (1), \gamma (2)$ 또한 계산할 수 있습니다.
2) $\rho(1) = \frac{\gamma (1)}{\gamma (0)}, \rho(2) = \frac{\gamma (2)}{\gamma (0)}$ 을 계산할 수 있습니다.
3) 1, 2에서 얻은 $\gamma (1), \gamma (2)$ 와 $\rho(1), \rho(2)$ 와 Yule-Walker equation을 이용해서 $\phi_1, \phi_2$ 를 계산할 수 있습니다. 참고로 여기서 구한 $\gamma, \rho$는 데이터를 통한 추정치이므로 notation에 추정치라는 hat 표현을 해주어야 하나 편의를 위해 생략하였습니다.
4) 마지막으로 $h=0$ 일 때의 Yule-Walker equation, $\gamma (0) - \phi_1 \gamma (1) - \phi_2 \gamma(2) = \sigma_a^2$를 이용해 $\sigma_a^2$를 구할 수 있습니다.
Genralilze of AR(p)
과거 p개의 관측치가 영향을 주는 AR(p)에 대해서는 어떨까요? AR(p)에 대한 Yule-Walker equation은 위의 AR(2)의 경우처럼 구할 수 있으며, $\gamma (h) - \phi_1 \gamma (h-1) - ... - \phi_p \gamma(h-p)$ 가 $h=0$일 땐 $\sigma_a^2$, $h$가 $0$보다 클때 0이 됩니다. 이를 $\gamma (0)$ 으로 나누면 autocorrelation function에 대한 Yule-Walker equation, $\rho (h) - \phi_1 \rho(h-1) - ... - \phi_p \rho (h-p) = 0, \rho(0) = 1$을 얻을 수 있습니다.
ARMA
ARMA는 autoregressive와 moving-average 모델이 공존하는 모델입니다. ARMA(p, q) 로 표현하고 p는 AR의 차수, q는 MA의 차수입니다. 예를 들어 ARMA(1,1) 모델은 $X_t = \phi X_{t-1} + a_t - \theta a_{t-1}$ 로 표현할 수 있습니다. 이것을 $B$를 사용하여 표현하면 $(1-\phi B)X_t = a_t - \theta a_{t-1}$ 이 되며, AR과 마찬가지로 특정 수렴 조건에 의해 $X_t$는 전 시점의 white noise 의 결합으로 표현할 수 있습니다.
마찬가지로 ARMA 모델에 대해서도 양변에 $X_{t-h}$를 곱하고 기대값을 씌움으로써 h 에 따른 Yule-Walker equations을 유도할 수 있습니다. $\gamma (h) = \phi \gamma (h-1) + E[a_t x_{t-h}] - \theta E[a_{t-1}x_{t-h}]$ 가 되어 $h$가 2 이상일 경우 $\gamma (h) = \phi \gamma (h-1)$ 이 됩니다. 이를 $\gamma (0)$ 으로 나눈 autocorrelation Yule-Waler equations는 $\rho (h) = \phi \rho (h-1), h \geq 2$가 되는데, AR(1) 처럼 lag 에 따른 exponential decay 한 모습을 가지게 됩니다. 즉, autocorrelation function 만으로는 AR모델을 써야 되는지 ARMA 모델을 써야되는지 불분명하다는 것이죠.
'Machine Learning Tasks > Time Series' 카테고리의 다른 글
시계열 모델 building (0) | 2021.03.10 |
---|---|
Partial Correlation (0) | 2021.03.10 |
Autocorrelation, 시계열 분해, Trend estimation (0) | 2021.03.07 |
기본 개념 (2) - Stationary, White noise (0) | 2021.03.07 |
기본 개념 (1) - 확률 (0) | 2021.03.07 |