Comment calculer WMAPE dans R (avec exemple)
L’une des mesures les plus couramment utilisées pour mesurer la précision des prévisions d’un modèle est WMAPE , qui signifie pourcentage d’erreur absolu moyen pondéré .
La formule pour calculer WMAPE est la suivante :
WMAPE = ( Σ|y i – ŷ i |*w i ) / ( Σy i *w i ) * 100
où:
- Σ – un symbole qui signifie « somme »
- y i – La valeur réelle de la ième observation
- ŷ i – La valeur prédite de la i ème observation
- w i – Le poids de la i ème observation
Nous pouvons définir la fonction suivante pour calculer WMAPE dans R :
find_WMAPE <- function(y, yhat, w){ return(sum(abs(y-yhat)*w)/sum(y*w)*100) }
L’exemple suivant montre comment utiliser cette fonction dans la pratique.
Exemple : calcul de WMAPE dans R
Supposons que nous disposions du bloc de données suivant dans R qui contient des informations sur les ventes réelles et prévues pour un magasin de détail :
#create dataset data <- data.frame(actual=c(23, 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 23 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 WMAPE pour la différence entre les ventes réelles et prévues, nous pouvons définir un vecteur de pondérations à utiliser, puis utiliser la fonction WMAPE que nous avons définie précédemment :
#define function to calculate WMAPE find_WMAPE <- function(y, yhat, w){ return(sum(abs(y-yhat)*w)/sum(y*w)*100) } #define weights for each month weights <- c(20, 20, 6, 6, 6, 6, 6, 6, 6, 6, 6, 6) #calculate WMAPE find_WMAPE(df$actual, df$predicted, weights) [1] 13.27635
Le WMAPE pour ce modèle s’avère être de 13,27635% .
Autrement dit, l’erreur absolue moyenne pondérée en pourcentage entre les valeurs de ventes prévues et les valeurs de ventes réelles est de 13,27635 %.
Notez que nous avons attribué des pondérations beaucoup plus importantes aux valeurs de janvier et février dans cet exemple.
En fonction de votre problème particulier, vous pouvez attribuer des poids plus ou moins importants à différentes observations en fonction de l’importance de chaque erreur dans votre modèle.
Ressources additionnelles
Les didacticiels suivants expliquent comment effectuer d’autres tâches courantes dans R :
Comment calculer MAPE dans R
Comment calculer SMAPE dans R
Comment calculer le RMSE dans R