Comment calculer MAPE en Python
L’ erreur moyenne absolue en pourcentage (MAPE) est couramment utilisée pour mesurer la précision prédictive des modèles. Il est calculé comme suit :
MAPE = (1/n) * Σ(|réel – prédiction| / |réel|) * 100
où:
- Σ – un symbole qui signifie « somme »
- n – taille de l’échantillon
- réel – la valeur réelle des données
- prédiction – la valeur des données prédites
MAPE est couramment utilisé car il est facile à interpréter et à expliquer. Par exemple, une valeur MAPE de 11,5 % signifie que la différence moyenne entre la valeur prédite et la valeur réelle est de 11,5 %.
Plus la valeur de MAPE est faible, plus un modèle est capable de prédire les valeurs. Par exemple, un modèle avec un MAPE de 5 % est plus précis qu’un modèle avec un MAPE de 10 %.
Comment calculer MAPE en Python
Il n’existe pas de fonction Python intégrée pour calculer MAPE, mais nous pouvons créer une fonction simple pour le faire :
import numpy as np def mape(actual, pred): actual, pred = np.array(actual), np.array(pred) return np.mean(np.abs((actual - pred) / actual)) * 100
Nous pouvons ensuite utiliser cette fonction pour calculer le MAPE pour deux tableaux : un qui contient les valeurs de données réelles et un qui contient les valeurs de données prédites.
actual = [12, 13, 14, 15, 15,22, 27] pred = [11, 13, 14, 14, 15, 16, 18] mape(actual, pred) 10.8009
D’après les résultats, nous pouvons voir que le pourcentage d’erreur absolu moyen pour ce modèle est de 10,8009 % . En d’autres termes, la différence moyenne entre la valeur prédite et la valeur réelle est de 10,8009 %.
Précautions concernant l’utilisation de MAPE
Bien que MAPE soit facile à calculer et à interpréter, son utilisation présente deux inconvénients potentiels :
1. Puisque la formule pour calculer le pourcentage d’erreur absolu est |prédiction réelle| / |réel| cela signifie que MAPE ne sera pas défini si l’une des valeurs réelles est nulle.
2. MAPE ne doit pas être utilisé avec des données à faible volume. Par exemple, si la demande réelle pour un article est de 2 et que la prévision est de 1, la valeur du pourcentage d’erreur absolu sera |2-1| / |2| = 50 %, ce qui donne l’impression que l’erreur de prévision est assez élevée, même si la prévision n’est décalée que d’une unité.