Hoe wmape in r te berekenen (met voorbeeld)
Een van de meest gebruikte maatstaven om de voorspellingsnauwkeurigheid van een model te meten is WMAPE , wat staat voor gewogen gemiddelde absolute procentuele fout .
De formule om WMAPE te berekenen is:
WMAPE = (Σ|y ik – ŷ ik |*w ik ) / (Σy ik *w ik ) * 100
Goud:
- Σ – een symbool dat “som” betekent
- y i – De werkelijke waarde van de i-de waarneming
- ŷ i – De voorspelde waarde van de i- de waarneming
- w i – Het gewicht van de i- de waarneming
We kunnen de volgende functie definiëren om WMAPE in R te berekenen:
find_WMAPE <- function (y, yhat, w){ return (sum(abs(y-yhat)*w)/sum(y*w)*100) }
Het volgende voorbeeld laat zien hoe u deze functie in de praktijk kunt gebruiken.
Voorbeeld: WMAPE berekenen in R
Stel dat we het volgende gegevensframe in R hebben dat informatie bevat over de werkelijke en verwachte verkopen voor een winkel:
#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 current 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
Om de WMAPE te berekenen voor het verschil tussen werkelijke en voorspelde verkopen, kunnen we een vector van gewichten definiëren die we moeten gebruiken, en vervolgens de WMAPE-functie gebruiken die we eerder hebben gedefinieerd:
#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
De WMAPE voor dit model blijkt 13,27635% te zijn.
Dat wil zeggen dat de gewogen gemiddelde absolute procentuele fout tussen de voorspelde verkoopwaarden en de werkelijke verkoopwaarden 13,27635% bedraagt.
Merk op dat we in dit voorbeeld veel grotere gewichten hebben toegekend aan de waarden van januari en februari.
Afhankelijk van uw specifieke probleem kunt u grotere of kleinere gewichten toekennen aan verschillende waarnemingen, op basis van het belang van elke fout in uw model.
Aanvullende bronnen
In de volgende tutorials wordt uitgelegd hoe u andere veelvoorkomende taken in R kunt uitvoeren:
Hoe MAPE in R te berekenen
Hoe SMAPE in R te berekenen
Hoe RMSE in R te berekenen