IniziaInizia gratis

Valutare l’accuratezza delle previsioni con metodi stagionali

Come hai visto nel primo capitolo, la funzione window() specifica l’start e l’end di una serie temporale usando i tempi rilevanti invece degli indici. Ciascuno di questi due argomenti può essere fornito come vettore del tipo c(year, period), che hai già usato come argomento per ts(). Anche qui, period si riferisce al trimestre.

Qui userai i numeri trimestrali dei visitatori di Melbourne (visnights[, "VICMetro"]) per creare tre diversi insiemi di training, omettendo rispettivamente gli ultimi 1, 2 e 3 anni. Esamina i dati visnights pre-caricati nella console prima di iniziare l’esercizio; questo ti aiuterà a determinare il valore corretto da usare per la parola chiave h (che specifica il numero di valori che vuoi prevedere) nei tuoi metodi di forecasting.

Poi, per ciascun insieme di training, calcola l’anno successivo di dati e infine confronta il mean absolute percentage error (MAPE) delle previsioni usando accuracy(). Perché pensi che il MAPE vari così tanto?

Questo esercizio fa parte del corso

Previsioni in R

Visualizza il corso

Istruzioni dell'esercizio

  • Usa window() per creare tre insiemi di training da visnights[,"VICMetro"], omettendo gli ultimi 1, 2 e 3 anni; chiamali rispettivamente train1, train2 e train3. Imposta di conseguenza la parola chiave end.
  • Calcola un anno di previsioni per ciascun insieme di training usando il metodo snaive(). Chiamale rispettivamente fc1, fc2 e fc3.
  • Seguendo la struttura del codice di esempio, confronta il MAPE dei tre insiemi di previsioni usando la funzione accuracy() con il tuo test set.

Esercizio pratico interattivo

Prova a risolvere questo esercizio completando il codice di esempio.

# Create three training series omitting the last 1, 2, and 3 years
train1 <- window(visnights[, "VICMetro"], end = c(2015, 4))
train2 <- ___
train3 <- ___

# Produce forecasts using snaive()
fc1 <- snaive(___, h = ___)
fc2 <- ___
fc3 <- ___

# Use accuracy() to compare the MAPE of each series
accuracy(fc1, visnights[, "VICMetro"])["Test set", "MAPE"]
___
___
Modifica ed esegui il codice