CommencerCommencer gratuitement

ETS vs saisonnier naïf

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

Le deuxième argument de tsCV() doit renvoyer un objet de prévision ; vous avez donc besoin d’une fonction qui ajuste un modèle et renvoie 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. Gardez à l’esprit que, parfois, des méthodes simples fonctionnent mieux que des méthodes plus sophistiquées !

Cet exercice fait partie du cours

Prévision en R

Afficher le cours

Instructions

  • Une fonction qui renvoie des prévisions ETS, fets(), a été écrite pour vous.
  • Appliquez tsCV() pour les méthodes ETS et saisonnière naïve à la série cement avec un horizon de prévision de 4. Utilisez la nouvelle fonction fets et la fonction existante snaive comme argument de fonction de prévision pour e1 et e2, respectivement.
  • Calculez la MSE des erreurs à 4 pas résultantes et supprimez les valeurs manquantes. Les expressions de calcul de la MSE vous ont été fournies, mais pas les deuxièmes arguments optionnels (vous les avez déjà utilisés).
  • Enregistrez la meilleure MSE sous bestmse. Vous pouvez simplement copier toute la ligne de code qui génère la meilleure MSE depuis l’instruction précédente.

Exercice interactif pratique

Essayez cet exercice en complétant cet exemple de code.

# 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