SES vs naïf
Dans cet exercice, vous allez mobiliser vos connaissances sur les jeux d’entraînement et de test, la fonction subset() et la fonction accuracy(), vues au Chapitre 2, pour comparer les prévisions SES et naïves sur les données marathon.
Vous avez réalisé quelque chose de très similaire pour comparer les prévisions naïves et la moyenne dans un exercice précédent « Évaluer la précision des méthodes non saisonnières ».
Récapitulons la démarche :
- Commencez par importer et charger vos données. Déterminez la part à allouer à l’entraînement et celle au test ; ces ensembles ne doivent pas se chevaucher.
- Réalisez un sous-ensemble des données pour créer un jeu d’entraînement, que vous utiliserez comme argument dans votre (vos) fonction(s) de prévision. Facultativement, créez aussi un jeu de test à utiliser ensuite.
- Calculez les prévisions sur le jeu d’entraînement avec la (les) fonction(s) de prévision choisie(s), et fixez
hau nombre de valeurs à prévoir, qui correspond aussi à la longueur du jeu de test. - Pour visualiser les résultats, utilisez la fonction
accuracy()avec la prévision en premier argument et les données originales (ou le jeu de test) en second. - Choisissez une mesure dans la sortie, telle que le RMSE ou le MAE, pour évaluer la(les) prévision(s) ; une erreur plus faible indique une meilleure précision.
Les données marathon sont chargées dans votre espace de travail.
Cet exercice fait partie du cours
Prévision en R
Instructions
- Avec
subset(), créez un jeu d’entraînement pourmarathoncomprenant toutes les années sauf les 20 dernières, que vous réserverez pour le test. - Calculez les prévisions SES et naïves sur ce jeu d’entraînement et enregistrez-les respectivement dans
fcsesetfcnaive. - Calculez les mesures de précision des deux jeux de prévisions avec la fonction
accuracy()dans votre console. - Affectez à
fcbestles meilleures prévisions (soitfcses, soitfcnaive) en fonction du RMSE.
Exercice interactif pratique
Essayez cet exercice en complétant cet exemple de code.
# Create a training set using subset()
train <- ___(___, end = length(marathon) - ___)
# Compute SES and naive forecasts, save to fcses and fcnaive
fcses <- ses(___, h = ___)
fcnaive <- naive(___, h = ___)
# Calculate forecast accuracy measures
accuracy(___, ___)
accuracy(___, ___)
# Save the best forecasts as fcbest
fcbest <- ___