Índice

O Que é Erro Médio Absoluto ou MAE?

O erro médio absoluto (MAE) é uma métrica utilizada para avaliar o desempenho de modelos de regressão em machine learning.

Ela mede a média da diferença absoluta entre os valores previstos pelo modelo e os valores observados.

Imagine que você tenha um modelo de machine learning que foi treinado para prever o consumo de combustível de uma frota de veículos.

Se o modelo prevê que um determinado veículo vai consumir 10 litros de combustível para percorrer 100 quilômetros, mas o consumo real foi de 12 litros, o erro absoluto da previsão seria de 2 litros.

Após calcular o erro absoluto para cada previsão, você pode calcular o MAE, que é a média dos erros absolutos.

Note que ele não diferencia entre erros positivos e negativos.

Qual a Fórmula do MAE?

A fórmula do erro médio absoluto é bem simples. Basta subtrair a previsão do valor real, ignorar o sinal do resultado e calcular a média dos erros de todas as amostras.

formula do erro médio absoluto - mae

Onde:

  • n é o número de amostras
  • y é o valor observado para cada amostra
  • p é o valor previsto pelo modelo para cada amostra
  • | | representa o valor absoluto

Como Interpretar o MAE?

Como você já deve ter notado, quanto menor o MAE, melhor é o desempenho do modelo.

Continuando com nosso exemplo do consumo de combustível da frota, se o MAE for de 2 litros, significa que o modelo tende a subestimar ou superestimar o consumo de combustível em 2 litros.

Essa é uma forma intuitiva de interpretar este erro, mas não confunda isso com estabelecer um intervalo de confiança para as previsões.

O MAE brilha em casos em que os erros próximos da mediana são mais importantes do que os erros extremos (outliers).

Como Calcular o MAE Usando Scikit-learn em Python?

Apesar de ser fácil de calcular o MAE manualmente, a biblioteca Scikit-learn possui uma função que faz isso por você.

A função mean_absolute_error recebe como parâmetros o valor real e o valor previsto pelo modelo e retorna o MAE.


from sklearn.metrics import mean_absolute_error

y_true = [10, 12, 15, 8, 8]
y_pred = [12, 11, 13, 7, 9]

mean_absolute_error(y_true, y_pred)

Onde y_true é uma array do NumPy, uma lista ou Series do Pandas com os valores reais e y_pred é também uma dessas estruturas mas contendo os valores previstos pelo modelo.

Como Calcular o MAE em R?

Para calcular o MAE em R, vamos utilizar a função mae do pacote Metrics do R.

library(Metrics)

y_true = c(10, 12, 15, 8, 8)
y_pred = c(12, 11, 13, 7, 9)

mae = mae(y_true, y_pred)
print(mae)

Igual ao Scikit-learn, a função mae recebe como parâmetros o valor real y_true e o valor previsto y_pred e retorna o MAE.

Diferença Entre Erro Absoluto e Relativo

O erro absoluto é a diferença entre o valor previsto pelo modelo de machine learning e o valor observado.

erro absoluto = |valor observado - valor previsto|

Como mostrei no exemplo inicial, se um modelo prevê que um veículo vai consumir 10 litros de combustível para percorrer 100 quilômetros, mas o consumo real foi de 12 litros, o erro absoluto da previsão seria de 2 litros.

O erro relativo, por outro lado, é o erro absoluto em relação ao valor observado. Ele é dado pelo seguinte cálculo:

erro relativo = |valor observado - valor previsto| / valor observado

No exemplo acima, o erro relativo seria de |12 - 10| / 12 = 16,67%.

O erro relativo tende a ser mais popular do que o erro absoluto.

Diferença Entre MAE e MSE

A maior diferença entre o MAE e o MSE (Erro Quadrático Médio) é que o MSE penaliza mais os erros maiores.

O MSE é calculado elevando os erros ao quadrado e depois calculando a média.

Isso infla os erros maiores, o que pode ser útil em casos em que os erros próximos da mediana são menos importantes do que os erros extremos (outliers).

Veja as diferenças entre o MAE e o MSE no exemplo abaixo:

Item Valor Verdadeiro Valor Previsto MAE MSE
1 10 12 2 4
2 12 11 1 1
3 15 13 2 4
4 8 7 1 1
5 8 9 1 1

Na prática, usar os dois juntos é uma ótima ideia, pois você saberá a performance do modelo tanto na maioria dos exemplos quanto nos casos extremos.

Diferença Entre MAE e MAPE

O MAPE (Erro Médio Absoluto Percentual) é uma métrica de erro que é muito utilizada em séries temporais, principalmente para previsões de demanda.

Veja esta tabela comparando o MAE e o MAPE sobre os mesmos itens:

Item Valor Verdadeiro Valor Previsto MAE MAPE (%)
1 10 12 2 20
2 12 11 1 8.3
3 15 13 2 13.3
4 8 7 1 12.5
5 8 9 1 12.5

Assim como explicado na seção de diferença entre erro absoluto e relativo, a diferença é que o MAPE é a média dos erros relativos.

Ele tende a ser mais popular do que o MAE, por ser mais fácil de interpretar e explicar a pessoas que não tem conhecimento técnico.

Ele também é preferível quando é crucial levar em conta a escala do valor observado.

Imagine que você esteja trabalhando em um problema de previsão de vendas de produtos.

Usando o erro médio absoluto não existe diferença entre um erro de 5 unidades num produto que vende 10 unidades e um erro de 5 unidades num produto que vende 1000 unidades.

Mas na prática, deixar de vender 5 unidades de um produto que vende 10 unidades por mês é mais grave do que deixar de vender 5 unidades num produto que vende 1000.

O MAE Pode Ser Usado Para Avaliar Modelos De Classificação?

O MAE não é diretamente aplicável a problemas de classificação, pois esses problemas envolvem previsões de categorias e não de valores numéricos mais granulares como nos problemas de regressão.

Para a maioria dos praticantes de machine learning, usar essa métrica num caso de classificação é um erro, então prefira usar outras métricas como precisão, recall, F1-score e ROC AUC.

Seja o primeiro a saber das novidades em Machine Learning. Me siga no LinkedIn.