5.7 Prevedere con la scomposizione

La decomposizione delle serie storiche (discussa nel capitolo 3) può essere utile per produrre previsioni.

Assumendo una scomposizione additiva, la serie storica può essere scritta come

\[ y_t = \hat{S}_t + \hat{A}_t, \]

dove \(\hat{A}_t = \hat{T}_t+\hat{R}_{t}\) è la serie storica aggiustata per la stagionalità (destagionalizzata). Se si assume un modello di tipo moltiplicativo, allora si ha

\[ y_t = \hat{S}_t\hat{A}_t, \] dove \(\hat{A}_t = \hat{T}_t\hat{R}_{t}\).

Generalmente si procede separatamente al calcolo delle previsioni per la componente stagionale, \(\hat{S}_t\), e la componente destagionalizzata \(\hat{A}_t\). Di solito si presume che la componente stagionale sia immutabile, o che cambi molto lentamente, quindi questa viene prevista semplicemente prendendo l’ultimo anno della componente stimata. In altre parole, per la componente stagionale si utilizza un metodo naive stagionale.

Per prevedere la componente destagionalizzata, si può utilizzare qualsiasi metodo di previsione non stagionale. Per esempio, può essere usato il metodo del drift, o il metodo di Holt (discusso nel capitolo 8), o un modello ARIMA non stagionale (discusso nel capitolo 9).

Esempio: Occupazione nel settore del commercio al dettaglio in USA

us_retail_employment <- us_employment %>%
  filter(year(Month) >= 1990, Title == "Retail Trade")
dcmp <- us_retail_employment %>%
  model(STL(Employed ~ trend(window = 7), robust = TRUE)) %>%
  components() %>%
  select(-.model)
dcmp %>%
  model(NAIVE(season_adjust)) %>%
  forecast() %>%
  autoplot(dcmp) +
  labs(y = "Numbero di persone",
       title = "Occupazione del commercio al dettaglio USA")
 Previsioni naive per la serie destagionalizzata ottenuta da una decomposizione STL dell'occupazione totale al dettaglio negli Stati Uniti

Figura 5.18: Previsioni naive per la serie destagionalizzata ottenuta da una decomposizione STL dell’occupazione totale al dettaglio negli Stati Uniti

La figura 5.18 mostra le previsioni naive dei dati destagionalizzati sull’occupazione al dettaglio negli Stati Uniti. Queste vengono poi rese nuovamente stagionali aggiungendo le previsioni naive della componente stagionale.

Questa procedura può essere facilemente eseguita tramite la funzione decomposition_model(),, che permette di calcolare le previsioni attraverso qualsiasi decomposizione additiva, utilizzando altre funzioni del modello per prevedere ciascuna delle componenti della decomposizione. Le componenti stagionali saranno previste automaticamente usando SNAIVE() se non viene specificato un modello diverso. La funzione aggiungerà di nuovo la componente stagionale, permettendo così di ottenere le previsioni per i dati originari. Un esempio è riportato in figura 5.19.

fit_dcmp <- us_retail_employment %>%
  model(stlf = decomposition_model(
    STL(Employed ~ trend(window = 7), robust = TRUE),
    NAIVE(season_adjust)
  ))
fit_dcmp %>%
  forecast() %>%
  autoplot(us_retail_employment)+
  labs(y = "Numero di persone",
       title = "Occupazione del commercio al dettaglio USA")
Previsioni dell'occupazione al dettaglio negli Stati Uniti basate su una previsione naive dei dati destagionalizzati, e previsione stagionale naive della componente stagionale, ottenuta dopo una decomposizione STL dei dati.

Figura 5.19: Previsioni dell’occupazione al dettaglio negli Stati Uniti basate su una previsione naive dei dati destagionalizzati, e previsione stagionale naive della componente stagionale, ottenuta dopo una decomposizione STL dei dati.

Gli intervalli di previsione mostrati in questo grafico sono costruiti nello stesso modo delle previsioni puntuali. I limiti superiore ed inferiore degli intervalli di previsione sui dati destagionalizzati sono cioè resi nuovamente stagionali aggiungendo le previsioni della componente stagionale.

L’ACF dei residui della figura 5.20 mostra autocorrelazioni significative. Queste sono dovute al fatto che il metodo naive non cattura la tendenza al cambiamento nelle serie destagionalizzate.

fit_dcmp %>% gg_tsresiduals()
Verifica dei residui.

Figura 5.20: Verifica dei residui.

Nei capitoli successivi verranno illustrati metodi più adatti che possono essere utilizzati per prevedere la componente destagionalizzata al posto del metodo naive.