Quelles sont les valeurs correctes pour la précision et le rappel dans les cas de bord?

20

La précision est définie comme:

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

Est - il exact que, true positiveset false positivesapproche 0, la précision approche 1?

Même question pour rappel:

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

J'implémente actuellement un test statistique où j'ai besoin de calculer ces valeurs, et parfois il arrive que le dénominateur soit 0, et je me demande quelle valeur retourner pour ce cas.

PS: Excusez la balise inappropriée, je voulais l'utiliser recall, precisionet limit, mais je ne peux pas encore créer de nouvelles balises.

Björn Pollex
la source
Je ne pense pas que nous ayons besoin d'une étiquette de limite.
Vraisemblablement, vous essayez de quantifier les performances d'une procédure de diagnostic; y a-t-il une raison pour laquelle vous n'utilisez pas une métrique de théorie de détection de signal appropriée comme d ', A' ou une zone sous la courbe ROC?
Mike Lawrence
3
@Mike, la précision et le rappel sont des mesures d'évaluation courantes dans, par exemple, la récupération d'informations où ROC, ou en particulier la spécificité est difficile à utiliser car vous vous attendez déjà à un nombre élevé de faux positifs.
user979

Réponses:

17

Étant donné une matrice de confusion:

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

nous savons que:

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

Considérons les cas où le dénominateur est nul:

  • TP + FN = 0: signifie qu'il n'y a eu aucun cas positif dans les données d'entrée
  • TP + FP = 0: signifie que toutes les instances ont été prédites comme négatives
Amro
la source
9
Extension de votre réponse: si TP = 0 (comme dans les deux cas), le rappel est 1, car la méthode n'a découvert aucun vrai positif; la précision est 0 s'il y a un FP et 1 sinon.
11

La réponse est oui. Les cas de bord indéfinis se produisent lorsque les vrais positifs (TP) sont à 0 car c'est dans le dénominateur des deux P & R. Dans ce cas,

  • Rappel = 1 lorsque FN = 0, puisque 100% des TP ont été découverts
  • Précision = 1 lorsque FP = 0, car non, il n'y a pas eu de faux résultats

Il s'agit d'une reformulation du commentaire de @ mbq.

John Lehmann
la source
3

Je connais différentes terminologies. Ce que vous appelez la précision serait une valeur prédictive positive (PPV). Et ce que vous appelez rappel, j'appellerais la sensibilité (Sens). :

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

Dans le cas de la sensibilité (rappel), si le dénominateur est nul (comme le souligne Amro), il n'y a PAS de cas positifs, donc la classification n'a pas de sens. (Cela n'empêche pas TP ou FN d'être nul, ce qui entraînerait une sensibilité limite de 1 ou 0. Ces points sont respectivement dans les coins supérieurs droit et inférieur gauche de la courbe ROC - TPR = 1 et TPR = 0. )

La limite de PPV est cependant significative. Il est possible que la coupure du test soit réglée à un niveau si élevé (ou bas) de sorte que tous les cas soient prédits comme négatifs. C'est à l'origine de la courbe ROC. La valeur limite du PPV juste avant que la coupure n'atteigne l'origine peut être estimée en considérant le dernier segment de la courbe ROC juste avant l'origine. (Cela peut être préférable de modéliser car les courbes ROC sont notoirement bruyantes.)

Par exemple, s'il y a 100 positifs réels et 100 négatifs réels et que le segment final de la courbe ROC s'approche de TPR = 0,08, FPR = 0,02, alors le PPV limite serait PPR ~ 0,08 * 100 / (0,08 * 100 + 0,02 * 100 ) = 8/10 = 0,8 soit 80% de probabilité d'être un vrai positif.

En pratique, chaque échantillon est représenté par un segment sur la courbe ROC - horizontal pour un réel négatif et vertical pour un réel positif. On pourrait estimer la PPV limite par le tout dernier segment avant l'origine, mais cela donnerait une PPV limite estimée de 1, 0 ou 0,5, selon que le dernier échantillon était un vrai positif, un faux positif (négatif réel) ou fait d'un TP et FP égal. Une approche de modélisation serait préférable, en supposant peut-être que les données sont binormales - une hypothèse courante, par exemple: http://mdm.sagepub.com/content/8/3/197.short

Thylacoleo
la source
1

Cela dépend de ce que vous entendez par "approche 0". Si les faux positifs et les faux négatifs approchent tous les deux de zéro à un rythme plus rapide que les vrais positifs, alors oui aux deux questions. Mais sinon, pas nécessairement.

Rob Hyndman
la source
Je ne connais vraiment pas le tarif. Pour être honnête, tout ce que je sais, c'est que mon programme s'est écrasé avec une division par zéro et que je dois gérer ce cas d'une manière ou d'une autre.
Björn Pollex