Évaluer la précision des prévisions pour des méthodes saisonnières
Comme vous l’avez vu dans le premier chapitre, la fonction window() permet d’indiquer le start et la end d’une série temporelle en utilisant les instants pertinents plutôt que les indices. Chacun de ces deux arguments peut être fourni sous forme de vecteur comme c(year, period), que vous avez également utilisé comme argument de ts(). Ici encore, period correspond au trimestre.
Vous allez utiliser les nombres trimestriels de visiteurs à Melbourne (visnights[, "VICMetro"]) pour créer trois jeux d’entraînement, en omettant respectivement les 1, 2 et 3 dernières années. Examinez les données visnights préchargées dans votre console avant de commencer l’exercice ; cela vous aidera à déterminer la valeur correcte à utiliser pour le paramètre h (qui indique le nombre de valeurs à prévoir) dans vos méthodes de prévision.
Pour chaque jeu d’entraînement, calculez ensuite l’année suivante, puis comparez enfin la mean absolute percentage error (MAPE) des prévisions à l’aide de accuracy(). Pourquoi pensez‑vous que le MAPE varie autant ?
Cet exercice fait partie du cours
Prévision en R
Instructions
- Utilisez
window()pour créer trois jeux d’entraînement à partir devisnights[,"VICMetro"], en omettant les 1, 2 et 3 dernières années ; nommez‑les respectivementtrain1,train2ettrain3. Renseignez le paramètreenden conséquence. - Calculez une année de prévisions pour chaque jeu d’entraînement avec la méthode
snaive(). Nommez‑les respectivementfc1,fc2etfc3. - En suivant la structure de l’exemple de code, comparez le MAPE des trois ensembles de prévisions en utilisant la fonction
accuracy()avec votre jeu de test.
Exercice interactif pratique
Essayez cet exercice en complétant cet exemple de code.
# 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"]
___
___