6.4.3.5. 삼중 지수 평활법
November 19, 2016
만약에 데이터에 추세와 계절성 둘 다 있다면 어떻게 해야할까?
계절성을 다루기 위해 3번째 매개변수를 추가해야 한다 이런 경우에는 이중 평활법이 적합하지 않다. 계절성(때때로 주기성이라고도 부르는)을 다루기 위해 3번째 식을 도입하자. 이를 제안한 사람의 이름을 따라 "홀트-윈터스"(Holt-Winters, 약자로 HW)로 부른다.
HW의 기본 등식은 다음과 같다. $$ \begin{align*} S_{t} &= \alpha \frac{ y_{t} }{ I_{t-L} } + (1-\alpha)(S_{t-1} + b_{t-1}) & 전체적인 \ 평활 \\ b_{t} &= \gamma (S_{t} - S_{t-1}) + (1 - \gamma)b_{t-1} & 추세 \ 평활 \\ I_{t} &= \beta \frac{ y_{t} }{ S_{t} } + (1 - \beta) I_{t-L} & 계절성 \ 평활 \end{align*} $$
$$ F_{t+m} = (S_{t} + m b_{t}) I_{t - L + m} \qquad 예측 $$
여기에서
- \(y\)는 관측값
- \(S\)는 평활화한 관측값
- \(b\)는 추세 인자
- \(I\)는 계절성 지표
- \(F\)는 m 시점 앞 예측
- \(t\)는 어떤 시간 주기를 나타내는 지표
그리고 \( \alpha, \beta, \gamma\)는 오차의 MSE를 최소화하여 구할 수 있는 상수이다. 이 작업은 좋은 소프트웨어 패키지의 몫이다.
완벽한 계절 정보가 필요하다 HW 방법을 초기화하려면 적어도 하나의 완벽한 계절 데이터가 필요하다. 계절성 지표 초기값 \( I_{t-L} \)을 추정하기 위해서이다.
한 계절에 \( L \) 주기 어떤 하나의 계절 데이터는 \( L \) 주기로 구성된다. 그리고 한 주기에서 다음 주기까지의 추세 인자를 추정해야 한다. 그러기 위해서는 두 계절이 있는 데이터(즉, \( 2L \) 주기가 있는) 사용하기를 권한다.
초기값 추세 인자
추세와 계절성 매개변수를 어떻게 초기화 할 것인가 초기 추세를 계산하는 일반적인 식은 다음과 같다. $$ b = \frac{1}{L} \left( \frac{y_{L+1} - y_{1}}{L} + \frac{y_{L+2}-y_{2}}{L} + \cdots + \frac{y_{L+L} - y_{L}}{L} \right) $$
계절성 지수의 초기값
1년에 4 주기가 있는 6년치 데이터를 살펴보자.
1단계: 연도 평균 1단계: 각 연도마다 주기의 평균을 구한다.
2단계: 연도 평균으로 나눈다 2단계: 관측값을 적절한 연도 평균으로 나눈다.
1번째 연도 | 2번째 연도 | 3번째 연도 | 4번째 연도 | 5번째 연도 | 6번째 연도 |
---|---|---|---|---|---|
\( y_{1}/A_{1} \) | \( y_{5}/A_{2} \) | \( y_{9}/A_{3} \) | \( y_{13}/A_{4} \) | \( y_{17}/A_{5} \) | \( y_{21}/A_{6} \) |
\( y_{2}/A_{1} \) | \( y_{6}/A_{2} \) | \( y_{10}/A_{3} \) | \( y_{14}/A_{4} \) | \( y_{18}/A_{5} \) | \( y_{22}/A_{6} \) |
\( y_{3}/A_{1} \) | \( y_{7}/A_{2} \) | \( y_{11}/A_{3} \) | \( y_{15}/A_{4} \) | \( y_{19}/A_{5} \) | \( y_{23}/A_{6} \) |
\( y_{4}/A_{1} \) | \( y_{8}/A_{2} \) | \( y_{12}/A_{3} \) | \( y_{16}/A_{4} \) | \( y_{20}/A_{5} \) | \( y_{24}/A_{7} \) |
3단계: 계절성 지표를 구성한다 3단계: 각 행의 평균을 계산해서 계절성 지표를 구성한다. 그러면 초기 계절성 지수는 (상징적인 의미에서) 다음과 같다. $$ \begin{align*} I_{1} &= \left( y_{1}/A_{1} + y_{5}/A_{2} + y_{9}/A_{3} + y_{13}/A_{4} + y_{17}/A_{5} + y_{21}/A_{6} \right) / 6 \\ I_{2} &= \left( y_{2}/A_{1} + y_{6}/A_{2} + y_{10}/A_{3} + y_{14}/A_{4} + y_{18}/A_{5} + y_{22}/A_{6} \right) / 6 \\ I_{3} &= \left( y_{3}/A_{1} + y_{7}/A_{2} + y_{11}/A_{3} + y_{15}/A_{4} + y_{19}/A_{5} + y_{23}/A_{6} \right) / 6 \\ I_{4} &= \left( y_{4}/A_{1} + y_{8}/A_{2} + y_{12}/A_{3} + y_{16}/A_{4} + y_{20}/A_{5} + y_{24}/A_{6} \right) / 6 \end{align*} $$
지금까지 계절성 지수를 어떻게 초기화하는지 살펴보았다.
다음 내용에서는 삼중 지수 평활법을 적용하는 예제를 다룰 것이다.
계수가 0인 경우
추세와 계절성 매개변수 계수가 0인 경우 삼중 지수 평활법을 컴퓨터로 계산하면 가끔 \( \gamma \)나 \( \beta \)가 0인 경우나 둘 다 0인 경우가 있다.
이러한 경우에 추세나 계절성이 없다고 봐야할까?
당연히 아니다! 추세나 계절성 관련 초기값이 MSE가 최소일 수 있는 경우라 갱신할 필요 없어서 그렇다. 정말로 그런지 검증하기 위해 갱신하는 식을 반드시 점검해야 한다.