CommencerCommencer gratuitement

Évaluer la précision des prévisions pour des méthodes non saisonnières

En data science, un ensemble d’entraînement est un jeu de données utilisé pour découvrir d’éventuelles relations. Un ensemble de test sert à vérifier la robustesse de ces relations potentielles. Lorsque vous séparez un jeu de données en ces deux parties, vous allouez généralement plus de données à l’entraînement et moins au test.

Une fonction permettant de créer des ensembles d’entraînement et de test est subset(), qui renvoie un sous-ensemble d’une série temporelle où les arguments optionnels start et end sont spécifiés via des indices.

> # x est un vecteur numérique ou une série temporelle
> # Pour sélectionner les observations de 101 à 500
> train <- subset(x, start = 101, end = 500, ...)

> # Pour sélectionner les 500 premières observations
> train <- subset(x, end = 500, ...)

Comme vous l’avez vu dans la vidéo, une autre fonction, accuracy(), calcule diverses statistiques de précision des prévisions à partir des prévisions et des observations réelles correspondantes. Elle est suffisamment intelligente pour trouver les observations pertinentes si vous lui fournissez plus que celles que vous cherchez à prévoir.

> # f est un objet de classe "forecast"
> # x est un vecteur numérique ou une série temporelle
> accuracy(f, x, ...)

Les mesures de précision fournies incluent la racine de l’erreur quadratique moyenne (RMSE), qui est la racine carrée de l’erreur quadratique moyenne (MSE). Minimiser la RMSE, ce qui correspond à une précision plus élevée, revient à minimiser la MSE.

La série temporelle préchargée gold contient les cours quotidiens de l’or sur 1108 jours. Ici, vous utiliserez les 1000 premiers jours comme ensemble d’entraînement et calculerez des prévisions pour les 108 jours restants. Celles-ci seront comparées aux valeurs réelles de ces jours à l’aide des fonctions de prévision simples naive(), que vous avez utilisée plus tôt dans ce chapitre, et meanf(), qui produit des prévisions égales à la moyenne de toutes les observations. Vous devrez spécifier le paramètre h (qui indique le nombre de valeurs à prévoir) pour les deux.

Cet exercice fait partie du cours

Prévision en R

Afficher le cours

Instructions

  • Utilisez subset() pour créer un ensemble d’entraînement pour gold contenant les 1000 premières observations. Nommez-le train.
  • Calculez les prévisions de l’ensemble de test, qui contient les données restantes, avec naive() et affectez le résultat à naive_fc. Réglez h en conséquence.
  • Maintenant, calculez les prévisions du même ensemble de test avec meanf() et affectez le résultat à mean_fc. Réglez h en conséquence.
  • Comparez les statistiques de précision des deux méthodes à l’aide de la fonction accuracy().
  • D’après ces résultats, stockez les prévisions les plus précises dans bestforecasts.

Exercice interactif pratique

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

# Create the training data as train
train <- subset(___, end = ___)

# Compute naive forecasts and save to naive_fc
naive_fc <- naive(___, h = ___)

# Compute mean forecasts and save to mean_fc
mean_fc <- meanf(___, h = ___)

# Use accuracy() to compute RMSE statistics
accuracy(___, gold)
___(___, gold)

# Assign one of the two forecasts as bestforecasts
bestforecasts <- ___
Modifier et exécuter le code