3_지수평활법

20190930 이민예

구간 평균법

구간 평균법을 사용하기 위해서 구간 N 을 먼저 정해야 한다. N을 3으로 두었으면, 과거 3개의 데이터의 평균으로 다음 값을 예측하는 것이다.

하지만 구간 평균법에는 다음과 같은 문제점이 있다.

  1. 산술평균법을 사용하므로 모든 시점에 동일한 가중치를 사용한다. => 지수 평활법

  2. 예측값을 같은 값으로 사용하므로 트랜드를 반영하지 못한다. => 이중 지수 평활법

  3. 트랜드인 계절 변동또한 반영하지 못한다. => 삼중 지수 평활법 "홀트-윈터 지수 평활법"

이 3가지의 한계점을 각각 극복한 방법한 모형이 있으며, 지수 평활법 부터 알아보자.

지수 평활법

평활이라는 단어가 낯설다. 영어를 한국어로 낯설게 번역한 단어중 하나이다. 평활은 Smoothing 을 이야기 한다. 부드럽게 한다는 것은 2,3,4,7 이라는 굴곡이 있는 것을 "4"로 평균을 내어 부드럽게 하는 것을 말하므로, 즉 평균이라고 이해하여도 좋다. 평균을 내는 것은 나쁘기만 한 것은 아니다. 어떤 것을 "예측"한다는 것은 5를 정확하게 5로 예측하는 것이 아니다. 시계열 데이터는 떨림 즉 노이즈를 가지고 있다. 이 노이즈를 없애고 분석을 해야하며, 평균을 취할 때, 놓치는 것도 있겠지만, 얻는 것이 더 많을 것이다.

지수 평활법은 가중치를 다르게 주는 모형이다. 가중치를 어떻게 다르게 줄까? 지수 평활법이라는 말 그대로 지수 분포의 가중치를 준다. 다음은 지수 분포의 그림이다.

지수 분포를 보면, 선형적이지 않다. 과거로 갈수록 적은 가중치를 가진다. Level의 초기값은 가지고 있는 모든 데이터의 산술평균값을 사용한다. t 시점 이후의 예측 값은 현재 데이터의 알파(하이퍼파라미터)를 곱하고, 이전 시점의 Level에 1-알파 를 구한 값으로 미래를 예측한다. 지수 평활법도 구간 평균법과 같이 같은 상수로 미래를 예측하기 때문에 트랜드를 반영하지 못한다.

알파는 유저가 셋팅해줘야 하는 하이퍼파라미터이다. 데이터에 적합한 하이퍼파라미터를 찾아야하며, 최적의 하이퍼파라미터란 없다. 알파가 큰 값을 가지면, 현재를 중요하게 본다는 것이며, 알파가 적은 값을 가지면, 과거를 중요하게 본다는 것이다. 따라서, 이미 스무딩된 데이터 즉 과거 데이터를 보지 않아도 되면, 알파를 크게, 노이즈가 많아서 현재 값으로 예측이 불가능 할 경우에는 알파값을 적게 주어 과거에 비중을 높인다.

EM Algorithm

이중 지수 평활법

여태까지의 모형은 값은 상수로 예측을 하기 때문에 추세를 반영하지 못하였다. 이중 지수 평활법은 Trend라는 파라미터를 추가하여 추세를 파악한다. Level과 Trend 의 초깃값 셋팅은 데이터들의 단순 회귀 분석으로 각각 y 절편과 기울기로 셋팅을 한다. Level의 예측은 지수 평활법과 비슷하다. 지수 평활법에서는 현재 데이터에 알파를 곱하고, 과거 Level에 1-알파를 곱하였다면, 이중 지수 평활법에서는 1-알파를 곱하느 항에 과거 시점의 Level과 트랜드를 합한 값을 둔다. 트랜드의 예측은 베타 곱하기, 현재 Level에서 과거 Level을 빼주고, 1-베타 곱하기 과거 트랜드와 합해준다.

홀트 윈터 지수 평활법

홀트 윈터 지수 평활법에는 두가지 방법이 있다. 사이클의 높이가 시간에 따라 일정한, 즉 산포가 일정한 계절 변동에는 Additive 방법을 사용하고, 산포가 증가하는 계절 변동에는 Multiplicative 방법을 사용한다.

Last updated