Hoe mape in python te berekenen
Mean Absolute Percentage Error (MAPE) wordt vaak gebruikt om de voorspellende nauwkeurigheid van modellen te meten. Het wordt als volgt berekend:
MAPE = (1/n) * Σ(|actueel – voorspelling| / |actueel|) * 100
Goud:
- Σ – een symbool dat “som” betekent
- n – steekproefomvang
- real – de werkelijke waarde van de gegevens
- voorspelling – de waarde van de voorspelde gegevens
MAPE wordt vaak gebruikt omdat het gemakkelijk te interpreteren en uit te leggen is. Een MAPE-waarde van 11,5% betekent bijvoorbeeld dat het gemiddelde verschil tussen de voorspelde waarde en de werkelijke waarde 11,5% bedraagt.
Hoe lager de MAPE-waarde, hoe beter een model waarden kan voorspellen. Een model met een MAPE van 5% is bijvoorbeeld nauwkeuriger dan een model met een MAPE van 10%.
Hoe MAPE in Python te berekenen
Er is geen ingebouwde Python-functie om MAPE te berekenen, maar we kunnen er wel een eenvoudige functie voor maken:
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
We kunnen deze functie vervolgens gebruiken om de MAPE voor twee tabellen te berekenen: een die de werkelijke gegevenswaarden bevat en een die de voorspelde gegevenswaarden bevat.
actual = [12, 13, 14, 15, 15,22, 27] pred = [11, 13, 14, 14, 15, 16, 18] map(actual, pred) 10.8009
Uit de resultaten kunnen we zien dat de gemiddelde absolute procentuele fout voor dit model 10,8009% bedraagt. Met andere woorden: het gemiddelde verschil tussen de voorspelde waarde en de werkelijke waarde is 10,8009%.
Voorzorgsmaatregelen bij het gebruik van MAPE
Hoewel MAPE gemakkelijk te berekenen en te interpreteren is, heeft het gebruik ervan twee potentiële nadelen:
1. Aangezien de formule voor het berekenen van de absolute procentuele fout |werkelijke voorspelling| is / |echt| dit betekent dat MAPE niet wordt gedefinieerd als een van de werkelijke waarden nul is.
2. MAPE mag niet worden gebruikt bij gegevens met een laag volume. Als de werkelijke vraag naar een artikel bijvoorbeeld 2 is en de prognose 1, is de absolute procentuele foutwaarde |2-1| / |2| = 50%, waardoor de voorspellingsfout behoorlijk hoog lijkt, zelfs als de voorspelling maar 1 eenheid afwijkt.