7.3 홀트-윈터스의 계절성 기법

Holt (1957)Winters (1960) 은 계절성을 잡아내기 위해 홀트(Holt)의 기법을 확장하였습니다. 홀트-윈터스(Holt-Winters) 계절성 기법은 예측식과 3개의 평활식으로 구성됩니다. 하나는 수준 \(\ell_t\)에 대한 것, 하나는 추세 \(b_t\)에 대한 것, 하나는 계절 성분 \(s_t\)에 대한 것인데, 각각은 대응되는 평활 매개변수 \(\alpha\), \(\beta^*\), \(\gamma\)로 이뤄져 있습니다. \(m\)을 계절성의 주기로 나타내겠습니다. 즉, 한 해의 계절의 수 같은 것을 가리킵니다. 예를 들면, 분기별 데이터에서는 \(m=4\)이고, 월별 데이터에서는 \(m=12\)입니다.

계절 성분의 성질에 따라 이 기법에 두 가지 변형이 있습니다. 덧셈 기법은 계절성 변동이 시계열 전반에 걸쳐 거의 일정할 때 사용하고, 곱셈 기법은 계절성 변동이 시계열의 수준에 비례하게 변할 때 사용합니다. 덧셈 기법에서 계절성분은 관측된 시계열의 척도로 나타내고, 수준식에서 계절성분을 빼서 시계열을 계절성으로 조절합니다. 각 연도 내에서 계절성분은 근사적으로 0에 맞춰질 것입니다. 곱셈 기법에서, 계절성분은 상대적인 항(백분율)으로 표현하고 시계열은 계절성분으로 나누어 계절성으로 조절합니다. 각 연도 안에서 계절성분은 근사적으로 \(m\)으로 맞춰질 것입니다.

홀트-윈터스의 덧셈 기법

덧셈 기법에 대한 성분 형태는 다음과 같습니다: \[\begin{align*} \hat{y}_{t+h|t} &= \ell_{t} + hb_{t} + s_{t+h-m(k+1)} \\ \ell_{t} &= \alpha(y_{t} - s_{t-m}) + (1 - \alpha)(\ell_{t-1} + b_{t-1})\\ b_{t} &= \beta^*(\ell_{t} - \ell_{t-1}) + (1 - \beta^*)b_{t-1}\\ s_{t} &= \gamma (y_{t}-\ell_{t-1}-b_{t-1}) + (1-\gamma)s_{t-m}, \end{align*}\] 여기에서 \(k\)\((h-1)/m\)의 정수 부분입니다. 이 값은 예측을 위해 계절성 지수를 추정한 값이 표본의 마지막 연도에서 유래하도록 합니다. 수준식은 계절성으로 조정된 관측값 \((y_{t} - s_{t-m})\) 과 시간 \(t\)에 대한 비-계절성 예측 \((\ell_{t-1}+b_{t-1})\) 을 나타냅니다. 홀트(Holt)의 선형 기법과 같습니다. 계절성식은 현재 계절성 지수 \((y_{t}-\ell_{t-1}-b_{t-1})\) 와 이전 연도 같은 계절(즉, \(m\) 시점 이전)의 계절성 지표 사이의 가중 평균을 나타냅니다.

계절성 식은 종종 다음과 같이 나타냅니다. \[ s_{t} = \gamma^* (y_{t}-\ell_{t})+ (1-\gamma^*)s_{t-m}. \] 평활식에서 \(\ell_t\)를 위의 성분 형태의 수준식에 대입하면, 다음과 같은 식을 얻습니다. \[ s_{t} = \gamma^*(1-\alpha) (y_{t}-\ell_{t-1}-b_{t-1})+ [1-\gamma^*(1-\alpha)]s_{t-m}, \] 위의 식은 여기에서 \(\gamma=\gamma^*(1-\alpha)\) 으로 명시한 계절성에 대한 평활식과 같습니다. 보통의 매개변수 제한조건은 \(0\le\gamma^*\le1\)인데, \(0\le\gamma\le 1-\alpha\)로 다시 쓸 수 있습니다.

홀트-윈터스의 곱셈 기법

곱셈 기법에 대한 성분 형태는 다음과 같습니다: \[\begin{align*} \hat{y}_{t+h|t} &= (\ell_{t} + hb_{t})s_{t+h-m(k+1)} \\ \ell_{t} &= \alpha \frac{y_{t}}{s_{t-m}} + (1 - \alpha)(\ell_{t-1} + b_{t-1})\\ b_{t} &= \beta^*(\ell_{t}-\ell_{t-1}) + (1 - \beta^*)b_{t-1} \\ s_{t} &= \gamma \frac{y_{t}}{(\ell_{t-1} + b_{t-1})} + (1 - \gamma)s_{t-m} \end{align*}\]

예제: 호주를 방문하는 국제선 여행객 숙박일 수

국제선 여행객이 호주에서 보내는 분기별 숙박일수를 예측하기 위해 덧셈과 곱셈 계절성 홀트-윈터스(Holt-Winters) 기법 둘 다 적용하였습니다. 그림 7.6은 2005년부터의 데이터와 2016년과 2017년에 대한 예측치를 나타낸 것입니다. 매년 1분기에 정점을 찍는 계절성 패턴이 분명하게 보입니다. 이는 호주의 여름과 대응됩니다.

aust <- window(austourists,start=2005)
fit1 <- hw(aust,seasonal="additive")
fit2 <- hw(aust,seasonal="multiplicative")
autoplot(aust) +
  autolayer(fit1, series="HW 덧셈 예측", PI=FALSE) +
  autolayer(fit2, series="HW 곱셈 예측",
    PI=FALSE) +
  xlab("연도") +
  ylab("호주 국제선 여행객 숙박일 (단위: 백만)") +
  guides(colour=guide_legend(title="예측"))
덧셈 계절성과 곱셈 계절성을 둘 다 고려하는 홀트-윈터스 기법을 이용하여 호주를 방문하는 국제선 여행객을 예측하기.

Figure 7.6: 덧셈 계절성과 곱셈 계절성을 둘 다 고려하는 홀트-윈터스 기법을 이용하여 호주를 방문하는 국제선 여행객을 예측하기.

Table 7.3: 덧셈 계절성 홀트-윈터스 기법을 호주를 방문하는 국제선 여행객 예측에 적용한 것. 여기에서 덧셈 계절성을 더하면 근사적으로 0입니다. 평활 매개변수와 성분에 대한 초기 추정값은 RMSE를 최소화하여 추정하였습니다. (\(\alpha=0.306\), \(\beta^*=0.0003\), \(\gamma=0.426\) 그리고 RMSE\(=1.763\))
\(t\) \(y_t\) \(\ell_t\) \(b_t\) \(s_t\) \(\hat{y}_t\)
2004 Q1 -3 9.70
2004 Q2 -2 -9.31
2004 Q3 -1 -1.69
2004 Q4 0 32.26 0.70 1.31
2005 Q1 1 42.21 32.82 0.70 9.50 42.66
2005 Q2 2 24.65 33.66 0.70 -9.13 24.21
2005 Q3 3 32.67 34.36 0.70 -1.69 32.67
2005 Q4 4 37.26 35.33 0.70 1.69 36.37
2015 Q1 41 73.26 59.96 0.70 12.18 69.05
2015 Q2 42 47.70 60.69 0.70 -13.02 47.59
2015 Q3 43 61.10 61.96 0.70 -1.35 59.24
2015 Q4 44 66.06 63.22 0.70 2.35 64.22
\(h\) \(\hat{y}_{T+h&#124;T}\)
2016 Q1 1 76.10
2016 Q2 2 51.60
2016 Q3 3 63.97
2016 Q4 4 68.37
2017 Q1 5 78.90
2017 Q2 6 54.41
2017 Q3 7 66.77
2017 Q4 8 71.18
Table 7.4: 곱셈 계절성 홀트-윈터스 기법을 호주를 방문하는 국제선 여행객 예측에 적용한 것. 여기에서 덧셈 계절성을 더하면 근사적으로 \(m=4\) 입니다. 평활 매개변수와 성분에 대한 초기 추정값은 RMSE를 최소화하여 추정하였습니다. (\(\alpha=0.441\), \(\beta^*=0.030\), \(\gamma=0.002\) and RMSE\(=1.576\))
\(t\) \(y_t\) \(\ell_t\) \(b_t\) \(s_t\) \(\hat{y}_t\)
2004 Q1 -3 1.24
2004 Q2 -2 0.77
2004 Q3 -1 0.96
2004 Q4 0 32.49 0.70 1.02
2005 Q1 1 42.21 33.51 0.71 1.24 41.29
2005 Q2 2 24.65 33.24 0.68 0.77 26.36
2005 Q3 3 32.67 33.94 0.68 0.96 32.62
2005 Q4 4 37.26 35.40 0.70 1.02 35.44
2015 Q1 41 73.26 58.57 0.66 1.24 72.59
2015 Q2 42 47.70 60.42 0.69 0.77 45.62
2015 Q3 43 61.10 62.17 0.72 0.96 58.77
2015 Q4 44 66.06 63.62 0.75 1.02 64.38
\(h\) \(\hat{y}_{T+h&#124;T}\)
2016 Q1 1 80.09
2016 Q2 2 50.15
2016 Q3 3 63.34
2016 Q4 4 68.18
2017 Q1 5 83.80
2017 Q2 6 52.45
2017 Q3 7 66.21
2017 Q4 8 71.23

두 기법(덧셈과 곱셈 계절성)을 적용한 결과를 표 7.37.4에 각각 나타냈습니다. 두 기법 모두, 정확하게 같은 수의 추정하기 위해 필요한 매개변수를 가지고 있기 때문에, 학습 데이터에 대한 두 모델의 RMSE를 비교할 수 있습니다. 이 경우에는, 곱셈 계절성이 데이터에 더 잘 맞는다는 것을 알 수 있습니다. 이것은 시계열의 수준이 증가하면서 데이터에 나타나는 계절성 변동 증가를 보여주는 도표에서 예상할 수 있었던 사실입니다. 이 결과는 두 가지 예측값의 집합도 보여줍니다. 덧셈 계절성을 이용하여 얻은 예측값과 비교할 때, 곱셈 계절성을 이용한 기법으로 얻은 예측값이 예측값의 수준이 증가함에 따라 더 크고 증가하는 계절성 변동을 나타냅니다.

두 모델로 추정한 상태를 그림 7.7에 나타냈습니다. 곱셈 모델에서 작은 \(\gamma\) 값은 계절 성분이 시간에 따라 잘 변하지 않는다는 것을 의미합니다. 덧셈 모델에서 작은 \(\beta^{*}\) 값은 기울기 성분이 시간에 따라 잘 변하지 않는다는 것을 의미합니다(수직축 눈금을 살펴보시길 바랍니다). 덧셈 모델의 경우에 계절 성분이 증가하는 것은 모델이 곱셈 모델보다 덜 적합하다는 것을 의미합니다.

덧셈 계절성분과 곱셈 계절성분 홀트-윈터스 기법으로 추정한 성분.

Figure 7.7: 덧셈 계절성분과 곱셈 계절성분 홀트-윈터스 기법으로 추정한 성분.

홀트-윈터스의 감쇠 기법

홀트-윈터스(Holt-Winters)의 덧셈과 곱셈 기법 두 경우 모두 감쇠 효과를 추가할 수 있습니다. 계절성 데이터에 대해 정확하고 안정적인 예측치를 내는 한 가지 기법은 다음과 같이 홀트-윈터스(Holt-Winters)에 감쇠 추세(damped trend)와 곱셈 계절성(multiplicative seasonality)을 고려한 것입니다: \[\begin{align*} \hat{y}_{t+h|t} &= \left[\ell_{t} + (\phi+\phi^2 + \dots + \phi^{h})b_{t}\right]s_{t+h-m(k+1)}. \\ \ell_{t} &= \alpha(y_{t} / s_{t-m}) + (1 - \alpha)(\ell_{t-1} + \phi b_{t-1})\\ b_{t} &= \beta^*(\ell_{t} - \ell_{t-1}) + (1 - \beta^*)\phi b_{t-1} \\ s_{t} &= \gamma \frac{y_{t}}{(\ell_{t-1} + \phi b_{t-1})} + (1 - \gamma)s_{t-m}. \end{align*}\]

hw(y, damped=TRUE, seasonal="multiplicative")

7.3.1 예제: 홀트-윈터스 기법으로 일별 데이터 다루기

홀트-윈터스(Holt-Winters) 기법을 일별 데이터에도 사용할 수 있습니다. 이 경우에는 계절성 주기가 \(m=7\)이고 \(h\)의 단위 길이는 1일입니다. 여기에서 hyndsight 데이터 마지막 5주에 대한 일별 예측값을 내보겠습니다. hyndsight 데이터에는 2014년 4월 30일부터 힌드사이트(Hyndsight) 블로그의 일별 조회수가 있습니다.


fc <- hw(subset(hyndsight,end=length(hyndsight)-35),
         damped = TRUE, seasonal="multiplicative", h=35)

autoplot(hyndsight) +
  autolayer(fc, series="HW 곱셈 감쇠", PI=FALSE)+
  guides(colour=guide_legend(title="일별 예측값"))
Hyndsight 블로그의 일별 페이지 조회수 예측값.

Figure 7.8: Hyndsight 블로그의 일별 페이지 조회수 예측값.

분명히 모델은 주별 계절성 패턴과 데이터의 끝에서 증가하는 추세를 잡아냈습니다. 그리고 예측값은 테스트 데이터와 비슷하게 나타납니다.

참고 문헌

Holt, C. E. (1957). Forecasting seasonals and trends by exponentially weighted averages (O.N.R. Memorandum No. 52). Carnegie Institute of Technology, Pittsburgh USA. https://doi.org/10.1016/j.ijforecast.2003.09.015

Winters, P. R. (1960). Forecasting sales by exponentially weighted moving averages. Management Science, 6, 324–342. https://doi.org/10.1287/mnsc.6.3.324