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.