logo

시계열분석에서의 정상성 📂통계적분석

시계열분석에서의 정상성

정의 1

시계열 데이터의 평균과 분산이 일정할 때 정상성stationarity을 갖는다고 한다.

설명

정상正常Normal이 아니라 정상定常Stational이다.

데이터가 정상성을 가진다는 것은 평균과 분산이 안정되어 있어서 분석하기 쉽다는 의미가 된다. 데이터가 정상성을 가지지 않으면 분석이 어렵기 때문에 정상성을 갖도록 만드는 전처리를 하게 된다. 보통 평균이 일정하지 않으면 차분을 취하고, 분산이 일정하지 않으면 변환을 취한다.

다음 네가지 그래프를 보자.

datas.png

  • 다루기 어려운 데이터: 안 그래도 복잡한 등락을 반복하는 모양을 보이는데 갈수록 값이 커지는 경향이 있을뿐만 아니라 그 정도도 심해지고 있다. 이후의 동향을 짐작하는 것은 어렵지 않지만 수식적으로 깔끔하게 나타내기엔 몹시 어려워 보인다.
  • 일정한 평균: 고정된 0을 중심으로 점점 퍼져나가는 모양이기 때문에 어렵지는 않지만 그 폭이 넓어지는 것이 문제다.
  • 일정한 분산: 각각의 패턴은 일정한 모양을 갖추었지만 시간에 따라 값 자체가 증가하는 경향을 설명할 수 있어야한다.
  • 정상적 데이터: 평균과 분산이 일정하므로, 반복되는 등락만 잘 설명하면 된다.

이렇듯 데이터가 정상성을 가진다는 것은 아주 좋은 일이며, 사실 시계열분석을 사용하기 위한 필수조건이라고 할 수 있다.

한편 모든 시점 $t_{1} , t_{2} , \cdots , t_{n}$ 과 시차 $k$ 에 대해 $Y_{t_{1}} , Y_{t_{2}} , \cdots , Y_{t_{n}}$ 와 $Y_{t_{1} - k} , Y_{t_{2} - k} , \cdots , Y_{t_{n} - k}$ 가 같은 결합분포를 가지면 확률과정 $\left\{ Y_{t} \right\}$ 를 단조 정상적strictly Stationary이라 한다. 그러나 이것은 너무 좋은 조건이기 때문에 잘 언급되지는 않는다.

코드

win.graph(); par(mfrow=c(2,2))
plot(AirPassengers,main='다루기 어려운 데이터')
plot(diff(AirPassengers),main='일정한 평균')
plot(log(AirPassengers),main='일정한 분산')
plot(diff(log(AirPassengers)),main='정상적 데이터')

같이보기


  1. Cryer. (2008). Time Series Analysis: With Applications in R(2nd Edition): p16. ↩︎