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.

precision-recall  data-visualization  logarithm  references  r  networks  data-visualization  standard-deviation  probability  binomial  negative-binomial  r  categorical-data  aggregation  plyr  survival  python  regression  r  t-test  bayesian  logistic  data-transformation  confidence-interval  t-test  interpretation  distributions  data-visualization  pca  genetics  r  finance  maximum  probability  standard-deviation  probability  r  information-theory  references  computational-statistics  computing  references  engineering-statistics  t-test  hypothesis-testing  independence  definition  r  censoring  negative-binomial  poisson-distribution  variance  mixed-model  correlation  intraclass-correlation  aggregation  interpretation  effect-size  hypothesis-testing  goodness-of-fit  normality-assumption  small-sample  distributions  regression  normality-assumption  t-test  anova  confidence-interval  z-statistic  finance  hypothesis-testing  mean  model-selection  information-geometry  bayesian  frequentist  terminology  type-i-and-ii-errors  cross-validation  smoothing  splines  data-transformation  normality-assumption  variance-stabilizing  r  spss  stata  python  correlation  logistic  logit  link-function  regression  predictor  pca  factor-analysis  r  bayesian  maximum-likelihood  mcmc  conditional-probability  statistical-significance  chi-squared  proportion  estimation  error  shrinkage  application  steins-phenomenon 

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

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.


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


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.


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
Ao utilizar nosso site, você reconhece que leu e compreendeu nossa Política de Cookies e nossa Política de Privacidade.
Licensed under cc by-sa 3.0 with attribution required.