Quelle est la formule pour calculer laire sous la courbe ROC à partir dun tableau de contingence?

Par exemple, si ma table est:

 True Value (gold standard) Positive | Negative | | | | | Test | Pos | A | B | Result | | | | | Neg | C | D | | | | | 

Commentaires

  • Il ' nest pas clair pour moi quil peut y avoir une réponse utile à cette question. La courbe des caractéristiques de fonctionnement du récepteur (ROC) représente la gamme de compromis entre les classifications vrai-positif et faux-positif lorsque lon modifie le seuil pour faire ce choix à partir du modèle. Un tableau de contingence représente les résultats de la classification à un choix particulier de ce seuil. On pourrait peut-être calculer quelque chose comme une aire (comme le fait une réponse proposée ici), mais il ' nest pas clair qui représenterait vraiment laire sous la courbe ROC pour le modèle complet .
  • Si votre prédicteur est dichotomique, et quil ny a donc quun seul seuil, je pense que lAUC fournit toujours (certaines) informations utiles.
  • @JeremyMiles veuillez fournir un exemple non trivial de le prédicteur où un seul seuil existe.
  • @PavelTyshevskyi – bien sûr. (Joublie quel était le contexte de cette question). Je travaille avec des évaluateurs qui classent les publicités. Un exemple est la pornographie (qui est mauvaise). Nous demandons aux évaluateurs " Cette annonce est-elle de la pornographie? " Ils disent oui ou non.

Réponse

Dans le cas général: vous pouvez « t

La courbe ROC montre comment la sensibilité et la spécificité varient à tous les seuils possibles . Un tableau de contingence a été calculé à un seuil unique et les informations sur les autres seuils ont été perdues. Par conséquent, vous ne pouvez pas calculer la courbe ROC à partir de ces données résumées.

Mais mon le classificateur est binaire, donc jai un seul seuil

Les classificateurs binaires ne sont pas vraiment binaires. Même sils ne peuvent exposer quune décision binaire finale, tous les classificateurs que je connais reposent sur une estimation quantitative sous le capot.

  • Un arbre de décision binaire? Essayez de construire un arbre de régression.
  • Un classificateur SVM? Faites une régression vectorielle de support.
  • Régression logistique? Obtenir accès aux probabilités brutes.
  • Réseau de neurones? Utilisez la sortie numérique de t la dernière couche à la place.

Cela vous donnera plus de liberté pour choisir le seuil optimal pour obtenir la meilleure classification possible pour vos besoins.

Mais je veux vraiment

Vous ne devriez vraiment pas « t. Les courbes ROC avec peu de seuils sous-estiment significativement la surface réelle sous la courbe (1). Une courbe ROC avec un seul point est le pire des cas, et toute comparaison avec un classificateur continu sera inexacte et trompeuse.

Donne-moi juste la réponse!

Ok, ok , Vous gagnez. Avec un seul point, nous pouvons considérer lAUC comme la somme de deux triangles T et U:

Une courbe ROC avec une seule paire (SP, SE) et deux triangles

Nous pouvons obtenir leurs aires en fonction du tableau de contingence (A, B, C et D comme vous lavez défini):

$$ \ begin {align *} T = \ frac {1 \ times SE} {2} & = \ frac {SE} {2} = \ frac {A} {2 (A + C)} \\ U = \ frac {SP \ times 1} {2} & = \ frac {SP} {2} = \ frac {D} {2 (B + D)} \ end {align *} $$

Obtention de lAUC: $$ \ begin {align *} AUC & = T + U \\ & = \ frac {A} {2 (A + C)} + \ frac {D} {2 (B + D)} \\ & = \ frac {SE + SP} {2} \ end { align *} $$

Pour conclure

Vous pouvez techniquement calculer une AUC ROC pour un classificateur binaire à partir de la matrice de confusion. Mais juste au cas où je ne serais pas clair, permettez-moi de répéter une dernière fois: NE LE FAITES PAS!

Références

(1) DeLong ER, DeLong DM, Clarke-Pearson DL: Comparaison des zones sous deux ou plusieurs courbes caractéristiques de fonctionnement du récepteur corrélées: une approche non paramétrique. Biometrics 1988, 44: 837-845. https://www.jstor.org/stable/2531595

Commentaires

  • Cet exemple avec un seul point peut être vraiment trompeur. Par exemple, avoir le point à (1, 0) donnera AUC = 1 selon vos calculs. La zone sous le point est toujours nulle. Si vous avez vraiment besoin de résumer le tableau de contingence, utilisez le score f1 ou la connaissance.
  • @PavelTyshevskyi La courbe ROC est toujours une courbe, jamais un point unique. Noubliez pas quil montre une spécificité 1, ce qui est probablement ce qui vous déroute.
  • @PavelTyshevskyi Je veux dire (1, 0) est en fait 0 spécificité 0 sensibilité, donc lAUC sera de 0 comme prévu.
  • Vous ' avez raison, je ' vous êtes confondu avec laxe. Cela ne sonne toujours pas ' t avec (0, 0) et (1, 1) étant utilisés pour construire une zone avec se, sp à partir dune matrice de contingence, dune manière ou dune autre. Merci pour la clarification.
  • @PavelTyshevskyi pouvez-vous être un peu plus précis peut-être? La réponse est correcte, et je pense avoir clairement indiqué pourquoi vous ne devriez ' pas le faire en premier lieu. Mais je vous assure que cest tout à fait correct.

Réponse

Quand je prétends quils sont tous négatifs, alors sensibilité (y) = 0, 1 – spécificité (x) = 0. Si je revendique le positif / négatif selon les résultats du test, alors y = A / (A + C), x = B / (B + D). Quand je dis que tous sont positifs, alors y = 1 et x = 1.

Basé sur trois points de coordonnées (0,0) (A / (A + C), B / (B + D)) (1,1), (dans lordre (y, x)), il est facile de calculer laire sous la courbe en utilisant la formule de laire du triangle.

Résultat final: Area = $ \ frac {AB + 2AD + 2CD} {(A + C) (B + D)} $ ? Doit être vérifié.

Laisser un commentaire

Votre adresse e-mail ne sera pas publiée. Les champs obligatoires sont indiqués avec *