CommencerCommencer gratuitement

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

Afficher le cours

Instructions

  • Créez un ensemble d’entraînement nommé train comprenant 20 ans de données qcement commençant en 1988 et se terminant au dernier trimestre de 2007 ; vous devez utiliser un vecteur pour end. 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 fit1 et fit2.
  • 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 fc1 et fc2. Définissez h au nombre total de trimestres de votre ensemble de test. Attention : la dernière observation de qcement n’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 sous bettermodel.

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 <- ___
Modifier et exécuter le code