Évaluer la précision des méthodes saisonnières
Comme vous l'avez vu au premier chapitre, la fonction window() précise le start et la end d'une série chronologique à l'aide des moments pertinents plutôt que des indices. Ces deux paramètres peuvent être fournis sous forme de vecteur comme c(year, period), que vous avez aussi déjà 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 ensembles 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 bonne valeur à utiliser pour le paramètre h (qui indique le nombre de valeurs à prévoir) dans vos méthodes de prévision.
Ensuite, pour chaque ensemble d'entraînement, calculez l'année suivante de données, puis comparez finalement le taux d'erreur absolue moyen (MAPE) des prévisions à l'aide de accuracy(). Pourquoi pensez-vous que le MAPE varie autant?
Cette activité fait partie du cours
Prévision en R
Instructions de l’exercice
- Utilisez
window()pour créer trois ensembles d'entraînement à partir devisnights[,"VICMetro"], en omettant les 1, 2 et 3 dernières années; nommez-les respectivementtrain1,train2ettrain3. Définissez le paramètreenden conséquence. - Calculez une année de prévisions pour chaque ensemble d'entraînement à l'aide de 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 à l'aide de la fonction
accuracy()comme jeu de test.
Exercice interactif pratique
Essayez cet exercice en complétant ce code d’exemple.
# 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"]
___
___