ARIMA

2019-08-18 이민예

시계열분석이란 이렇듯 시간 변수의 흐름에 따른 종속변수의 움직임을 이해하고 예측하는 것을 목표로 하는 분석법이다.

AR(Autoregressive)

자기상관이란 어떠한 Random Variable에 대해서 이전의 값이 이후의 값에 영향을 미치고 있는 상황을 이야기한다. 예를 들면 코스닥 시장에서 주식의 액면가가 올라갈지 내려갈지는 알 수 없지만, 오늘 1주에 10,000원이라면 내일은 올라봤자 13,000원이고, 떨어져봤자 7,000원이다. 물론 이는 현행법 때문에 30%p 이상의 등락이 있을 수 없기 때문이지만, 내일의 액면가 Yt+1 는 분명히 오늘의 액면가 yt=10000 에 종속되어 있는 것이다. 이렇듯 무작위적으로 변하더라도 현재까지의 데이터와 어느정도 상관이 있는 변화를 캐치하는 것이 바로 시계열 분석의 목표다. 이러한 자기 상관은 바로 이전의 결과의 영향을 받을 수도 있지만, 드물게는 Delay가 발생하기도 한다.

내일의 액면가는 아직 알 수 없기 때문에 확률변수로 나타내기 위해 대문자, 오늘의 액면가는 이미 알고 있는 데이터기 때문에 소문자로 나타낸 것이다.

AR(1)모형

자기상관성을 시계열 모형으로 구성한 것을 AR 모형이라고 부르는데, 가장 간단한 형태가 바로 직전 데이터가 다음 데이터에 영향을 준다고 가정한 AR(1)모형이다.

X(t)=aX(t1)+c+ue(t) X(t)={a*X(t-1)+c}+u*e(t)

좀 쉽게 서술하자면, 시점 t에서 얻게 될 X(t)의 평균값은 시점 t-1에서 얻었던 X(t-1)의 값에 a를 곱하고 c를 더한 것과 같다는 뜻이다. 여기서 e(t)항은 white noise라고 부르며 평균이 0이고 분산이 1인 정규분포에서 도출된 random한 값이다. 즉, X(t) 값은 평균이 a*X(t-1)+c이며 분산이 u인 정규 분포에서 도출되는 임의의 값이라는 뜻이다.

MA(Moving Average)

MA(1)모형

이동평균을 시계열 모형으로 구성한 것을 MA 모형이라고 부르는데, 가장 간단한 형태가 바로 직전 데이터가 다음 데이터에 영향을 준다고 가정한 MA(1)모형이다.

X(t)=ae(t1)+c+ue(t) X(t)={a*e(t-1)+c}+u*e(t)

좀 쉽게 서술하자면, 시점 t에서 얻게 될 X(t)의 평균값은 시점 t-1에서 발생한 error e(t-1)의 값에 a를 곱하고 c를 더한 것과 같다는 뜻이다. 여기서 즉, X(t) 값은 평균이 a*e(t-1)이며 분산이 u인 정규 분포에서 도출되는 임의의 값이라는 뜻이다. AR(1)모형과 가장 결정적인 차이는 이전에 발생한 error가 중요한 것이지 결과적으로 X(t-1)이 무엇이엇는지는 중요하지 않다는 점이다.

ARMA(Autoregressive Moving Average)

ARMA(1,1)

X(t)=aX(t1)+be(t1)+c+ue(t) X(t)={a*X(t-1)}+{b*e(t-1)}+c+u*e(t)

ARMA(2,2)

X(t)=a1X(t1)+a2X(t2)+b1e(t1)+b2e(t2)+c+ue(t) X(t)={a1*X(t-1)+a2*X(t-2)}+{b1*e(t-1)+b2*e(t-2)}+c+u*e(t)

ARIMA(Autoregressive Integrated Moving Average)

ARIMA모형은 Autoregressive Integrated Moving Average라는 뜻으로, ARMA모형이 과거의 데이터들을 사용하는 것에 반해 ARIMA 모형은 이것을 넘어서서 과거의 데이터가 지니고 있던 '추세(Momentum)'까지 반영하게 된다. 즉, Correlation 뿐 아니라 Cointegration까지 고려한 모델이다.

ARIMA(1,1,1)

aX(t)X(t1)=bX(t1)+ce(t1)+d+ue(t) a*{X(t)-X(t-1)}={b*X(t-1)}+{c*e(t-1)}+d+u*e(t)

즉 X의 추세는 이전 X의 값과 이전의 white noise의 결과의 영향을 받게 된다는 뜻이다. 식을 조금 다르게 전개하면 아래와 같은 형태가 된다.

X(t)=[X(t1)+bX(t1)+ce(t1)+d+ue(t)]/a X(t)=[X(t-1)+{b*X(t-1)}+{c*e(t-1)}+d+u*e(t)]/a

그런데 이 모형은 자세히 보면 ARMA(1,1)과 다를 바가 없다. 그래서 ARIMA(1,1,1)은 사실상 쓰이지 않는다. 그러니 더 복잡한 모델인 ARIMA(1,2,1)를 소개하도록 하겠다.

ARIMA(1,2,1)

X(t)=(2+b/a)X(t1)+X(t2)+(c/a)e(t1)+(d/a)+(u/a)e(t) X(t)=(2+b/a)*X(t-1)+X(t-2)+(c/a)*e(t-1)+(d/a)+(u/a)*e(t)

수식을 보면서 조금 답답함을 느꼇을 것이고, ARMA모델과 많이 비슷하다는 생각도 했을 것이다. 많은 학자들도 비슷하게 생각하기 때문에 ARIMA모델을 선호하지 않고 ARMA모델만 택하는 경우도 많으며, 필자 또한 ARIMA모델을 선호하지 않는다. 특히 추세의 일관성이나 유의미성이 크지 않은 데이터의 경우 ARIMA 모형은 ARMA모형보다 모델의 타당성이 떨어지기도 하다는 점에서 ARIMA 모델을 도입하는 경우가 그리 흔하게 발견되지는 않는 것 같다.

Last updated