Cómo calcular MAPE en Python

Actualizado por ultima vez el 7 de mayo de 2021, por .

El error porcentual absoluto medio (MAPE) se usa comúnmente para medir la precisión predictiva de los modelos. Se calcula como:

MAPE = (1 / n) * Σ (| real – predicción | / | real |) * 100

dónde:

  • Σ – un símbolo que significa «suma»
  • n – tamaño de la muestra
  • actual : el valor de los datos reales
  • predicción : el valor de los datos predichos

MAPE se usa comúnmente porque es fácil de interpretar y de explicar. Por ejemplo, un valor MAPE del 11,5% significa que la diferencia media entre el valor predicho y el valor real es del 11,5%.

Cuanto menor sea el valor de MAPE, mejor podrá predecir los valores un modelo. Por ejemplo, un modelo con un MAPE del 5% es más preciso que un modelo con un MAPE del 10%.

Cómo calcular MAPE en Python

No hay una función de Python incorporada para calcular MAPE, pero podemos crear una función simple para hacerlo:

importar numpy como np

def mape ( actual , pred ):
    actual, pred = np.array (actual), np.array (pred)
    return np.mean (np.abs ((actual - pred) / actual)) * 100

Luego, podemos usar esta función para calcular el MAPE para dos matrices: una que contiene los valores de datos reales y otra que contiene los valores de datos predichos.

actual = [12, 13, 14, 15, 15,22, 27]
pred = [11, 13, 14, 14, 15, 16, 18]

mape (actual, pred)

10.8009

De los resultados podemos ver que el error porcentual absoluto medio para este modelo es 10,8009% . En otras palabras, la diferencia promedio entre el valor predicho y el valor real es 10,8009%.

Precauciones sobre el uso de MAPE

Aunque MAPE es fácil de calcular e interpretar, existen dos posibles inconvenientes en su uso:

1. Dado que la fórmula para calcular el error porcentual absoluto es | predicción-real | / | actual | esto significa que MAPE no estará definido si alguno de los valores reales es cero.

2. MAPE no debe usarse con datos de bajo volumen. Por ejemplo, si la demanda real de algún artículo es 2 y el pronóstico es 1, el valor del error porcentual absoluto será | 2-1 | / | 2 | = 50%, lo que hace que parezca que el error de pronóstico es bastante alto, a pesar de que el pronóstico solo tiene una diferencia de una unidad.

  • https://r-project.org
  • https://www.python.org/
  • https://www.stata.com/

Deja un comentario

A menudo, en estadística, nos interesa determinar el valor p asociado con una determinada puntuación z que resulta de una…
statologos comunidad-2

Compartimos información EXCLUSIVA y GRATUITA solo para suscriptores (cursos privados, programas, consejos y mucho más)

You have Successfully Subscribed!