www.youtube.com/watch?v=YQF5PDDI9jo
ARIMA예측모델은 시계열 데이터의 정상성을 가정한다. 정상성이란 시계열 데이터의 특성이 시간의 흐름에 따라 변하지 않는다는 것을 의미한다.
정상 시계열은 장기적으로 예측 가능한 패턴을 갖지 않으며, 시계열 그래프는 일정한 변동폭(일정한 분산)을 가지면서 대체로 수평에 가까운 패턴(일정한 평균)을 보인다.
데이터가 정상성을 가진다는 것은 평균과 분산이 안정화되어 있어서 분석하기 쉽다는 것을 의미한다.
추세나 계절 요인은 시간이 경과하면서 관측값에 영향을 미치기 때문에 추세 성분이나 계절 성분을 갖는 시계열은 비정상적(non-stationary)이다.
불규칙 성분만으로 구성된 시계열은 정상적(stationary)이다. 어느 시점에서 관찰하든 관측값은 불규칙한 변동을 제외하면 동일한 모습을 가진다.
추세나 계절 요인이 포함되어 있어서 데이터가 정상성을 갖지 않으면 그러한 복잡한 패턴을 모델링하여 분석하는 것이 어렵기 때문에 일반적으로 정상성을 갖도록 전처리를 수행한다.
정상 시계열은 어느 시계열 구간에서 관찰하든 평균과 분산이 일정하며, 또한 관측값 간의 공분산도 일정하다. 이는 자기상관(autocorrelation)이 시간에 따라 변화하지 않는다는 것을 의미한다. 자기상관은 동일한 변수를 시점을 달리하여 관찰하였을 때 이 관측값들 사이의 상호 관련된 정도를 나타내는 척도이다.
자기상관은 시차(lag)를 적용한 시계열 데이터를 이용하여 계산한다. 시차를 적용한다는 것은 특정 시차만큼 관측값을 뒤로(즉 과거의 시점으로)이동시키는 것을 의미한다.
자기상관은 다른 시점의 관측값 간 상호 연관성을 나타내므로 이는 시차를 적용한 시계열 데이터 간의 상관관계를 의미한다. 자기상관 AC_k는 원래의 시계열 데이터(y_k)와 k 시차가 고려된, 즉 k기간 뒤로 이동한 시계열 데이터(y_t-k)간의 상관관계로 정의된다. 예를 들어 ,AC1은 시차0 시계열 데이터와 시차1 시계열 데이터 간의 상관관계이다. AC_0는 동일한 시계열 데이터간의 상관관계이므로 항상 1이다. 시차에 따른 일련의 자기상관 {AC_1,AC_2, …. ,AC_k}를 자기상관함수 autocorrelation function, ACF)라고 하나. ACF는 시차에 따른 관측값 간의 연관 정도를 보여주며, 시차가 커질수록 ACF는 점차 0에 가까워지게 된다. ACF는 시계열의 정상성을 평가할 때 유용하다. 정상 시계열의 ACF는 상대적으로 빨리 0으로 접근하고 비정상 시계열의 ACF는 천천히 감소하며 종종 큰 양의 값을 가진다.
편자기상관(partial autocorrelation)은 시차가 다른 두 시계열 데이터 간의 순수한 상호 연관성을 나타낸다. 편자기상관 PAC_k는 원래 시계열 데이터(y_t)와 시차k 시계열 데이터(y_t-k) 간의 순수한 상관관계로서 두 시점 사이에 포함된 모든 시계열 데이터(y_t-1, y_t-2, …, y_t-k+1)의 영향은 제거된다. 시차에 따른 일련의 편자기상관 {PAC_1, PAC_2, …, PAC_k}를 편자기상관함수(partial autocorrelation function PACF)라고 한다.
ACF plot과 PACF plot은 ACF와 PACF를 그래프로 시각화한것이다. 시계열 데이터의 정상성을 평가사고 ARIMA모델의 파라미터 결정 및 모델의 적합도를 평가하는데 사용된다.
a)와 같이 비정상 시계열에 대응되는 ACF plot은 자기상관이 크고 양수이며 천천히 감소하는 패턴을 보여준다. b)와 같이 정상 시계열에 대응되는 ACF도표는 모든 시차에서 0에 근접한 자기상관을 보여준다.
변동폭이 일정하지 않으면 로그 변환을 통해 시간의 흐름에 따라 분산이 일정하게 유지되는 정상 시계열로 변환한다. 추세나 계절적 요인이 관찰되면 차분(differencing, 시계열 y_t의 각 관측값을 y_t – y_t-1로 대체)과정을 통해 전 기간에 걸쳐 평균이 일정한 정상 시계열로 변환한다. 차분 과정을 거친 시계열에서는 선형 추세가 제거된다. 차분한 시계열이 여전히 비정상적이면 한번 더 차분한다. 한번더 차분하면 2차 비선형 추세가 제거된다. 일반적으로 2번을 차분하는 차분과정은 불필요한 것으로 알려져있다.
변동폭이 일정하지 않고 추세와 계절적 요인 또한 존재하면 로그 변환과 차분 과정을 모두 적용하여 정상 시계열로 변환한다.
a) 변동폭이 일정하지 않고 추세와 계절적 영향이 존재하는 비정상 시계열
b) 로그 변환을 차분과 함꼐 적용하여 평균과 분산이 일정하게 되는 정상 시계열로 변환
c) 차분을 통해 0을 중심으로 평균이 일정하게 유지되는 패턴으로 변환
d) 로그 변환과 차분을 함꼐 적용하여 평균과 분산이 일정하게 되는 정상 시계열로 변환
model = ARIMA(x_series, order=(3,0,1)) #order : tuple, optional The (p,d,q) order of the model for the autoregressive, differences, and moving average components. d is always an integer, while p and q may either be integers or lists of integers.
autoregressive란? : 자가 회귀 모델.
정상성 : 안정적이라는것을 의미
전 기간에 걸쳐 평균이 일정한 정상 시계열로 변환가능. 차분 과정을 거친 시계열에서는 선형 추세가 제거된다. 차분한 시계열이 여전히 비정상적이면 한번 더 차분한다. 한번더 차분하면 2차 비선형 추세가 제거된다. 일반적으로 2번을 차분하는 차분과정은 불필요한 것으로 알려져있다.
반복되는 불규칙한 변동만 잘 설명하면 되는 단순한 시계열 --> 복잡성이 줄기 때문에 효과적으로 설명가능하다.