Data/데이터분석

시계열 데이터 정상성(Stationarity)과 차분

유일리 2023. 9. 11. 16:33
정상성이란?

과거 관찰값을 바탕으로 미래를 예측하기 위해서는 수집된 관측값이 안정적으로 유지되고 있는지, 또는 계속해서 변동하는 상태인지를 확인해야 한다. 이때, 시계열의 안정적 수준이 '정상성'이며, 변하지 않고 일정한 상태를 의미한다.

 

정상성의 만족 조건은 아래와 같다.

  • 평균이 일정
  • 분산이 시점에 의존하지 않음
  • 공분산은 시차에만 의존하고, 시점 자체에 의존하지는 않음

정상성에는 강 정상성과 약 정상성이 있다. 강 정상성은  기저를 이루는 확률 분포(Underlying distribution)가 언제나 같아야 한다는 것이다. 이런 경우는 현실에서 매우 찾아보기 어렵다. 우리가 마주하는 데이터들은 항상 잡음(noise)도 존재하고 다양한 원인들이 서로 여러가지 영향을 미치고 있다. 그렇기에 어떤 시계열이 완벽하게 처음부터 끝까지 같은 확률 분포를 유지하는 경우는 드물다. 또한 강정상 시계열을 발견했다고 하더라도 이를 수리적으로 증명하는 것은 더욱 어렵다. 그렇기에 우리에게 필요한 것은 바로 약 정상성이다. 평균, 분산, 왜도, 첨도 등 모든 통계적 특성이 동일하면 강 정상성이고 평균과 분산의 통계적 특성이 동일하면 약 정상성으로 구분한다. 일반적으로 약정상 시계열 정도만 되어도 정상성을 띈다고 본다. 

<Forecast: Principles and Practice> 9가지 시계열 그래프

추세가 있는 시계열 (a), (c), (e), (f), (i) 은 관측 시점에 따라 특성이 바뀌기 때문에 정상적일 수 없다. 계절성이 있는 시계열(d), (h), (i) 도 관측 시점에 따라 특성이 변하고 분산이 증가하거나 감소하는 시계열 역시 정상적이라고 볼 수 없다. 남은 시계열 중 (b)에는 높게 솟아오르는 부분이 있기에 분산이 안정적이지 못하다. 남은 (g) 시계열은 계절성을 지니고 있는 것처럼 보이지만 등락이 있어 고정된 기간이 존재하지 않는다. 따라서 이 시계열은 정상성을 나타내는 시계열이다.

 

차분이란?

차분은 정상성을 나타내지 않는 시계열을 정상성을 나타내도록 만드는 방법으로, 연이은 관측값들의 차이를 계산하는 것이다. 한번의 차이를 구하는 것을 1차 차분이라고 하며, 1차 차분값을 다시 차분하는 것을 2차 차분이라고 한다. 이런식으로 차분은 데이터의 길이가 충분할 경우 여러번 수행될 수 있다. (대부분의 경우엔 1차 차분만으로 정상적인 시계열이 만들어진다.)

 

로그 같은 변환은 시계열의 분산 변화를 일정하게 만드는데 도움이 될 수 있다. 차분(differencing)은 시계열의 수준에서 나타나는 변화를 제거하여 시계열의 평균 변화를 일정하게 만드는데 도움이 될 수 있다. 결과적으로 추세나 계절성이 제거(또는 감소)된다.

 

차분을 수식으로 나타내면 다음과 같다. t 시점의 값에서 t-1 시점의 값을 빼는 것이다. 이를 통해 시계열 수준의 추세는 대부분 사라지게 된다.

계절성 차분은 관측치와, 같은 계절의 이전 관측값과의 차이를 말한다. m은 계절의 개수를 말한다.

정상성을 나타내지 않는 시계열을 찾아낼 떄, 데이터의 시간 그래프를 살펴보는 것만큼 ACF 그래프가 유용하다. ACF는 어떤 무작위의 신호가 두 시각에 취하는 값의 상관계수를 나타내는 자기 상관 함수이다.

구글 주식 가격의 ACF (왼쪽) 그리고 일별 변동 (오른쪽)

 

정상성을 나타내지 않는 데이터에서는 ACF가 느리게 감소하지만, 정상성을 나타내는 시계열에서는 ACF가 비교적 빠르게 0으로 떨어질 것이다. 그리고 정상성을 나타내지 않는 데이터에서 r1은 종종 큰 양수 값을 갖기도 한다.