본문 바로가기

Data Science/시계열(Time-Series) 분석

Box-Jenkins 방법론과 ARIMA 모델의 기초

반응형

한 학기 동안 시계열 분석이라는 수업이 끝나고 배운 내용 중에 기록하지 못했던 ARIMA 모델에 대한 내용을 뒤늦게 포스팅 해보려 한다. 이번 포스팅에서는 시계열 모형의 통계이론 체계를 구축하여 모델의 적합성을 살펴보는 Box-Jenkins 방법론이라는 것과 ARIMA 모델에 대한 기초에 대해서 알아보려 한다. 목차는 다음과 같다.

 

1. ARIMA 모델이란 무엇인가?

2. Box-Jenkins 방법론 절차

3. 백색 잡음(White Noise) 

4. 확률 보행과정(Random Walk Process)

5. 정상시계열을 판단하는 방법

 

1. ARIMA 모델이란 무엇인가?

우선 ARIMA를 풀어 쓴다면 Auto Regressive Integrated Moving Average이다. ARIMA 모델은 확률에 기반하여 시계열을 분석하고 예측하는 방법 중 하나이다. ARIMA는 기본적으로 인자를 p,d,q를 갖는다. 이 때, p는 자기회귀의 차수, d는 차분의 횟수, q는 이동평균의 차수(과거 몇 개의 데이터를 사용할지)를 의미한다.(단, p,q는 보통 차수2를 넘지 않는다.)

 

https://slideplayer.com/slide/9522052/

 

따라서 ARIMA모델에 인자가 무엇이 들어가는지에 따라서 AR모델, MA모델, ARMA모델이 될 수도 있다. 그런데 인자가 무엇이 들어가느냐 이전에 ARIMA모델은 필수적으로 가정하고 있는 것이 하나 있다. 바로 ARIMA 모델을 적용하려는 시계열 데이터가 '정상성'을 반드시 가져야 한다는 것! 

 

그럼 정상성이란 무엇일까? 정상성이란, 시계열 성질들이 시간 흐름에 따라 불변(time-invariant)함을 의미한다. 정상성을 만족하기 위한 조건은 다음과 같다.

 

  • 평균값은 시간 t에 상관없이 일정해야 한다.

  • 분산값은 시간 t에 상관없이 일정해야 한다.

  • 공분산값은 시간 t에 의존하지 않고 오직 시차(k)에만 의존을 해야한다. 이 때 정상성은 '약한 정상성'이라고 부른다.

 

정상성의 조건

2. Box-Jenkins 방법론 절차

확률적인 시계열 모형을 주어진 데이터에 적합시키면 이 모형의 적합성 여부에 대해 판단하는 일종의 절차가 존재한다. 이 중 대표적인 방법이 Box-Jenkins 방법론이다. Box-Jenkins 방법론의 순서는 다음과 같다.

 

Box-Jenkins 방법론 절차

 

한 단계식 구체적인 절차에 대해서 알아보자.

 

  1. 모형식별 : 주어진 데이터의 ACF(자기상관함수), PACF(편자기상관함수)를 관찰하고 해당 데이터에 어떤 모형을 적합시키면 좋을지 여러가지 모형의 후보들을 만들어 본다. 

    • ACF : 같은 변수라도 시차를 가지고 스스로와 얼마나 비슷한지 나타내는 함수

    • PACF : 임의의 시차 k에 대하여 Zt 와 Zt+k 사이의 값들(Zt+1, Zt+2 , ... , Zt+k-1)의 상호의존성을 제거한 후의 Zt와 Zt+k만의 자기상관함수

  2. 모수추정 : 1번에서 도출된 여러가지 모형의 최적의 모수(Parameter)값을 추정(예를 들어, AR과 MA의 차수, mean값 등등..)한다. 이 때, 최소제곱법, 최대우도법을 사용한다.

  3. 모형 적합성 진단 : 여러가지 모형들 중 어떤 모형이 적합한지 각 모형의 잔차 그래프를 살펴보면서 검정하고 최종 적합 모형을 선정한다.

  4. 미래값 예측 : 3번 단계에서 최종 선정한 모형을 이용해 주어진 데이터의 미래값을 예측한다.

3. 백색잡음(White Noise)

강한 정상성을 갖고 있는 데이터가 있다. 바로 백색잡음 데이터이다. 그야말로 '잡음'이므로 Random한 값들로 이루어진 데이터이다. 따라서 강한 정상성을 갖고 있다. 확률과정(확률변수인 시계열의 집합)들이 서로 독립이며 동일한 분포(uniform distribution)를 갖는다. 평균이 0이며 분산이 1로 일정하고, 공분산도 일정하며 어떤 시점에 측정해도 동일한 값이 나오게 된다. 이 데이터의 ACF, PACF 함수 그래프를 살펴보면 아래와 같다.

 

백색잡음의 ACF, PACF 그래프

위 그림에서 ACF, PACF 그래프 각각을 보면 파란색 선이 존재하는데, 이는 신뢰수준 선으로 이 파란색 선을 넘지 않으면 정상성임을 알 수 있다. 따라서 임의로 주어진 시계열 데이터의 ACF, PACF 함수가 백색잡음의 형태와 같은 모양을 띈다면 정상성임을 알 수 있다.

 

4. 확률보행과정(Random Walk Process)

확률보행과정은 백색잡음과 달리 '비정상성'을 가정하고 있는 데이터이다. 따라서 ARIMA모델에 적용시키기 위해서는 반드시 데이터를 정상화 시켜야 한다. 우선 확률보행과정에는 절편(drift)이 있는 것과 없는 것 두 개로 나뉘어 진다.

 

4-1. 절편이 없는 확률보행과정

절편이 없는 확률보행과정

위 수식을 보면 Zt는 t시점의 시계열 관측값이다. εt는 위에서 배웠던 백색잡음(Random한값) 데이터를 의미한다.

 

4-2. 절편이 있는 확률보행과정

절편이 있는 확률보행과정

절편이 없을 때와는 달리 추가적으로 Zt-1앞에 Constants(상수값)이 생겼다.(사실 저 기호의 이름을 몰라 본문에 삽입하지 못했다..)

 

이렇게 2가지 확률보행과정의 종류에 대해 알아보았는데 위에서 봐왔던 것처럼 확률보행과정은 모두 전 시점의 관측값에 백색잡음 데이터와 상수값이 붙어있기 때문에 예측하기가 매우 힘들다. 따라서 이를 정상화시키기 위해서는 차분을 시켜주어야 한다. 차분이란, 현 시점의 데이터에서 과거 시점의 데이터를 빼는 것을 말하는데, 차분을 2회 한다면 대부분의 데이터들은 정상화가 된다. 또한 정상화시키는 방법으로 분산을 안정화시켜주기 위해 자연로그나 제곱근 변환을 시켜주기도 한다.(차분은 평균을 정상화시켜주는 것이다.)

 

5. 정상시계열을 판단하는 방법

Box-Jenkins 방법론에서 주어진 시계열 데이터가 정상성인지 아닌지는 '모형식별' 단계에서 이루어진다. 정상시계열을 판단하는 방법은 다음과 같다.

 

5-1. ACF, PACF 그래프 이용

원 데이터와 원 데이터의 잔차의 ACF, PACF 함수를 모두 살펴보면서 백색잡음 데이터의 ACF, PACF 함수와 비슷한 형태인지, 또 파란색 신뢰수준안에 막대 그래프들이 들어오는지 여부를 살펴보면 된다. 하지만 가끔 파란색 선에 살짝 걸치는 형태가 빈번하게 발생하는데 개인적인 의견으로는 시각적인 판단에 의존해야 하기 때문에 정확한 판단은 다음 5-2 방법을 지향한다.

 

5-2. 통계적 검정

통계적 검정방법으로는 KPSS 검정과 Ljung-Box Q 방법이 존재한다.

 

5-2-1. KPSS 검정 

KPSS 검정은 원 데이터에 적용하는 방법이다. KPSS 검정은 기본적으로 "해당 데이터는 정상시계열이다." 를 귀무가설로 가정하고 있다. 따라서 대립가설은 "해당 데이터는 정상시계열이 아니다."로 된다. KPSS 검정을 실시한 후 검정통계량 값이 신뢰수준의 임계치값보다 크게 나온다면 KPSS 검정이 가정하고 있는 귀무가설 즉, "해당 데이터는 정상시계열이다"임을 기각하면서 해당 데이터는 비정상시계열임을 알 수가 있다. 

 

R을 이용한 KPSS 검정

 

5-2-2. Ljung-Box Q 방법

잔차 검정에 적용하는 방법이다. 이 방법이 가정하고 있는 귀무가설은 "해당 데이터의 잔차들이 자기상관성이 없다." 이다. 만약 잔차들이 자기상관성이 없다면 원 데이터가 정상성을 만족하는 것이다. 이 방법은 KPSS 검정방법과는 달리 P-value(유의확률) 값이 요약값으로 나오기 때문에 신뢰수준의 유의수준보다 값이 작다면 귀무가설을 기각하게 된다.

 

R을 이용한 Ljung-Box Q 방법

 

 

반응형