Model: \[x_t = \mu_t + w_t\] kde
Iný zápis \(a_t\): \[a_t = \alpha x_t + \alpha(1-\alpha)x_{t-1} + \alpha (1-\alpha)^2 x_{t-2} + \dots\] váhy exponenciálne klesajú, preto názov exponenciálne zhladzovanie
Keďže nemáme trend ani sezónnosť, vieme spraviť iba \[\hat{x}_{n+k|n} = a_n\]
Optimálny parameter : minimalizujeme sumu štvorcov predikčných chýb: \[\sum_{t=2}^n e_t \rightarrow \min_{\alpha}\]
P. S. P.Cowpertwait, A. V. Metcalfe: Introductory Time Series with R. Springer, 2009. Complaints to a motoring organization, pp. 56-58.
motor.txt
na stránkemodel1 <- HoltWinters(x, beta=FALSE, gamma=FALSE)
(lebo je špeciálny to prípad všeobecnejšieho modelu, pre ktorý máme funkciu HoltWinters
- uvedieme neskôr)
model1
## Holt-Winters exponential smoothing without trend and without seasonal component.
##
## Call:
## HoltWinters(x = x, beta = FALSE, gamma = FALSE)
##
## Smoothing parameters:
## alpha: 0.1429622
## beta : FALSE
## gamma: FALSE
##
## Coefficients:
## [,1]
## a 17.70343
plot(model1)
Prístup k hodnote sum of squared errors, podľa ktorej sa vyberala optimálna \(\alpha\): model1$SSE
Použitie našej hodnoty parametra \(\alpha\): napríklad
HoltWinters(x, alpha=0.2, beta=FALSE, gamma=FALSE)
## Holt-Winters exponential smoothing without trend and without seasonal component.
##
## Call:
## HoltWinters(x = x, alpha = 0.2, beta = FALSE, gamma = FALSE)
##
## Smoothing parameters:
## alpha: 0.2
## beta : FALSE
## gamma: FALSE
##
## Coefficients:
## [,1]
## a 17.97913
\[\hat{x}_{n+k|n} = a_n + k b_n + s_{n+k-p}\] pre \(k \leq p\) (napr. \(p=12\) pri mesačných dátach)
\[\hat{x}_{n+k|n} = (a_n + k b_n) s_{n+k-p}\]
\[a_t = \alpha (x_t - s_{t-p}) + (1-\alpha) (a_{t-1}+b_{t-1})\] \[b_t = \beta(a_t - a_{t-1}) + (1-\beta) b_{t-1}\] \[s_t = \gamma (x_t-a_t) + (1-\gamma) s_{t-p}\]
Analogicky pri multiplikatvnej sezónnosti (vzťahy sú aj v dokumentácii R-ka)
Parametre \(\alpha, \beta, \gamma\) sa znova určia minimalizáciou SSE
P. S. P.Cowpertwait, A. V. Metcalfe: Introductory Time Series with R. Springer, 2009. Sales of Australian wine, pp. 60-62
Dáta: * wine.txt
na stránke * predaj austrálskeho vína v tisícoch litrov, mesačné dáta, 1980/01 - 1995/07
wine <- read.table("wine.txt", header=TRUE)
head(wine)
## winet fortw dryw sweetw red rose spark
## 1 1 2585 1954 85 464 112 1686
## 2 2 3368 2302 89 675 118 1591
## 3 3 3210 3054 109 703 129 2304
## 4 4 3111 2414 95 887 99 1712
## 5 5 3756 2226 91 1139 116 1471
## 6 6 4216 2725 95 1077 168 1377
attach(wine)
Zoberieme premennú sweetw
- spravte z nej časový rad
Vidíme multiplikatívnu sezónnosť, takže:
HWsweet <- HoltWinters(sweetw, seasonal="multiplicative")
HWsweet
## Holt-Winters exponential smoothing with trend and multiplicative seasonal component.
##
## Call:
## HoltWinters(x = sweetw, seasonal = "multiplicative")
##
## Smoothing parameters:
## alpha: 0.4086698
## beta : 0
## gamma: 0.4929402
##
## Coefficients:
## [,1]
## a 285.6890314
## b 1.3509615
## s1 0.9498541
## s2 0.9767623
## s3 1.0275900
## s4 1.1991924
## s5 1.5463100
## s6 0.6730235
## s7 0.8925981
## s8 0.7557814
## s9 0.8227500
## s10 0.7241711
## s11 0.7434861
## s12 0.9472648
Predikcie:
HWsweet.pred <- predict(HWsweet, n.ahead=48)
plot(HWsweet.pred)
V jednom grafe pomocou funkcie ts.plot
:
ts.plot(sweetw, HWsweet.pred,
gpars=list(col=c("black","blue")))
Uvažujme dáta o cestujúcich aerolinkami:
data(AirPassengers)
y <- AirPassengers
plot(y)
Vynechajte posledné dva roky, odhadnite Holt-Wintersov model a spravte predikcie. Porovnajte ich so skutočnými hodnotami.
Cieľ: chceme odhadnúť trendovú zložku dát
Optimalizačná úloha, kde \(y_1, \dots, y_n\) sú dáta a \(\lambda >0\) je parameter: \[ \sum_{t=1}^n (y_t - \tilde{y}_t)^2 + \lambda \sum_{t=2}^{n-1} (\tilde{y}_{t+1} - 2\tilde{y}_{t} + \tilde{y}_{t-1})^2 \rightarrow \min_{\tilde{y}_1, \dots, \tilde{y}_n}\]
library(mFilter)
hpf1 <- hpfilter(x,freq=100)
, kde freq
je parameter \(\lambda\)hpf1$trend
hpf1 <- hpfilter(x,freq=100)
a vykreslime:hpf1 <- hpfilter(x,freq=100)
plot(x)
lines(hpf1$trend, col="blue")
Zopakujte pre inú hodnotu \(\lambda\). Čo sa deje pre $0 $ a pre \(\lambda \rightarrow \infty\)?
V našom prípade:
Potenciálny hrubý domáci produkt a produkčná medzera