8.2 Metodi che utilizzano un trend

Il metodo di Holt con trend lineare

Holt (1957) ha esteso il lisciamento esponenziale semplice per consentire la previsione di dati con un trend. Questo metodo comporta un’equazione di previsione e due equazioni di lisciamento (una per il livello e una per il trend): \[\begin{align*} \text{Equazione di previsione}&& \hat{y}_{t+h|t} &= \ell_{t} + h \, b_{t} \\ \text{Equazione del livello} && \ell_{t} &= \alpha \, y_{t} + (1 - \alpha)(\ell_{t-1} + b_{t-1})\\ \text{Equazione del trend} && b_{t} &= \beta^*(\ell_{t} - \ell_{t-1}) + (1 -\beta^*) \, b_{t-1}, \end{align*}\] dove \(\ell_t\) denota una stima del livello della serie al tempo \(t\), \(b_t\) denota una stima del trend (pendenza) della serie al tempo \(t\), \(\alpha\) è il parametro di lisciamento per il livello, \(0\le\alpha\le1\), e \(\beta^*\) è il parametro di lisciamento per il trend, \(0\le\beta^*\le1\). (Si utilizza per quest’ultimo \(\beta^*\) invece di \(\beta\) per ragioni che saranno spiegate nel paragrafo 8.5.

Come per il lisciamento esponenziale semplice, l’equazione del livello mostra qui che \(\ell_t\) è una media ponderata dell’osservazione \(y_t\) e della previsione un passo avanti per il tempo \(t\) ottenuta usando i dati del training set, fornita qui da \(\ell_{t-1} + b_{t-1}\). L’equazione del trend mostra che \(b_t\) è una media ponderata del trend stimato al tempo \(t\) basato su \(\ell_{t} - \ell_{t-1}\) e \(b_{t-1}\), la stima precedente del trend.

La funzione di previsione non è più piatta, ma tendenziale. La previsione \(h\) passi avanti è uguale all’ultimo livello stimato più \(h\) volte l’ultimo valore del trend stimato. Quindi le previsioni sono una funzione lineare di \(h\).

Esempio: la popolazione australiana

aus_economy <- global_economy %>%
  filter(Code == "AUS") %>%
  mutate(Pop = Population / 1e6)
autoplot(aus_economy, Pop) +
  labs(x = "Anno", y = "Milioni", title = "Popolazione australiana")
Popolazione dell'Australia, 1960-2017.

Figura 8.3: Popolazione dell’Australia, 1960-2017.

La figura 8.3 mostra la popolazione annuale dell’Australia dal 1960 al 2017. Si applicherà il metodo di Holt a questa serie. I parametri di lisciamento, \(\alpha\) e \(\beta^*\), e i valori iniziali \(\ell_0\) e \(b_0\) sono stimati minimizzando l’SSE per gli errori di previsione ad un passo del training set come nel paragrafo 8.1.

fit <- aus_economy %>%
  model(
    AAN = ETS(Pop ~ error("A") + trend("A") + season("N"))
  )
fc <- fit %>% forecast(h = 10)

Il coefficiente di lisciamento stimato per il livello è \(\hat{\alpha} = 0.9999\). Il valore molto alto mostra che il livello cambia rapidamente per catturare il forte trend della serie. Il coefficiente di lisciamento stimato per la pendenza è \(\hat{\beta}^* = 0.3267\). Questo è relativamente grande e suggerisce che il trend cambia spesso (anche se i cambiamenti sono di ridotta entità).

Questi valori sono utilizzati nella tabella 8.2 per mostrare un’applicazione del metodo di Holt.

Tabella 8.2: Previsione della popolazione annuale australiana usando il metodo di Holt con trend lineare.
Anno Tempo Osservazione Livello Pendenza Previsione
\(t\) \(y_t\) \(\ell_t\) \(\hat{y}_{t+1\mid t}\)
1959 0 10.05 0.22
1960 1 10.28 10.28 0.22 10.28
1961 2 10.48 10.48 0.22 10.50
1962 3 10.74 10.74 0.23 10.70
1963 4 10.95 10.95 0.22 10.97
1964 5 11.17 11.17 0.22 11.17
1965 6 11.39 11.39 0.22 11.39
1966 7 11.65 11.65 0.23 11.61
2014 55 23.50 23.50 0.37 23.52
2015 56 23.85 23.85 0.36 23.87
2016 57 24.21 24.21 0.36 24.21
2017 58 24.60 24.60 0.37 24.57
\(h\) \(\hat{y}_{T+h\mid T}\)
2018 1 24.97
2019 2 25.34
2020 3 25.71
2021 4 26.07
2022 5 26.44
2023 6 26.81
2024 7 27.18
2025 8 27.55
2026 9 27.92
2027 10 28.29

Metodi che utilizzano un trend smorzato

Le previsioni prodotte con il metodo di Holt lineare mostrano un trend costante (crescente o decrescente) indefinitamente nel futuro. L’evidenza empirica indica che questi metodi tendono a sovrastimare, specialmente per orizzonti di previsione più lunghi. Partendo da questa osservazione, Gardner & McKenzie (1985) hanno introdotto un parametro che “smorza” il trend ad una linea piatta in un certo momento nel futuro. I metodi che includono un trend smorzato hanno dimostrato di avere molto successo e sono probabilmente i metodi individuali più popolari quando si richiedono previsioni in modo automatico per molte serie.

Insieme ai parametri di lisciamento \(\alpha\) e \(\beta^*\) (con valori tra 0 e 1 come nel metodo di Holt), questo metodo include anche un parametro di smorzamento \(0<\phi<1\): \[\begin{align*} \hat{y}_{t+h|t} &= \ell_{t} + (\phi+\phi^2 + \dots + \phi^{h}) \, b_{t} \\ \ell_{t} &= \alpha \, y_{t} + (1 - \alpha)(\ell_{t-1} + \phi \, b_{t-1})\\ b_{t} &= \beta^*(\ell_{t} - \ell_{t-1}) + (1 -\beta^*)\, \phi \, b_{t-1}. \end{align*}\] Se \(\phi=1\), il metodo è identico al metodo di Holt lineare. Per valori compresi tra \(0\) e \(1\), \(\phi\) smorza il trend in modo che si avvicini ad una costante nel futuro. Infatti, le previsioni convergono a \(\ell_T + \phi \, b_T/(1-\phi)\) per \(h\rightarrow\infty\) per qualsiasi valore \(0<\phi<1\). Questo significa che le previsioni a breve termine sono dotate di trend mentre quelle a lungo termine sono costanti.

In pratica, \(\phi\) è raramente inferiore a \(0.8\) poiché lo smorzamento ha un effetto molto forte per valori più piccoli. Valori di \(\phi\) vicini a 1 indicano che un modello smorzato non è in grado di essere distinto da un modello non smorzato. Per queste ragioni, di solito si limita \(\phi\) ad un minimo di \(0.8\) e ad un massimo di \(0.98\).

Esempio: Popolazione australiana (segue)

La figura 8.4 mostra le previsioni per gli anni 2018–2032 generate dal metodo di Holt con trend lineare e con trend smorzato.

aus_economy %>%
  model(
    `Holt's method` = ETS(Pop ~ error("A") +
                       trend("A") + season("N")),
    `Damped Holt's method` = ETS(Pop ~ error("A") +
                       trend("Ad", phi = 0.9) + season("N"))
  ) %>%
  forecast(h = 15) %>%
  autoplot(aus_economy, level = NULL) +
  labs(title = "Popolazione australiana",
       y = "Milioni", x = "Anno") +
  guides(colour = guide_legend(title = "Previsione"))
Previsione della popolazione annuale australiana (milioni) nel periodo 2018-2032. Per il metodo con trend smorzato, $\phi=0.90$.

Figura 8.4: Previsione della popolazione annuale australiana (milioni) nel periodo 2018-2032. Per il metodo con trend smorzato, \(\phi=0.90\).

È stato assegnato al parametro di smorzamento un valore \((\phi=0.90)\) tale da esagerare l’effetto dello smorzamento, per effettuare il confronto col metodo senza smorzamento. Di solito, \(\phi\) viene stimato insieme agli altri parametri. Si è anche utilizzato un orizzonte di previsione piuttosto grande (\(h=15\)) per evidenziare la differenza tra un trend smorzato e un trend lineare.

Esempio: Uso di Internet

In questo esempio, si confrontano le previsioni ottenute dai tre metodi di lisciamento esponenziale considerati finora, per la serie del numero di utenti connessi ad Internet tramite un server. I dati sono osservati su 100 minuti e sono mostrati in figura 8.5.

www_usage <- as_tsibble(WWWusage)
www_usage %>% autoplot(value) +
  labs(x="Minuto", y="Numero di utenti",
       title = "Uso di Internet")
Utenti connessi ad Internet tramite un server

Figura 8.5: Utenti connessi ad Internet tramite un server

Si utilizza la tecnica della cross validation per serie temporali per confrontare l’accuratezza della previsione ad un passo dei tre metodi.

www_usage %>%
  stretch_tsibble(.init = 10) %>%
  model(
    SES = ETS(value ~ error("A") + trend("N") + season("N")),
    Holt = ETS(value ~ error("A") + trend("A") + season("N")),
    Damped = ETS(value ~ error("A") + trend("Ad") +
                   season("N"))
  ) %>%
  forecast(h = 1) %>%
  accuracy(www_usage)
#> # A tibble: 3 × 10
#>   .model .type     ME  RMSE   MAE   MPE  MAPE  MASE RMSSE  ACF1
#>   <chr>  <chr>  <dbl> <dbl> <dbl> <dbl> <dbl> <dbl> <dbl> <dbl>
#> 1 Damped Test  0.288   3.69  3.00 0.347  2.26 0.663 0.636 0.336
#> 2 Holt   Test  0.0610  3.87  3.17 0.244  2.38 0.701 0.668 0.296
#> 3 SES    Test  1.46    6.05  4.81 0.904  3.55 1.06  1.04  0.803

Il metodo di Holt smorzato è il migliore se si confrontano i valori di MAE o RMSE. Si procede quindi con l’utilizzo del metodo di Holt smorzato applicandolo all’intero insieme di dati per ottenere previsioni per i minuti futuri.

fit <- www_usage %>%
  model(
    Damped = ETS(value ~ error("A") + trend("Ad") +
                   season("N"))
  )
# Parametri stimati:
tidy(fit)
#> # A tibble: 5 × 3
#>   .model term  estimate
#>   <chr>  <chr>    <dbl>
#> 1 Damped alpha   1.00  
#> 2 Damped beta    0.997 
#> 3 Damped phi     0.815 
#> 4 Damped l[0]   90.4   
#> 5 Damped b[0]   -0.0173

Il parametro di lisciamento per la pendenza è stimato essere quasi uno, indicando che la tendenza cambia per riflettere principalmente la pendenza tra gli ultimi due minuti di utilizzo di Internet. Il valore di \(\alpha\) è molto vicino a uno, mostrando che il livello reagisce fortemente ad ogni nuova osservazione.

fit %>%
  forecast(h = 10) %>%
  autoplot(www_usage) +
  labs(x="Minuto", y="Numero di utenti",
       title = "Uso di Internet")
Previsione dell'uso di Internet: confronto della performance previsiva di metodi non stagionali.

Figura 8.6: Previsione dell’uso di Internet: confronto della performance previsiva di metodi non stagionali.

Le previsioni risultanti sembrano sensate, con un trend decrescente, che si appiattisce a causa del basso valore del parametro di smorzamento (0.815), ed intervalli di previsione relativamente ampi che riflettono la variazione dei dati storici. Gli intervalli di previsione sono calcolati usando i metodi descritti nel paragrafo 8.7.

In questo esempio, il processo di selezione di un metodo è stato relativamente semplice, perché entrambi i confronti tramite MSE e MAE hanno suggerito lo stesso metodo (Holt smorzato). Tuttavia, a volte diverse misure di accuratezza suggeriscono diversi metodi di previsione ed è quindi necessario decidere quale metodo di previsione utilizzare. Poiché gli obiettivi della previsione possono variare a seconda di svariati aspetti (lunghezza dell’orizzonte di previsione, dimensione del test set, misure dell’errore di previsione, frequenza dei dati, ecc.), è improbabile che un metodo sia migliore di tutti gli altri per tutti gli scenari di previsione. Ciò che si richiede ad un metodo di previsione è che fornisca previsioni coerentemente sensate. Tali previsioni dovrebbero essere inoltre valutate anche rispetto all’obiettivo da raggiungere.

Bibliografia

Gardner, E. S., & McKenzie, E. (1985). Forecasting trends in time series. Management Science, 31(10), 1237–1246. [DOI]
Holt, C. E. (1957). Forecasting seasonals and trends by exponentially weighted averages (O.N.R. Memorandum No. 52). Carnegie Institute of Technology, Pittsburgh USA. [DOI]