본문 바로가기

데이터 과학 스터디/시계열 스터디

시계열 분석 기법과 응용[Postec 전치혁 교수] Week1-1 이동평균법

*이 포스트는 포스택 전치혁 교수님의 K-mooc 강의, 시계열 분석 기법과 응용을 기반으로 작성되었습니다.

 

시계열 분석 (Time Series Analysis)

  • 하나의 변수에 대한 시간에 따른 관측치를 시계열 또는 시계열 데이터라 함.
  • 회귀모형과는 달리 다른 변수를 도입하지 않고 자신의 변수의 과거 패턴이 미래에도 계속된다는 가정하에 변수의 과거값을 바탕으로 미래값 예측
  • 시계열 패턴은 수평, 추세, 계절성이 복합된 것으로 간주
  • 시계열 분석의 목적:
    • 시계열의 특성(추세, 계절성)을 요약하고 시간에 따른 패턴(자기 상관성)을 분석
    • 시간에 따른 패턴을 바탕으로 모형화하고 미래값을 예측

시계열 분석 모형의 종류:

  • 평활화 모형: 이동평균, 지수평활, 윈터스 모형, 분해법
  • 정상적 ARMA 모형: AR, MA, ARMA 모형
  • 비정상적 모형: ARIMA, SARIMA
  • 오차 이분성 모형: ARCH, GARCH 모형
  • 다변량 시계열: 벡터 회귀모형(VAR)
  • 상태공간모형

이동평균 (Moving Average)

  • 매 시점에서 직전 $N$개 데이터의 평균을 산출하여 평활치로 사용 (실제 시계열 데이터는 변동이 굉장히 심하기 때문에, 이를 smoothing하여 패턴을 찾기 용이하게 함)

단순이동평균 (Simple Moving Average)

  • 시계열 데이터가 수평적 패턴인 경우 사용

$$ X_t = c+a_t, a_t \sim K(0,1) $$

($a_t$는 White Noise를 의미.) 라고 하였을 때, Simple Moving Average는 $c$에 대한 unbiased estimator.

$t$ 시점의 단순 이동평균 $M_t$: $t$시점 직전의 $N$개의 데이터의 평균으로 구해짐.

당연히 $N$개의 시점에 대해 평균을 내는 것이기 때문에 $N$이 클수록 평활(Smoothing) 효과가 커진다.

아래 그림을 보면 $N$이 클 수록 조금 더 그래프가 부드러운 것을 확인할 수 있다.

이중이동평균 (Double Moving Average)

  • 시계열 데이터가 추세 패턴을 따르는 경우 사용

시계열이 선형 추세를 따른다고 가정한 경우, 단순이동평균 $M_t$의 기대치는 $c+bt$가 아닌 아래 식과 같이 빼기가 추가된 결과를 가져온다. (Biased Estimator)

$$ c + bt - \frac{N-1}{2}b $$

따라서 $b$값을 추정하기 위해 구해진 이동평균에 한번 더 이동평균을 취해준다.

$\hat{b}$ 을 구하는 자세한 증명은 아래와 같다.

따라서 $c$값(단순이동평균)과 $b$값(이중이동평균)을 추정할 수 있으므로 예측 문제의 경우 아래와 같은 방법으로 $T+1$시점의 예측치를 얻을 수 있다. 

$k$ 단계 이후의 경우 $\hat{b}$에 $k$를 곱해줌으로서 구할 수 있다.

유도과정은 아래와 같다.

b-hat에 k를 곱해주면 k 시점 뒤의 예측 또한 가능하다. (시점 수에 따라 기울기만큼 추가된다고 생각하면 쉽게 이해가 가능하다)

예측이 얼마나 성공적으로 잘 되었는지는 실제값과 예측값의 차이를 바탕으로 하는 여러가지 척도로 평가가 가능하다.

MSE: 오차의 제곱합의 평균

RMSE: MSE에 root값

MAD: 오차의 절대값의 평균

MAPE: 실제값과 오차의 비율에 대한 절대값의 합의 평균 -> %변환이 가능해 직관적이다.

모든 지표는 적을수록 성능이 좋다.