본문 바로가기

Machine Learning Tasks/Time Series

시계열 모델 building

반응형

주어진 시계열 데이터에 대해서 일반적으로 1. AR, MA, ARMA 등 어떠한 모델을 사용할 것인지, 2. 모델을 정했으면 모델의 파라미터를 어떻게 구할 것인지, 3. 구한 모델이 합리적인지, 4. 예측 의 단계로 이루어집니다. (Box-Jenkins approach)

1, 3번에 대해서 ACF와 PACF를 이용하고 모델을 fitting 하고 난 이후의 나머지에 대해 Box-Ljung test, Sign test, Rank test, q-q plot 등을 수행하여 나머지가 white noise $a_t$ 와 비슷한지 테스트를 수행하게 됩니다. 또한, AIC, BIC 등을 이용하여 fitting 한 모델의 예측 스코어를 분석하거나 cross validation 을 하여 여러 모델의 적합성을 검사하게 됩니다. 

Checking residuals

먼저 모델을 fitting 한 이후의 나머지가 white noise에 얼마나 가까운지 테스트하는 방법에 대해 살펴보겠습니다. 

ACF of residuals

먼저 나머지 (잔차) 시계열이 white noise와 가깝다면 이것의 ACF는 어떤 특성을 가지게 될까요? 결과부터 말하면 $\hat{\rho} (h) \sim N(0, \frac{1}{\sqrt{n}})$ 이 되게 됩니다. 즉, $\frac{2}{\sqrt{n}}$ 안에 있는 값들은 95% 신뢰도로 0이라고 판단할 수 있는 것입니다. 왜 그럴까요?

주어진 나머지 시계열에서 $\hat{\rho} (h)$ = $\frac{1}{N-h} \sum_{t=h+1}^{t=n} a_t a_{t-h}$로 계산할 수 있습니다. ($E[a_t] = 0, Var[a_t] = 1$ 로 가정하였습니다) 먼저 평균 $E[\hat{\rho} (h)]$ 는 $a_t a_{t-h}$가 서로 uncorrelated 되어 있으므로 0이 됩니다. 분산의 경우에는 $Var(X+Y)$ = $Var(X) + 2Cov(X,Y) + Var(Y)$를 이용하면 $\frac{1}{N-h}$가 되게 됩니다. 데이터 개수 $N$은 충분히 크다고 가정하면 중심극한정리에 의해 정규분포가 되고 $N-h \approx N$ 이므로 $\hat{\rho} (h) \sim N(0, \frac{1}{\sqrt{n}})$ 임을 알 수 있습니다. 또한 신뢰도 구간은 $\frac{2}{\sqrt{n}}$으로 정합니다.

Ljung-Box-Pierce Q statistics

이 방법은 chi-square test의 일종으로 ARMA(p,q) 모델에 적용됩니다. 잔차가 white noise를 따른다면 $\hat{\gamma} (h) \sim N(0, \frac{1}{n})$ 이 되는데, 정규분포를 만들기 위해 $\sqrt{n}$을 곱하면 $\sqrt{n}\hat{\gamma} (h) \sim N(0,1)$이 되고 이를 제곱하면 자유도가 1인 chi-square 분포 ($\chi_1^2$)가 됩니다. 독립된 chi-squre 분포를 더하면 자유도가 더해지는 정리를 이용하면 다음과 같은 Q statitics를 얻을 수 있습니다.

$Q = n\sum_{h=1}^{k} \hat{\gamma} (h) \sim \chi_{k-p-q}^2$

만약 white noise에서 많이 벗어난다면 Q의 값이 커질 것입니다. (rare case를 생각하면 됩니다) 즉, Q값이 커지면 chi-squre 분포에서 드문 경우이므로 white noise가 아닐 확률이 높아지는 원리입니다. 따라서 더 적합한 다른 모델이 있을 수 있다는 것이죠. 일반적으로 k는 20 정도를 사용합니다. 

Jarque-Bera test

모델 fitting 이후의 잔차의 분포가 normal distribution의 skewness와 kurtosis를 따르는지 확인합니다. Normal distribution의 skewness는 대칭성에 의해 0, kurtosis는 3을 가지니 잔차의 분포가 이 값에 가까워야 합니다. JB 스코어는 다음과 같이 계산합니다. ($S$: Skewness, $K$: Kurtosis)

$JB = \frac{n}{6}(S^2+\frac{1}{4} (K-3)^2)$

q-q plot

q-q plot은 quantile-quantile plot의 약자로 두 분포의 유사성을 quantile 값에 따라 비교해가며 plot으로 표현한 것입니다. 나머지 시계열 분포와 정규 분포의 q-q plot을 비교하고 나머지의 분포가 white noise에 가깝다면 q-q plot은 거의 직선의 형태에 가깝게 될 것입니다. 

 

Model selection

어떤 모델이 예측을 더 잘하는지 어떻게 판별할 수 있을까요? AIC (Akaike Information Criteria), BIC (Bayesian Information Criteria) 값을 통해 판단할 수 있습니다. 

AIC는 $-2\log (\hat{L}) + \frac{2(p+q+1)n}{n-p-q-2}$ 값으로 책마다 식이 약간씩 변할 수는 있으나 근본은 똑같습니다, 식에서 $\hat{L}$은 모델의 우도 (likelihood)로 모델이 얼마나 잘 fitting이 되었는지를 나타냅니다. 즉, 우도가 높다면 모델 fitting이 잘 되었다고 생각할 수 있겠죠. 두 번째 항은 모델의 복잡도를 나타냅니다. p, q가 커질수록 ARMA 의 order를 높이는 것이므로 모델이 복잡해질 것입니다. 이 상황에서 우리는 AIC가 최소값을 가지는 모델을 선택합니다. 즉, 모델의 fitting 력과 모델의 복잡도 사이의 trade-off 에 따라 모델을 선택하는 것이죠.

BIC의 경우도 AIC의 거의 비슷합니다. BIC는 $-2\log (\hat{L}) + 2(p+q+1)\log{n}$ 값이고 AIC와 마찬가지 원리로 최소값을 가지는 모델을 선택합니다.

반응형