Wie lautet die Formel zur Berechnung der Fläche unter der ROC-Kurve aus einer Kontingenztabelle?

Wenn meine Tabelle beispielsweise lautet:

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

Kommentare

  • ' Mir ist nicht klar, dass es eine nützliche Antwort auf diese Frage geben kann. Die ROC-Kurve (Receiver Operating Characteristic) repräsentiert den Bereich der Kompromisse zwischen wahr-positiven und falsch-positiven Klassifizierungen, wenn man den Schwellenwert für diese Auswahl aus dem Modell ändert. Eine Kontingenztabelle repräsentiert die Klassifizierungsergebnisse bei einer bestimmten Auswahl dieses Schwellenwerts. Man könnte vielleicht so etwas wie eine Fläche berechnen (wie es eine vorgeschlagene Antwort hier tut), aber es ist ' nicht klar, dass die Fläche unter der ROC-Kurve für das vollständige Modell wirklich dargestellt wird .
  • Wenn Ihr Prädiktor dichotom ist und es daher nur einen Schwellenwert gibt, liefert die AUC meiner Meinung nach immer noch (einige) nützliche Informationen.
  • @JeremyMiles geben Sie bitte ein nicht triviales Beispiel dafür an der Prädiktor, bei dem nur ein Schwellenwert existiert.
  • @PavelTyshevskyi – sicher. (Ich vergesse, was der Kontext für diese Frage war). Ich arbeite mit Bewertern zusammen, die Anzeigen klassifizieren. Ein Beispiel ist Pornografie (was schlecht ist). Wir fragen die Bewerter " Ist diese Anzeige für Pornografie? " Sie sagen ja oder nein.

Antwort

Im allgemeinen Fall: Sie können „t

Die ROC-Kurve zeigt, wie sich Empfindlichkeit und Spezifität bei variieren jeder mögliche Schwellenwert . Eine Kontingenztabelle wurde an einem einzelnen Schwellenwert berechnet und Informationen über andere Schwellenwerte sind verloren gegangen. Daher können Sie die ROC-Kurve nicht aus diesen zusammengefassten Daten berechnen.

Aber meine Der Klassifikator ist binär, daher habe ich einen einzigen Schwellenwert.

Binäre Klassifikatoren sind nicht wirklich binär. Obwohl sie möglicherweise nur eine endgültige binäre Entscheidung offenlegen, stützen sich alle mir bekannten Klassifikatoren auf eine quantitative Schätzung unter der Haube.

  • Ein binärer Entscheidungsbaum? Versuchen Sie, einen Regressionsbaum zu erstellen.
  • Ein Klassifikator-SVM? Führen Sie eine Support-Vektor-Regression durch.
  • Logistische Regression? Zugriff auf die Rohwahrscheinlichkeiten.
  • Neuronales Netzwerk? Verwenden Sie die numerische Ausgabe von t Die letzte Ebene stattdessen.

Dies gibt Ihnen mehr Freiheit bei der Auswahl des optimalen Schwellenwerts, um die bestmögliche Klassifizierung für Ihre Anforderungen zu erhalten.

Aber ich möchte es wirklich

Das solltest du wirklich nicht. ROC-Kurven mit wenigen Schwellenwerten unterschätzen die wahre Fläche unter der Kurve erheblich (1). Eine ROC-Kurve mit einem einzelnen Punkt ist ein Worst-Case-Szenario, und jeder Vergleich mit einem kontinuierlichen Klassifikator ist ungenau und irreführend.

Geben Sie mir einfach die Antwort!

Ok, ok , du gewinnst. Mit einem einzelnen Punkt können wir die AUC als die Summe zweier Dreiecke T und U betrachten:

Eine ROC-Kurve mit ein einzelnes (SP, SE) Paar und zwei Dreiecke

Wir können ihre Bereiche basierend auf der Kontingenztabelle (A, B, C und D, wie Sie definiert haben) ermitteln:

$$ \ 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 *} $$

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

Zum Abschluss

Sie können eine ROC-AUC für einen binären Klassifikator technisch aus der Verwirrungsmatrix berechnen. Aber nur für den Fall, dass ich nicht klar war, lassen Sie mich ein letztes Mal wiederholen: TUN SIE ES NICHT!

Referenzen

(1) DeLong ER, DeLong DM, Clarke-Pearson DL: Vergleich der Bereiche unter zwei oder mehr korrelierten Betriebskennlinien des Empfängers: Ein nichtparametrischer Ansatz. Biometrics 1988, 44: 837-845. https://www.jstor.org/stable/2531595

Kommentare

  • Dieses Beispiel mit einem einzelnen Punkt kann wirklich irreführend sein. Wenn Sie beispielsweise einen Punkt bei (1, 0) haben, erhalten Sie nach Ihren Berechnungen AUC = 1. Die Fläche unter dem Punkt ist immer Null. Wenn Sie die Kontingenztabelle wirklich zusammenfassen müssen, verwenden Sie f1-Punktzahl oder Informiertheit.
  • @PavelTyshevskyi Die ROC-Kurve ist immer eine Kurve, niemals ein einzelner Punkt. Denken Sie daran, es zeigt 1-Spezifität, was Sie wahrscheinlich verwirrt.
  • @PavelTyshevskyi Ich meine (1, 0) ist tatsächlich 0 Spezifität 0 Empfindlichkeit, also wird die AUC wie erwartet 0 sein.
  • Sie ' haben Recht, ich ' bin mit der Achse verwechselt worden. ' klingt immer noch nicht richtig, wenn (0, 0) und (1, 1) verwendet werden, um einen Bereich zusammen mit se, sp aus der Kontingenzmatrix zu konstruieren. Danke für die Klarstellung.
  • @PavelTyshevskyi können Sie vielleicht etwas genauer sein? Die Antwort ist richtig, und ich denke, ich weise klar darauf hin, warum Sie ' es überhaupt nicht tun sollten. Aber ich versichere Ihnen, es ist absolut richtig.

Antwort

Wenn ich behaupte, dass alle negativ sind, dann Empfindlichkeit (y) = 0, 1 – Spezifität (x) = 0. Wenn ich das Positive / Negative gemäß den Testergebnissen beanspruche, dann ist y = A / (A + C), x = B / (B + D). Wenn ich sage, dass alle positiv sind, dann ist y = 1 und x = 1.

Basierend auf drei Punkten mit der Koordinate (0,0) (A / (A + C), B / (B +) D)) (1,1), (in (y, x) Reihenfolge) ist es einfach, die Fläche unter der Kurve unter Verwendung der Formel für die Fläche des Dreiecks zu berechnen.

Endergebnis: Area = $ \ frac {AB + 2AD + 2CD} {(A + C) (B + D)} $ ? Muss überprüft werden.

Schreibe einen Kommentar

Deine E-Mail-Adresse wird nicht veröffentlicht. Erforderliche Felder sind mit * markiert.