Comparer auto.arima() et ets() sur des données saisonnières
Que faire lorsque vous souhaitez créer des ensembles d’entraînement et de test pour des données plus fréquentes qu’annuelles ? Au besoin, vous pouvez utiliser un vecteur de la forme c(year, period) pour les mots-clés start et/ou end dans la fonction window(). Vous devez également veiller à utiliser des valeurs de h adaptées dans les fonctions de prévision. Rappelez-vous que h doit être égal à la longueur des données qui constituent votre ensemble de test.
Par exemple, si vos données couvrent 15 ans, que votre ensemble d’entraînement comprend les 10 premières années et que vous souhaitez prévoir les 5 dernières années, vous utiliserez h = 12 * 5 et non h = 5, car votre ensemble de test comprendrait 60 observations mensuelles. Si, à la place, votre ensemble d’entraînement comprend les 9,5 premières années et que vous souhaitez prévoir les 5,5 dernières années, vous utiliserez h = 66 pour tenir compte des 6 mois supplémentaires.
Dans le dernier exercice de ce chapitre, vous comparerez des modèles ARIMA saisonniers et ETS appliqués aux données trimestrielles de production de ciment qcement. Comme la série est très longue, vous pouvez vous permettre d’utiliser un ensemble d’entraînement et un ensemble de test plutôt qu’une validation croisée pour séries temporelles. C’est beaucoup plus rapide.
Les données qcement sont disponibles dans votre espace de travail.
Cet exercice fait partie du cours
Prévision en R
Instructions
- Créez un ensemble d’entraînement nommé
traincomprenant 20 ans de donnéesqcementcommençant en 1988 et se terminant au dernier trimestre de 2007 ; vous devez utiliser un vecteur pourend. Le reste des données constitue votre ensemble de test. - Ajustez des modèles ARIMA et ETS sur les données d’entraînement et enregistrez-les respectivement dans
fit1etfit2. - Comme dans les exercices précédents, vérifiez que les résidus des deux modèles sont du bruit blanc.
- Produisez des prévisions pour les données restantes à partir des deux modèles, enregistrées respectivement sous
fc1etfc2. Définissezhau nombre total de trimestres de votre ensemble de test. Attention : la dernière observation deqcementn’est pas le dernier trimestre de l’année ! - À l’aide de la fonction
accuracy(), identifiez le meilleur modèle sur la base de la valeur RMSE et enregistrez-le sousbettermodel.
Exercice interactif pratique
Essayez cet exercice en complétant cet exemple de code.
# Use 20 years of the qcement data beginning in 1988
train <- window(___, start = ___, end = ___)
# Fit an ARIMA and an ETS model to the training data
fit1 <- ___
fit2 <- ___
# Check that both models have white noise residuals
___
___
# Produce forecasts for each model
fc1 <- forecast(___, h = ___)
fc2 <- forecast(___, h = ___)
# Use accuracy() to find better model based on RMSE
accuracy(___, ___)
accuracy(___, ___)
bettermodel <- ___