본문 바로가기
데이터과학/업계 이야기

시계열 데이터 분석 및 예측을 위한 완벽한 가이드

by Augmentia 2020. 12. 11.
728x90

금융 시장의 추세 또는 전기 소비량을 예측하는 모델에서 시간은 중요한 요소입니다. 예를 들어, 전기 생산량이나 전기 요금을 조정하기 위해 하루 중 어느 시간에 전력 소비가 가장 많을지 예측하는 것은 생각해 볼 수 있습니다.

시계열은 단순히 시간 순서로 정렬된 일련의 데이터 포인트입니다. 시계열 모형에서 시간 정보는 독립 변수이며 최종 목표는 일반적으로 미래를 예측하는 것입니다. 시계열 데이터를 다룰때 다음의 두가지를 중요하게 고려해야 합니다.

  • 시계열의 안정성(by examining stationary test)
  • 시계열의 주기적인 변동성을 의미하는 계정성(seasonality)
  • 오차항의 자기상관(by examining Durbin-Watson statistics)

이번 포스팅에서는 시계열의 다양한 특성과 이를 모델링하여 미래의 값을 예측하는 방법을 소개하고자 합니다.

자기 상관(Auto Correlation)

비공식적으로 자기 상관은 관측치 간의 시간 지연 함수로서 관측치 간의 유사성입니다.

위 그림은 자기 상관의 예입니다. 자세히 살펴보면 첫 번째 값과 24번째 값의 자기 상관이 높다는 것을 알 수 있습니다. 마찬가지로, 12번째와 36번째 관측치는 높은 상관 관계가 있습니다. 즉, 매 24단위 시간 마다 값이 매우 유사함을 알 수 있습니다.

플롯이 사인 함수처럼 생겼는지 확인해봐야 합니다. 이러한 패턴은 시계열의 계절성에 대한 힌트이며 위의 그림에서 일정한 시간 간격으로 반복되는 패턴을 통해서 확인할 수 있습니다.

계절성(Seasonality)

계절성은 주기적인 변동을 나타냅니다. 예를 들어, 전력 소비는 낮에는 높고 밤에는 낮습니다. 또는 크리스마스에는 온라인 판매가 증가하다가 다시 둔화됩니다.

위의 그림에는 명확한 일별 패턴이 있습니다. 매일 저녁 시간에 정점이 되고, 하루가 시작하는 시간과 끝나는 시간이 가장 낮은 지점이 됩니다. 계절성은 사인 곡선 모양인 경우 자기 상관 플롯에서도 파생 될 수 있습니다. 기간을 살펴보면 반복되는 패턴의 길이를 알 수 있습니다.

안정성(Stationary)

안정성은 시계열의 중요한 특성입니다. 시계열은 통계적 속성이 시간이 지남에 따라 변하지 않는 경우 고정되어 있다고합니다. 즉, 일정한 평균과 분산을 가지며 공분산은 시간과 무관합니다.

위 그림을 다시 보면 해당 시계열은 안정적임을 알 수 있습니다. 시간에 따라서 평균과 분산이 변하지 않는 특징이 있습니다.
주가는 종종 주가는 안정적이지 않습니다(non-stationary). 주가 데이터는 성장 추세를 보거나 시간이 지남에 따라 변동성이 증가 할 수 있기 때문입니다 (분산이 변함을 의미 함).

시계열 모델링을 위해서는 안정적인(Stationary) 데이터가 필요합니다. 물론, 원시계열이 안정적이지 않은 경우, 차분 또는 변화율을 변환하여 데이터를 안정화 시킬 수 있습니다.

시계열 안정성 테스트(Stationary Test, Dicky-Fuller Test)

Dickey-Fuller 테스트는 시계열에 단위근이 존재한다는 귀무 가설을 검정하는 것입니다. 단위근이 존재할 경우(p>0.05)에는 안정적이지 않는 상태가 아닙니다. 단위근이 존재하지 않을 경우(p < 0.05)에는 귀무 가설이 기각되고 시계열이 안정적인 것으로 간주됩니다. 예를 들어, 아래 그림의 시계열은 안정적이지 않습니다. 평균이 시간에 따라 변하기 때문입니다.

오차항의 자기상관(Durbin-Watson)

만약 시계열 데이터를 회귀 모형으로 다루고자 한다면 오차항의 자기상관을 여부를 철저하게 검증해야 합니다. 시계열 데이터의 경우 1기전 시기의 오차항(잔차)이 현재시점의 잔차항(오차)에 많은 영향을 미치기 때문에, 가성회귀(Supirous Regression)을 초래할 수 있습니다. 오차항의 독립성은 Durbin-Watson (DW) 통계량이 2 근처의 값이 나오는지 여부로 확인할 수 있습니다. DW 통계량은 보통 d 로 표시하며 0에서 4의 값을 갖습니다.

728x90