Regressione armonica per stagionalità multiple
Le regressioni armoniche sono utili anche quando le serie temporali hanno più schemi stagionali. Per esempio, taylor contiene la domanda di elettricità a intervalli di mezz'ora in Inghilterra e Galles per alcuni mesi dell'anno 2000. I periodi stagionali sono 48 (stagionalità giornaliera) e 7 x 48 = 336 (stagionalità settimanale). Non ci sono abbastanza dati per considerare la stagionalità annuale.
auto.arima() impiegherebbe molto tempo a stimare una serie così lunga, quindi al suo posto adatterai un modello di regressione standard con termini di Fourier usando la funzione tslm(). È molto simile a lm(), ma è pensata per gestire serie temporali. Con stagionalità multiple, devi specificare l'ordine \(K\) per ciascuno dei periodi stagionali.
# L'argomento formula è una descrizione simbolica
# del modello da adattare
> args(tslm)
function (formula, ...)
tslm() è una funzione appena introdotta, quindi dovresti riuscire a seguire gran parte del codice già scritto. I dati taylor sono caricati nel tuo workspace.
Questo esercizio fa parte del corso
Previsioni in R
Istruzioni dell'esercizio
- Adatta una regressione armonica chiamata
fitataylorusando ordine 10 per ciascun tipo di stagionalità. - Prevedi 20 giorni lavorativi in avanti come
fc. Ricorda che i dati sono a intervalli di mezz'ora per impostare il valore corretto dih. - Crea un grafico temporale delle previsioni.
- Controlla i residui del modello stimato. Come puoi vedere,
auto.arima()avrebbe fatto un lavoro migliore.
Esercizio pratico interattivo
Prova a risolvere questo esercizio completando il codice di esempio.
# Fit a harmonic regression using order 10 for each type of seasonality
fit <- tslm(taylor ~ fourier(___, K = c(10, 10)))
# Forecast 20 working days ahead
fc <- forecast(___, newdata = data.frame(fourier(___, K = ___, h = ___)))
# Plot the forecasts
___
# Check the residuals of fit
___