Como calcular mape em python
O erro percentual médio absoluto (MAPE) é comumente usado para medir a precisão preditiva dos modelos. É calculado da seguinte forma:
MAPE = (1/n) * Σ(|real – previsão| / |real|) * 100
Ouro:
- Σ – um símbolo que significa “soma”
- n – tamanho da amostra
- real – o valor real dos dados
- previsão – o valor dos dados previstos
MAPE é comumente usado porque é fácil de interpretar e explicar. Por exemplo, um valor MAPE de 11,5% significa que a diferença média entre o valor previsto e o valor real é de 11,5%.
Quanto menor o valor do MAPE, melhor o modelo é capaz de prever valores. Por exemplo, um modelo com MAPE de 5% é mais preciso do que um modelo com MAPE de 10%.
Como calcular MAPE em Python
Não existe uma função Python integrada para calcular o MAPE, mas podemos criar uma função simples para fazer isso:
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
Podemos então usar esta função para calcular o MAPE para duas tabelas: uma que contém os valores reais dos dados e outra que contém os valores dos dados previstos.
actual = [12, 13, 14, 15, 15,22, 27] pred = [11, 13, 14, 14, 15, 16, 18] map(actual, pred) 10.8009
A partir dos resultados, podemos ver que o erro percentual absoluto médio para este modelo é de 10,8009% . Ou seja, a diferença média entre o valor previsto e o valor real é de 10,8009%.
Precauções ao usar MAPE
Embora o MAPE seja fácil de calcular e interpretar, a sua utilização tem duas desvantagens potenciais:
1. Como a fórmula para calcular o erro percentual absoluto é |previsão real| / |real| isso significa que o MAPE não será definido se algum dos valores reais for zero.
2. O MAPE não deve ser usado com dados de baixo volume. Por exemplo, se a demanda real de um item for 2 e a previsão for 1, o valor percentual absoluto do erro será |2-1| / |2| = 50%, o que faz com que o erro de previsão pareça bastante alto, mesmo que a previsão esteja errada apenas em 1 unidade.