Come calcolare mape in python
L’errore percentuale assoluto medio (MAPE) è comunemente utilizzato per misurare l’accuratezza predittiva dei modelli. Viene calcolato come segue:
MAPE = (1/n) * Σ(|effettivo – previsione| / |effettivo|) * 100
Oro:
- Σ – un simbolo che significa “somma”
- n – dimensione del campione
- reale : il valore effettivo dei dati
- previsione : il valore dei dati previsti
MAPE è comunemente usato perché è facile da interpretare e spiegare. Ad esempio, un valore MAPE dell’11,5% significa che la differenza media tra il valore previsto e il valore effettivo è dell’11,5%.
Più basso è il valore MAPE, migliore è la capacità del modello di prevedere i valori. Ad esempio, un modello con un MAPE del 5% è più accurato di un modello con un MAPE del 10%.
Come calcolare MAPE in Python
Non esiste una funzione Python incorporata per calcolare MAPE, ma possiamo creare una semplice funzione per farlo:
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
Possiamo quindi utilizzare questa funzione per calcolare il MAPE per due tabelle: una che contiene i valori dei dati effettivi e una che contiene i valori dei dati previsti.
actual = [12, 13, 14, 15, 15,22, 27] pred = [11, 13, 14, 14, 15, 16, 18] map(actual, pred) 10.8009
Dai risultati, possiamo vedere che l’errore percentuale assoluto medio per questo modello è 10,8009% . In altre parole, la differenza media tra il valore previsto e il valore effettivo è del 10,8009%.
Precauzioni per l’uso di MAPE
Sebbene MAPE sia facile da calcolare e interpretare, il suo utilizzo presenta due potenziali inconvenienti:
1. Poiché la formula per calcolare l’errore percentuale assoluto è |previsione effettiva| / |reale| ciò significa che MAPE non verrà definito se uno qualsiasi dei valori effettivi è pari a zero.
2. MAPE non deve essere utilizzato con un volume ridotto di dati. Ad esempio, se la domanda effettiva per un articolo è 2 e la previsione è 1, il valore dell’errore percentuale assoluto sarà |2-1| / |2| = 50%, il che fa apparire l’errore di previsione piuttosto elevato, anche se la previsione è sbagliata solo di 1 unità.