2022년 8월 17일 수요일

ARIMA

시계열 데이터의 정상성 (Stationary)

- 전통적으로 시계열 분석은 현재 시점까지 시계열 데이터의 확률적 특성이 시간이 지나도 그대로 유지 될 것을 가정하고 있다. 즉 시간과 관계 없이 평균과 분산이 불변해야하고, 두 개의 시점 간의 공분산이 다른 시점 과는 무관해야 한다.

1. Constant μ (mean) for all t.
2. Constant σ (variance) for all t.
3. The autocovariance function between Xt1 and Xt2 only depends on the interval t1 and t2.



1) AR Model

Autoregressive 모델은 자기 회귀 모델이라고 불린다. 과거 시점의 자기 자신의 데이터가 현 시점의 자기 자신에게 영향을 미치는 모델이라는 뜻이다. AR(1)모델의 수식을 보면 아래와 같다. (AR의 차수 p=1 인 경우로 현재 시점부터 과거 p개 이전의 시점까지 데이터의 영향도를 보겠다는 뜻)

X(t) = w*X(t-1) + b + u*e(t)

위 수식을 보면 현재 시점 t에 대한 데이터는 이전 시점의 자기 데이터에 가중치 w를 곱하고 상수 b를 더하고(회귀식), error term인 e(t)에 가중치 u를 곱한 것을 더해서 표현할 수 있다. 여기서 e(t)는 white-noise라고 불리며, 일반적인 정규분포에서 도출된 random한 noise 값이다. 위에서 설명한 stationary와 관련된 것으로, 정상성 조건을 만족시키도록 하는 일종의 whitening이라고 하는 정규화로 보면 된다.

AR Model은 추세가 변하는 상황에서는 적합하지 않은 모델이다.


2) MA Model

Moving average 모델은 이동 평균 모델이라고 불리고, 트렌드 즉 추세가 변하는 상황에서 적합한 모델이다. MA(1) 모델을 수식으로 보면 아래와 같다. (MA의 차수 q=1인 경우로 과거 q개 이전의 변화율을 현재 시점에 반영하겠다는 뜻)

X(t) = w*e(t-1) + b +u*e(t)

위 수식을 보면 AR모델에서의 X(t-1)이 e(t-1)로 바뀌었다. 즉, 이전 상태의 자기자신을 보는 것이 아닌, 이전 항에서의 error텀을 현 시점에 반영하겠다는 뜻이다. 즉 변화율(추세)에 맞춰 추정하겠다는 의미다.


3) ARMA Model

ARMA는 1)의 AR과 2)의 MA모델을 합친 모델이다. 현재 시점의 상태를 파악하는 과거 시점의 자기 자신과 추세까지 전부 반영하겠다는 의미로, ARMA(1,1) 모델에 대한 수식을 보면 아래와 같이 간단하게 합칠 수 있다. (회귀 분석에서 독립 변수의 항이 늘어나는 개념)

 X(t) = w_{1,1}*X(t-1) + w_{2,1}*e(t-1) + b +u*e(t)


4) ARIMA Model

이제까지 AR, MA, ARMA모델의 경우 시계열이 정상성이라는 가정이 있는 상황에서 진행했다면, ARIMA모델에서는 차분이라는 개념을 통해 non-stationary한 상황에서 좀 더 나은 예측을 하는 것이 목표다. (현실세계의 데이터는 non-stationary한 경우가 대부분) 

따라서 ARMA모델에 차분이라는 차수 d가 포함되어 ARIMA(p,d,q)로 표현할 수 있다.

차분이라는 개념은 현재 상태에서 바로 이전 상태를 빼주는 것을 의미하며, 차분을 거친 결과들이 whitening되는 효과를 가져온다.

차분을 수식으로 보면 아래와 같다.

d = 0 : x_t = X_t

d = 1 : x_t = X_{t} - X_{t-1}

d = 2 : x_t = ( X_{t} - X_{t-1} ) - ( X{t-1} - X{t-2} )

결국 1차분이 필요한 ARIMA(1,1,1)모델의 경우 ARMA(1,1)모델의 수식에서 X위치에 1차분이 들어간 식을 대입해주면 된다.


- (p, d, q) 차수의 결정

 1) 차분 차수 d : 시계열 plot을 보고 정상성 여부를 확인하고, 차분을 진행하고, 차분 후의 plot을 보고 여부를 확인하는 프로세스로 진행한다. 

 

2) p, q : p, q의 경우 보통 ACF(Autocorrelation function)와, PACF(Partial Autocorrelation function)를 보고 결정한다. ACF는 k lag 단위로 구분된 시계열 관측치 Xt 와 Xtk 간의 상관 측도이고,  PACF는 다른 모든 짧은 시차 항에 따라 조정한 후 k 시간 단위로 구분된 시계열의 관측치 \(X_{t}\) 와 Xtk 간의 상관 측도 이다. (참고 : ACF. , PACF ) 

아래 표를 보면 ACF와 PACF plot의 형태에 따라 p와 q의 차수를 결정할 수 있다. (아래 예시를 통해 구체적으로 확인)

 ACFPACF
AR(p)ACF plot이 서서히 감소하는 형태PACF plot이 p lag 이후 절단되는 형태
MA(q)ACF plot이 q lag 이후 절단되는 형태 PACF plot이 서서히 감소하는 형태

댓글 없음:

댓글 쓰기