7.2 Holt의 선형 추세 기법
Holt의 1957년 논문에서 추세가 있는 데이터를 예측할 수 있도록 단순 지수 평활을 확장한다. 이 방법은 예측식과 두 개의 평활식(하나는 수준에 관한 것, 다른 하나는 추세에 관한 것)을 포함한다.
여기에서 는 시간 에서 시계열의 수준 추정값, 는 시간 에서 시계열의 추세 추정값, 는 수준에 대한 평활 매개변수, 는 추세에 대한 평활 매개변수이다. (7.7절에서 설명할 이유 때문에 여기에서 대신 을 사용한다.)
단순 지수 평활과 마찬가지로, 수준식에서 가 관측값 의 가중 평균이라는 것과 여기에서 로 주어지는 시간 에 대한 표본 내 한 단계 앞 예측이라는 것을 알 수 있다. 추세식에서 가 추세에 대한 이전 추정 과 에 근거하여 시간 에서 추정된 추세의 가중평균이라는 것을 알 수 있다.
예측 함수는 더이상 평평하지 않고 추세를 나타낸다. 단계 앞 예측은 마지막 추정 수준에 마지막 추정 추세값의 배 한 것을 더한 값이다. 따라서 예측값은 의 선형 함수이다.
수준과 추세식의 오차 보정식은 표본 내 한 단계 예측 오차에 대한 조정이 들어가 있다.
여기에서 이다.
예제 7.2 항공객
표 7.3에서 Holt의 선형 기법을 호주 항공의 모든 승객에 대한 항공 수송 데이터에 적용한 결과를 나타내었다. 기법을 초기화하기 위해 표 7.9에서 제안한 것처럼 그리고 로 두었다. 선형 추세로 처음 몇 관측값을 맞출 수 있을 것이고 절편과 기울기 추정값을 수준과 추세의 초기값으로 각각 사용할 수 있을 것이다.
시연 목적에서 평활 매개변수를 과 로 두었다. 이렇게 하지 않으면, 7.1절처럼 표본 내 한 단계 예측 오차에 대한 SSE를 최소화하여 평활 매개변수도 초기값과 함께 추정할 수 있을 것이다.
연도 | ||||||||
---|---|---|---|---|---|---|---|---|
1989 | 0 | 17.55 | 4.31 | 17.55 | 1.25 | |||
1990 | 1 | 17.55 | 18.41 | 3.62 | 21.86 | 18.41 | 1.21 | 21.86 |
1991 | 2 | 21.86 | 21.89 | 3.59 | 22.03 | 21.93 | 1.20 | 22.21 |
1992 | 3 | 23.89 | 24.21 | 3.33 | 25.48 | 24.39 | 1.18 | 26.38 |
1993 | 4 | 26.93 | 27.05 | 3.24 | 27.54 | 27.32 | 1.17 | 28.89 |
1994 | 5 | 26.89 | 27.57 | 2.69 | 30.29 | 27.91 | 1.14 | 32.02 |
1995 | 6 | 28.83 | 29.12 | 2.46 | 30.26 | 29.44 | 1.12 | 31.88 |
1996 | 7 | 30.08 | 30.38 | 2.22 | 31.58 | 30.68 | 1.11 | 33.10 |
1997 | 8 | 30.95 | 31.28 | 1.96 | 32.60 | 31.56 | 1.09 | 33.99 |
1998 | 9 | 30.19 | 30.80 | 1.47 | 33.24 | 31.04 | 1.07 | 34.47 |
1999 | 10 | 31.58 | 31.72 | 1.36 | 32.27 | 31.91 | 1.06 | 33.23 |
2000 | 11 | 32.58 | 32.68 | 1.28 | 33.08 | 32.84 | 1.06 | 33.89 |
2001 | 12 | 33.48 | 33.57 | 1.20 | 33.96 | 33.71 | 1.05 | 34.66 |
2002 | 13 | 39.02 | 38.17 | 1.88 | 34.78 | 38.29 | 1.07 | 35.39 |
2003 | 14 | 41.39 | 41.12 | 2.10 | 40.06 | 41.28 | 1.07 | 40.86 |
2004 | 15 | 41.60 | 41.92 | 1.84 | 43.22 | 42.10 | 1.06 | 44.13 |
2005 | 1 | 43.76 | 44.60 | |||||
2006 | 2 | 45.59 | 47.24 | |||||
2007 | 3 | 47.43 | 50.04 | |||||
2008 | 4 | 49.27 | 53.01 | |||||
2009 | 5 | 51.10 | 56.15 |
air <- window(ausair, start=1990, end=2004)
fit1 <- holt(air, alpha=0.8, beta=0.2, initial="simple", h=5)
fit2 <- holt(air, alpha=0.8, beta=0.2, initial="simple", exponential=TRUE, h=5)
fit1.model.state # 첫번째 모델에 대한 결과
fitted(fit1)
fit1.mean
그림 7.3: 호주 항공객 예측. 모든 기법에 대해 , 이고 덧셈 감쇠 추세 기법에서 이다.
fit3 <- holt(air, alpha=0.8, beta=0.2, damped=TRUE, initial="simple", h=5)
plot(fit2, type="o", ylab="Air passengers in Australia (millions)", xlab="Year",
fcol="white", plot.conf=FALSE)
lines(fitted(fit1), col="blue")
lines(fitted(fit2), col="red")
lines(fitted(fit3), col="green")
lines(fit1$mean, col="blue", type="o")
lines(fit2$mean, col="red", type="o")
lines(fit3$mean, col="green", type="o")
legend("topleft", lty=1, col=c("black","blue","red","green"),
c("Data","Holt's linear trend","Exponential trend","Additive damped trend"))