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.

Add a Comment

O seu endereço de email não será publicado. Campos obrigatórios marcados com *