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 (cross tabulation) 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
SIMNÃO
ObservadoSIMVP (verdadeiro positivo)
acertos / previsões corretas
FN (falso negativo)
eventos sem aviso
NÃOFP (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. Comparando-os, é 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.

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.

Precisão e revocação (Precision and recall)

Em reconhecimento de padrões com classificação binária, a precisão tenta responder à pergunta “Que proporção de identificações positivas foi realmente correta?”. Um modelo que não produz falsos positivos tem precisão igual a 1. É definido como:

PRE = VP/(VP+FP)

Já revocação tenta responder à pergunta “Qual proporção de positivos reais foi identificada corretamente?”. Um modelo que não produz falsos negativos tem revocação igual a 1. É definido como:

REV = VP/(VP+FN)

Note que é a mesma definição de probabilidade de detecção.

F-score (ou F-measure)

Quanto maior o F-score, melhor.

Por fim, existe uma medida que combina precisão e revocação é a média harmônica de precisão e revocação:

F-score = (2*R*P)/(R+P)

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

Compartilhe :)

5 comments

Leave a Reply

O seu endereço de e-mail não será publicado. Campos obrigatórios são marcados com *

Esse site utiliza o Akismet para reduzir spam. Aprenda como seus dados de comentários são processados.