Comment calculer MAPE dans R



L’une des mesures les plus couramment utilisées pour mesurer la précision des prévisions d’un modèle est MAPE , qui signifie erreur de pourcentage absolue moyenne .

La formule pour calculer le MAPE est la suivante :

MAPE = (1/n) * Σ(|réel – prévision| / |réel|) * 100

où:

  • Σ – un symbole fantaisiste qui signifie « somme »
  • n – taille de l’échantillon
  • réel – la valeur réelle des données
  • prévision – la valeur des données prévue

MAPE est couramment utilisé car il est facile à interpréter et à expliquer. Par exemple, une valeur MAPE de 6 % signifie que la différence moyenne entre la valeur prévue et la valeur réelle est de 6 %.

Ce didacticiel propose deux méthodes différentes que vous pouvez utiliser pour calculer MAPE dans R.

Méthode 1 : écrivez votre propre fonction

Supposons que nous ayons un ensemble de données avec une colonne contenant les valeurs de données réelles et une colonne contenant les valeurs de données prévues :

#create dataset
data <- data.frame(actual=c(34, 37, 44, 47, 48, 48, 46, 43, 32, 27, 26, 24),
                   forecast=c(37, 40, 46, 44, 46, 50, 45, 44, 34, 30, 22, 23))

#view dataset
data

   actual forecast
1      34       37
2      37       40
3      44       46
4      47       44
5      48       46
6      48       50
7      46       45
8      43       44
9      32       34
10     27       30
11     26       22
12     24       23

Pour calculer le MAPE, nous pouvons utiliser la fonction suivante :

#calculate MAPE
mean(abs((data$actual-data$forecast)/data$actual)) * 100

[1] 6.467108

Le MAPE pour ce modèle s’avère être de 6,467 % . Autrement dit, la différence absolue moyenne entre la valeur prévue et la valeur réelle est de 6,467 %.

Méthode 2 : utiliser un package

Nous pourrions également calculer MAPE pour le même ensemble de données en utilisant la fonction MAPE() du package MLmetrics , qui utilise la syntaxe suivante :

MAPE(y_pred, y_true)

où:

  • y_pred : valeurs prédites
  • y_true : valeurs réelles

Voici la syntaxe que nous utiliserions dans notre exemple :

#load MLmetrics package
library(MLmetrics)

#calculate MAPE
MAPE(data$forecast, data$actual)

[1] 0.06467108

Cela produit la même valeur MAPE de 6,467 % que celle que nous avons calculée en utilisant la méthode précédente.

Ajouter un commentaire

Votre adresse e-mail ne sera pas publiée. Les champs obligatoires sont indiqués avec *