Métricas para comparar previsões

Suponha que tenha acontecido 40 casos de nevoeiro em um aeroporto. Um previsor deu 100 avisos de ocorrência de nevoeiro e acertou 30, enquanto outro previsor deu 50 avisos e acertou somente 20 casos. O segundo pode ter acertado menos casos, mas emitiu menos falsos avisos. Como dizer qual previsor é melhor? (Para ver as definições de erro e incerteza, consulte o post Teoria dos erros)

As tabelas de contingência são usadas para registrar observações independentes de duas ou mais variáveis aleatórias. Nesse caso, ela pode ser dividida em quatro campos: observações, com e sem ocorrência do fenômeno, e previstos, com e sem previsão do fenômeno.

Previsto
SIM NÃO
Observado SIM VP (verdadeiro positivo)
acertos / previsões corretas
FN (falso negativo)
eventos sem aviso
NÃO FP (falso positivo)
falso aviso
VN (verdadeiro negativo)
não-ocorrência prevista corretamente

Índices podem ser calculados através da contagem de cada um dos quatro casos.

Acurácia

ACU = (VP+VN)/(VP+VN+FP+FN)

Razão entre o que acertou sobre o total. Quanto mais perto de 1, melhor. A acurácia esconde potenciais falsos positivos ou falsos negativos.

Probabilidade de detecção (Probability of Detection)

POD = VP/(VP+FN)

Razão entre o número de avisos corretos sobre o total de eventos. A melhor situação ocorre quando POD = 1 (todos os eventos são previstos corretamente).

Taxa de acerto (Hit rate)

HR = (VP+VN)/(FN+FP)

Razão entre o número de acertos sobre o de erros. Ao avaliar eventos raros, pode não ser interessante considerar a não-ocorrência prevista corretamente, então esse índice pode mascarar positivamente a avaliação de sucesso das previsões.

Fator/Índice crítico de sucesso (Critical Success Index ou Threat Score)

CSI = VP/(VP+FN+FP)

Razão entre o número de eventos previstos corretamente sobre o total de eventos e os falsos alarmes. Seu score prefeito é 1. Ele responde à questão “Quão bem os eventos SIM da previsão correspondem aos eventos SIM observados?”, ou seja, eventos que foram previstos e aconteceram. Pode ser pensado como a “acurácia” considerando que os negativos corretos foram removidos da consideração. Isto é, o CSI está apenas preocupado com previsões que são importantes (assumindo que as rejeições corretas não são importantes, o que é interessante para o caso do estudo de fenômenos raros).

Taxa/Razão de falso alarme (False Alarm Ratio)

FAR = FP/(VP+FP)

Razão entre o número de falsos avisos sobre o total de avisos. Quanto mais perto de zero, melhor.

Comparando-se esses índices, é possível avaliar quantitativamente diferentes métodos de previsão e escolher qual é o melhor. Conforme o caso, pode ser interessante a maior taxa de acerto mesmo que ele tenha muitos falsos alarmes – por exemplo, em uma previsão de chuva na TV, é melhor acertar a ocorrência de chuva, mesmo dando falsos alarmes, do que dizer que não vai chover e cair chuva. Em outros casos, como no gerenciamento de catástrofes, um número grande de falsos alarmes pode gerar descrédito e não funcionar no caso de uma real emergência.

Medidas de acurácia

Certas estatísticas são informações importantes para comparar os modelos de suavização e decidir se representam um bom ajuste aos dados. Todas baseiam-se no cálculo do um erro de previsão de um passo à frente no tempo t, dado pela diferença entre o valor de sequência de entrada no tempo (yt) e a previsão no mesmo instante (y’t). Nas fórmulas seguintes, n é o número de amostras:

  • Erro médio absoluto (MAE – Mean Absolute Error) ou Desvio Padrão Absoluto da Média (MAD – Mean Absolute Deviation)
\(MAE=\frac{1}{n}\sum\limits_{t=0}^{n-1}|e_t|\)

Representa o desvio padrão do ajuste em relação à média nas mesmas unidades dos dados. O erro quadrado aqui é substituído pelo valor absoluto do erro.

  • Erro quadrado/quadrático médio (MSE – Mean Squared Error) ou Desvio Padrão Quadrático da Média (MSD – Mean Squared Deviation)
\(MSE=\frac{1}{n}\sum\limits_{t=0}^{n-1}e^2_t\)

Muito sensível a erro individuais, por isso, muitas vezes é utilizado o MAE como alternativa. Um MAE/MAD baixo e um MSE/MSD alto indica ocorrência de outliers no conjunto de dados. Ao tirar a raiz desse valor, tem-se a raiz do erro quadrático médio (RMSE – Root Mean Squared Error).

  • Média percentual absoluta do erro (MAPE – Mean Absolute Percentage Erro)
\(MAPE=\frac{1}{n}\sum\limits_{t=0}^{n-1}|(y_t-y’_t)/y_t|\times100%\)

Os erros percentuais têm a vantagem de serem independentes da escala e, portanto, são frequentemente usados para comparar o desempenho da previsão entre diferentes conjuntos de dados. No entanto, têm a desvantagem de serem infinitas ou indefinidas se yt = 0 e tenda a valores extremos quando qualquer yt é próximo de zero.

  • Erro médio absoluto escalado (MASE – mean absolute scaled error)
\(MASE=\frac{1}{T}\sum\limits_{t=1}^{T}(\frac{|e_t|}{\frac{1}{T-m}\sum\limits_{t=m+1}^{T}|Y_t-Y_{t-m}|})=\frac{\sum\limits_{t=1}^{T}|e_t|}{\frac{T}{T-m}\sum\limits_{t=m+1}^{T}|T_t-Y_{t-m}|}\)

A equação vale para uma série temporal com sazonalidade, onde m é o período sazonal – para não-sazonal, usar m = 1. O erro escalado é menor que um se o modelo testado for melhor que a média das previsões um passo a frente “in sample” feitas por um método “ingênuo” (melhor previsão para amanhã é o valor de hoje).

Em R, dentro do pacote forecast, a função accuracy(f,x) calcula todas essas medidas. Ela recebe como argumento um objeto f da classe “forecast” ou um vetor numérico contendo previsões e um vetor numérico x (opcional) contendo valores reais do mesmo comprimento de objeto, ou uma série de tempo sobrepostos com os tempos de f. Ela também irá trabalhar com Arima, ets e lm objetos se x é omitido.

Outra opção é calcular diretamente, conforme explicado no link.

Fontes