본문 바로가기

Machine Learning Tasks/Time Series

Parameter Estimation, Model Redundancy, Prediction

반응형

Parameter estimation

이 장에서는 ARMA 모델의 파라미터를 추측하는 일반적인 방법에 대해 설명하고자 합니다. 지금까지 살펴봤던 방법으로는 ordinary least square (OLS) 를 이용한 회귀 분석이나 correlation 을 이용한 Yule-Walker equation 이 있습니다. 각 모델마다 일일히 구하는 것 대신 보다 일반적인 방법은 없을까요?

Conditional minimization

이 방법은 error 를 최소화하는 방향으로 파라미터를 찾는 방법입니다. 에러를 최소화한다는 것은 에러가 white noise 로 가정한 정규 분포에 대한 우도가 최대화하는 것과 같은 말이라 생각할 수 있습니다.

MA(1) ($X_t = a_t - \theta a_{t-1}$) 에 대해 살펴보겠습니다. 이를 $B$를 이용해 표현하면 $a_t = (1-\theta B)^{-1}X_t$가 되고 $|\theta| < 1$과 무한등비급수를 이용하면 $a_t=X_t + \theta X_{t-1} + \theta^2 X_{t-2} + ...$ 로 나타낼 수 있습니다.

Causal 한 시스템을 생각했을 때, $\tilde{a}_1=X_1$, $\tilde{a}_2=X_2 + \theta X_1$ 와 같이 적을 수 있습니다. 이때, $\tilde{a}$는 추정한 모델에 대한 잔차이므로 $\sum \tilde{a}^2$를 최소화하는 $\theta$를 찾으면 파라미터를 찾을 수 있습니다.

ARMA(1,1) 모델에 ($X_t = \phi X_{t-1} + a_t - \theta a_{t-1}$) 대해서는 어떨까요? 이것도 위와 마찬가지로 $a_t$에 대해 정리하면 $a_t$ = $X_t - \phi X_{t-1} + \theta a_{t-1}$와 같고 이를 이용하면 $\tilde{a}_2$=$X_2-\phi X_1$, $\tilde{a}_3$=$X_3-\phi X_2 + \theta \tilde{a}_2$ 식으로 정리됩니다. 위와 마찬가지로 $\sum \tilde{a}^2$를 최소화하는 $\theta, \phi$를 찾으면 해당 모델의 파라미터를 추정할 수 있습니다. 이때의 최소화는 최적화 문제로 Neuton-Rhapson 같은 수치해석 방법을 통해 답을 찾을 수 있습니다. 

 

Model redundancy

우리가 살펴본 여러 검증 방법에 대해서 보통 모델이 정확히 딱 하나로 정해지지는 않습니다. 이때 활용할 수 있는 다른 가이드라인 하나는 모델의 redundancy를 확인해보는 작업입니다. Redundancy 로부터 유추할 수 있듯이 표현력이 비슷한 모델들이 있다면 굳이 더 복잡한 모델을 쓸 필요가 없겠죠.

예를 들어 $X_t = 1/2 X_{t-1} + a_t$의 AR(1) 모델이 있다고 생각해봅시다. 이것은 $(1-0.5B)X_t = a_t$가 되는데, 양변에 임의의 값 $1-0.4B$을 곱하면 $X_t=0.9X_{t-1}-0.2X_{t-2}+a_t-0.4a_{t-1}$이 되어 ARMA(2,1) 모델이 되버립니다. 두개의  모델이 데이터를 잘 표현한다면 AR(1) 과 같이 더 단순한 모델을 사용하는 것이 낫습니다.

만약 ARMA(2,1) 모델을 사용하면 어떻게 될까요? 이것은 모델에 redundant 한 파라미터가 있기 때문에 ($1-0.4B$ 일 수도 있고 $1-0.2B$ 일 수도 있습니다) 수치해석적으로 해가 유일하게 정해지지 않고 예측치의 분산이 커지게 됩니다. 또한, 예측치의 분산이 커지므로 t 분포의 t 값이 작아지고 이것의 p-value 또한 커지게 됩니다. 

이를 해결하기 위해서는 각 계수를 예측한 이후에 계수의 p-value를 추정하고 p-value가 크다면 다항식을 구성하여 공통된 인수를 찾는 방법이 있습니다. 이러한 방법으로 redundant한 모델을 tight하게 만들 수 있습니다.

 

Prediction

모델을 추정한 이후의 이후의 값 예측은 어떻게 할까요? 우리가 만든 예측 모델 $h$에 대해 과거값 $X=x$가 (확률 변수의 realization) 있다면 예측은 $E[(y-h(x)^2|X=x]$로 생각할 수 있고 이를 미분하여 정리하면 예측값 $\hat{y}$는 $E[Y|X=x]$로 생각할 수 있습니다. 

Case of AR

AR(1) 모델 ($X_t=\phi X_{t-1} + a_t + \mu$) 에 대해서 예측을 해보고자 합니다. 먼저 t+1 시점의 예측값에 대해서는 $\hat{X}_{t+1}$ = $E[X_{t+1}|x_1, x_2, ..., x_t]$ 가 되고 이는 $E[\phi X_{t} + a_{t+1}|x_1, x_2, ..., x_t]$ = $\phi x_t+\mu$ 로 표현할 수 있습니다.

t+2 시점의 예측값은 $\hat{X}_{t+2}$ = $E[X_{t+2}|x_1, x_2, ..., x_t]$ = $E[\phi(\phi x_t + a_{t+1}+\mu) + a_{t+2}|x_1, x_2, ..., x_t]$가 됩니다. 이를 정리하면 $\phi^2 x_t+\phi \mu + \mu$=$\phi\hat{X}_{t+1} + \mu$가 됩니다. 즉, 전 시점의 예측값에 $\phi$를 곱해 다음 스텝의 값을 예측합니다. 이를 일반화해서 t 시점이 무한하게 된다면 어떻게 될까요? $\hat{X}_{\infty+1}$=$\hat{X}_{\infty} + \mu$ 가 되므로 결국 $\frac{\mu}{1-\phi}$로 수렴하게 됩니다.

AR(2) 에 대해서도 똑같이 적용해보면 $\hat{X}_{t+1}$ = $\phi_1 x_t + \phi_2 x_{t-1} + \mu$, $\hat{X}_{t+2}$ = $\phi_1 \hat{X}_{t+1} + \phi_2 x_t + \mu$ 와 같고 이것도 결국 예측치가 모델의 평균인 $\frac{\mu}{1-\phi_1-\phi_2}$로 수렴하게 됩니다.

Case of MA

MA(1) 의 t+1 시점에 대해 예측해보면 $\hat{X}_{t+1}$ = $E[X_{t+1}|x_1, x_2, ..., x_t]$ = $E[a_{t+1}-\theta a_t + \mu|x_1, x_2, ..., x_t]$ 과 같이 됩니다. 이를 정리하면 $\hat{X}_{t+1}$ = $-\theta E[a_t|x_1, x_2, ..., x_t] + \mu$ 인데, $E[a_t|x_1, x_2, ..., x_t]$는 위에서 언급한 parameter estimation 의 conditional minimization 방법으로 구할 수 있습니다. ($\tilde{a}_t$)

t+2 시점에 대해서는 어떻게 될까요? $\hat{X}_{t+2}$ = $E[X_{t+2}|x_1, x_2, ..., x_t]$ = $E[a_{t+2}-\theta a_{t+1} + \mu$] = $\mu$ 가 됩니다. 즉, MA(1) 모형은 white noise가 한 스텝끼리 연결되어 있다고 가정하는 모델이니 두 스텝 이후부터는 그냥 모델의 평균을 예측하게 됩니다. 

Case of ARMA

다음과 같은 ARMA(2,3) 모델, $X_t = X_{t-1}-0.24 X_{t-2}+a_t+0.4 a_{t-1} + 0.2 a_{t-2} + 0.1 a_{t-3}$ 이 있다고 합시다. 이것의 $\hat{X}_{t+1}$은 어떻게 될까요? 간단하게 $\hat{X}_{t+1}$=$x_t-0.24x_{t-1}+\tilde{a}_t+0.4\tilde{a}_{t-1}+0.2\tilde{a}_{t-2}+0.1\tilde{a}_{t-3}$ 이 되겠죠. 그 이후 시점의 예측은 마찬가지로 관측값이 없을 경우 예측값을 넣어 계산해주면 됩니다. 결과적으로 시간이 지나면 MA로부터 오는 영향은 없어지고 AR로부터의 영향으로만 예측을 하게 됩니다.

이때, $\tilde{a}_t, \tilde{a}_{t-1}, ...$를 어떻게 구할 수 있을까요? Conditional minimization에서 $\tilde{a}_1= \tilde{a}_2=0$이라 가정하면 $\tilde{a}_3$=$x_3-x_2+0.24x_1$, $\tilde{a}_4$=$x_4-x_3+0.24x_2+\tilde{a}_3$과 같이 순차적으로 구할 수 있습니다.

Error of prediction

예측값의 분산을 알아보기 위해 먼저 회귀 분석 시의 에러가 어떻게 분석되는지 알아보겠습니다.

$y=\beta_0 + \beta_1 x + \epsilon$ 에서 $\hat{\beta}_0$, $\hat{\beta}_1$를 추정하고 새로운 관측치는 $\hat{y}_{new}$=$\hat{\beta}_0+\hat{\beta}_1 x$로 추정합니다. ($\epsilon$은 알 수가 없어 0으로 추정합니다) 그렇다면 $\hat{y}_{new}$의 변동성은 1) $\hat{\beta}_0$, $\hat{\beta}_1$의 에러 (관측 데이터의 inherent noise) 와 2) $\epsilon$으로부터 오는 에러일 겁니다. 실제 상황에서는 시계열 데이터의 개수가 ($n$) 많기 때문에 $\epsilon$으로부터 오는 에러가 더 크다고 가정합니다. 

AR(2) 모형에 대해 생각해 보겠습니다. t+1 시점의 예측치는 $\hat{X}_{t+1}$=$\hat{\phi}_1 x_t + \hat{\phi}_2 x_{t-1}+\mu$ 로 구해집니다. $n$이 많아 추정한 $\phi$가 실제값에 가깝다고 가정하면, $X_{t+1} -$ $\hat{X}_{t+1}$=$a_{t+1}$이 되고 이 값은 white noise가 됩니다. 그렇다면 $X_{t+1}$에 대한 100(1-$\alpha$) 신뢰도 구간은 $\hat{X}_{t+1}\pm Z_{\alpha/2}\sigma_a^2$가 됩니다. $\sigma_a^2$를 찾기 위해서 $Var(X_{t+1})$과 Yule-Walker equation을 이용하거나 다음과 같은 방법이 이용됩니다.

일반적인 소프트웨어에서,

$\hat{\sigma}_a^2 = \sqrt{\frac{SSR}{n-(p+q)}}$

식을 이용해 $\sigma_a^2$를 구합니다. 여기서 SSR 는 Sum of Squared Residual 의 약자로 시계열 데이터에서 모델 추정값과 실제값의 차이의 제곱의 합입니다.

일반적인 ARMA(p,q) 모형에 대한 t+2 시점 이후의 예측은 어떨까요? 여기서 기존 AR, MA 모델에서 보았듯이 stationary 조건을 이용해 (무한등비급수, invert) $X_t$를 전 시점의 에러의 합으로 다음과 같이 나타냅니다.

$X_t=a_t+\psi_1 a_{t-1} + \psi_2 a_{t-2} + ...$

$X_{t+1} = a_{t+1} + \psi_1 a_{t} + \psi_2 a_{t-1} + ...$

$X_{t+2}=a_{t+2}+\psi_1 a_{t+1} + \psi_2 a{t} + ...$

$X_{t+1}-\hat{X}_{t+1}$는 $n$이 많아 추정값이 정확하다고 가정하면 $a_{t+1}$과 근사하다고 가정할 수 있습니다. 한 스텝 더 나아가 $\hat{X}_{t+2}=0+0+\psi_2 a_t + ... $로 예측할 수 있고 $X_{t+2}-\hat{X}_{t+2}$=$a_{t+2}+\psi_1 a_{t+1}$이 됩니다. 그렇다면 $Var[X_{t+2}-\hat{X}_{t+2}]$=$(1+\psi_1^2)\sigma_a^2$가 되게 됩니다. 이것을 생각해보면 t+1 시점은 하나의 에러항이 남고 t+2 시점은 두 시점의 에러항이 남는데 관련된 $\psi$가 따라 붙는 형태가 됩니다.

이를 일반화해서 먼 스텝까지 확장하면 $Var[X_{t+l}-\hat{X}_{t+l}]$=$(1+\psi_1^2+...+\psi_{l-1}^2)\sigma_a^2$ 로 표현할 수 있습니다. $l\to\infty$라면 예측값의 분포는 어떻게 될까요? 먼저 $Var[X_{t+l}-\hat{X}_{t+1}] \approx Var[X_t]$로 수렴합니다. 즉, 긴 시점까지 예측하게 되면 예측치의 분산은 점점 커지게 되면서 (미래 예측치의 noise가 추가되므로) $Var[X_t]$로 수렴하게 됩니다. 예측값의 평균은 스텝을 계속 전진시키면 미래 시점의 white noise의 평균을 0으로 예측하기 때문에 $E[X_t]$ 근사하게 됩니다. 

이를 통해 stationary 한 신호로만 먼 미래의 예측보다는 짧은 미래의 예측이 더 정당성이 높습니다. 먼 미래의 예측은 추세나 nonstationary한 부분을 반영해야 먼 미래를 더 잘 추정할 수 있습니다.

반응형