Quais são os valores corretos para precisão e rechamada em casos extremos?

20

Precisão é definida como:

p = true positives / (true positives + false positives)

É verdade que, como true positivese false positivesabordagem 0, a precisão se aproxima de 1?

Mesma pergunta para recall:

r = true positives / (true positives + false negatives)

No momento, estou implementando um teste estatístico em que preciso calcular esses valores e, às vezes, acontece que o denominador é 0, e estou imaginando qual valor retornar para este caso.

PS: Desculpe a tag impróprio, eu queria usar recall, precisione limit, mas não posso criar novas tags ainda.

Björn Pollex
fonte
Acho que não precisamos de etiqueta de limite.
Presumivelmente, você está tentando quantificar o desempenho de algum procedimento de diagnóstico; existe alguma razão para você não estar usando uma métrica da teoria de detecção de sinal adequada como d ', A' ou área sob a curva ROC?
Mike Lawrence
3
@Mike, precisão e recall são métricas comuns de avaliação, por exemplo, na recuperação de informações em que o ROC ou em particular especificidade é difícil de usar, porque você já espera um número alto de falsos positivos.
user979

Respostas:

17

Dada uma matriz de confusão:

            predicted
            (+)   (-)
            ---------
       (+) | TP | FN |
actual      ---------
       (-) | FP | TN |
            ---------

nós sabemos isso:

Precision = TP / (TP + FP)
Recall = TP / (TP + FN)

Vamos considerar os casos em que o denominador é zero:

  • TP + FN = 0: significa que não houve casos positivos nos dados de entrada
  • TP + FP = 0: significa que todas as instâncias foram previstas como negativas
Amro
fonte
9
Estendendo sua resposta: Se TP = 0 (como nos dois casos), o recall é 1, pois o método não descobriu nenhum dos verdadeiros positivos; precisão é 0 se houver FP e 1 caso contrário.
11

A resposta é sim. Os casos de borda indefinidos ocorrem quando os verdadeiros positivos (TP) são 0, pois esse é o denominador de ambos os resultados. Nesse caso,

  • Lembre-se = 1 quando FN = 0, pois 100% dos TP foram descobertos
  • Precisão = 1 quando FP = 0, pois não houve resultados espúrios

Esta é uma reformulação do comentário de @ mbq.

John Lehmann
fonte
3

Eu estou familiarizado com terminologia diferente. O que você chama de precisão gostaria de valor preditivo positivo (PPV). E o que você chama de recall, eu chamaria de sensibilidade (Sens). :

http://en.wikipedia.org/wiki/Receiver_operating_characteristic

No caso de sensibilidade (recall), se o denominador for zero (como Amro aponta), NÃO há casos positivos, portanto a classificação não tem sentido. (Isso não impede que TP ou FN sejam zero, o que resultaria em uma sensibilidade limitante de 1 ou 0. Esses pontos estão respectivamente nos cantos superior direito e inferior esquerdo da curva ROC - TPR = 1 e TPR = 0. )

O limite de PPV é significativo. É possível que o corte do teste seja definido como alto (ou baixo) para que todos os casos sejam previstos como negativos. Isso está na origem da curva ROC. O valor limite do VPP imediatamente antes do corte atingir a origem pode ser estimado considerando o segmento final da curva ROC imediatamente antes da origem. (Pode ser melhor modelar, pois as curvas ROC são notoriamente barulhentas.)

Por exemplo, se houver 100 positivos reais e 100 negativos reais e o segmento final da curva ROC se aproximar de TPR = 0,08, FPR = 0,02, o PPV limitante seria PPR ~ 0,08 * 100 / (0,08 * 100 + 0,02 * 100 ) = 8/10 = 0,8, ou seja, 80% de probabilidade de ser um verdadeiro positivo.

Na prática, cada amostra é representada por um segmento na curva ROC - horizontal para um negativo real e vertical para um positivo real. Pode-se estimar o PPV limitante pelo último segmento antes da origem, mas isso daria um PPV limitante estimado de 1, 0 ou 0,5, dependendo se a última amostra foi um positivo verdadeiro, um positivo falso (negativo real) ou feito de um TP e um FP iguais. Uma abordagem de modelagem seria melhor, talvez supondo que os dados sejam binormais - uma suposição comum, por exemplo: http://mdm.sagepub.com/content/8/3/197.short

Thylacoleo
fonte
1

Isso dependeria do que você quer dizer com "abordagem 0". Se ambos os falsos positivos e falsos negativos se aproximam de zero a uma taxa mais rápida que os verdadeiros positivos, então sim para ambas as perguntas. Mas, caso contrário, não necessariamente.

Rob Hyndman
fonte
Eu realmente não sei a taxa. Para ser sincero, tudo o que sei é que meu programa falhou com uma divisão por zero e que preciso lidar com esse caso de alguma forma.
Björn Pollex