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à.

Aggiungi un commento

Il tuo indirizzo email non sarà pubblicato. I campi obbligatori sono contrassegnati *