CommencezCommencez gratuitement

ETS vs méthode naïve saisonnière

Ici, vous comparerez les prévisions ETS à celles de la méthode naïve saisonnière pour 20 ans de cement, qui contient la production trimestrielle de ciment, en utilisant la validation croisée sur séries chronologiques pour 4 pas d'avance. Comme l'exécution est relativement longue, une version écourtée de la série cement sera disponible dans votre espace de travail.

Le deuxième argument de tsCV() doit retourner un objet de prévision; vous avez donc besoin d'une fonction qui ajuste un modèle et retourne des prévisions. Rappel :

> args(tsCV)
function (y, forecastfunction, h = 1, ...)

Dans cet exercice, vous utiliserez une fonction de prévision existante ainsi qu'une autre qui a été créée pour vous. N'oubliez pas : parfois, les méthodes simples donnent de meilleurs résultats que les méthodes plus sophistiquées !

Cette activité fait partie du cours

Prévision en R

Voir le cours

Instructions de l’exercice

  • Une fonction qui retourne des prévisions ETS, fets(), a été écrite pour vous.
  • Appliquez tsCV() aux méthodes ETS et naïve saisonnière sur les données cement pour un horizon de prévision de 4. Utilisez les fonctions fets (nouvellement créée) et snaive (existante) comme argument de fonction de prévision pour e1 et e2, respectivement.
  • Calculez la MSE des erreurs à 4 pas obtenues et retirez les valeurs manquantes. Les expressions pour calculer la MSE vous ont été fournies, mais les deuxièmes arguments optionnels ne le sont pas (vous les avez déjà utilisés).
  • Enregistrez la meilleure MSE sous le nom bestmse. Vous pouvez simplement copier toute la ligne de code qui génère la meilleure MSE à partir de l'instruction précédente.

Exercice interactif pratique

Essayez cet exercice en complétant ce code d’exemple.

# Function to return ETS forecasts
fets <- function(y, h) {
  forecast(ets(y), h = h)
}

# Apply tsCV() for both methods
e1 <- tsCV(___, ___, h = ___)
e2 <- tsCV(___, ___, h = ___)

# Compute MSE of resulting errors (watch out for missing values)
mean(e1^2, ___)
mean(e2^2, ___)

# Copy the best forecast MSE
bestmse <- ___
Modifier et exécuter le code