Warum ist die AUC für einen weniger genauen Klassifikator höher als für einen genaueren?


29

Ich habe zwei Klassifikatoren

  • A: naives Bayes'sches Netzwerk
  • B: Baum (einfach verbunden) Bayesianisches Netzwerk

In Bezug auf Genauigkeit und andere Maßnahmen schneidet A vergleichsweise schlechter ab als B. Wenn ich jedoch die R-Pakete ROCR und AUC für die ROC-Analyse verwende, stellt sich heraus, dass die AUC für A höher ist als die AUC für B. Warum ist das so? Ereignis?

Der wahre positive (tp), der falsche positive (fp), der falsche negative (fn), der wahre negative (tn), die Empfindlichkeit (sen), die Spezifität (spec), der positive Vorhersagewert (ppv), der negative Vorhersagewert (npv) und Die Genauigkeit (gemäß) für A und B ist wie folgt.

+------+---------+---------+
|      |    A    |    B    |
+------+---------+---------+
| tp   | 3601    | 769     |
| fp   | 0       | 0       |
| fn   | 6569    | 5918    |
| tn   | 15655   | 19138   |
| sens | 0.35408 | 0.11500 |
| spec | 1.00000 | 1.00000 |
| ppv  | 1.00000 | 1.00000 |
| npv  | 0.70442 | 0.76381 |
| acc  | 0.74563 | 0.77084 |
+------+---------+---------+

Mit Ausnahme von sens und ties (spec und ppv) an den Rändern (ohne tp, fn, fn und tn) scheint B besser abzuschneiden als A.

Wenn ich die AUC für sens (y-Achse) gegen 1-spec (x-Achse) berechne

aucroc <- auc(roc(data$prediction,data$labels));

Hier ist der AUC-Vergleich.

+----------------+---------+---------+
|                |    A    |    B    |
+----------------+---------+---------+
| sens vs 1-spec | 0.77540 | 0.64590 |
| sens vs spec   | 0.70770 | 0.61000 |
+----------------+---------+---------+

Also hier sind meine Fragen:

  • Warum ist die AUC für A besser als B, wenn B A in Bezug auf Genauigkeit zu übertreffen scheint?
  • Wie bewerte / vergleiche ich die Klassifikationsleistungen von A und B wirklich? Ich meine, verwende ich den AUC-Wert? Benutze ich den acc-Wert und wenn ja, warum?
  • Außerdem übertrifft B A in Bezug auf logarithmischen Verlust, quadratischen Verlust und sphärischen Verlust (p <0,001), wenn ich die richtigen Bewertungsregeln für A und B anwende. Wie wirken sich diese Faktoren auf die Beurteilung der Klassifizierungsleistung in Bezug auf die AUC aus?
  • Das ROC-Diagramm für A sieht sehr glatt aus (es ist ein gekrümmter Bogen), aber das ROC-Diagramm für B sieht aus wie ein Satz verbundener Linien. Warum ist das?

Wie angefordert, sind hier die Grundstücke für Modell A.

Modell Ein naives Bayes-Netz

Hier sind die Grundstücke für Modell B.

Modell B reguläres Bayes-Netz

Hier sind die Histogramm-Diagramme der Verteilung der Wahrscheinlichkeiten für A und B. (Pausen sind auf 20 gesetzt).

Histogramm-Plot

Hier ist die Streudiagramm der Wahrscheinlichkeiten von B gegen A.

Streudiagramm


1
Ihre Tabellen machen keinen Sinn: Wie haben Sie den Punkt gewählt, an dem Sie diese Leistungswerte berechnet haben?
Calimo

3
Denken Sie daran, dass die AUC die Leistung über alle möglichen Schwellenwerte misst . Es würde (Ihnen auch) helfen, wenn Sie die Kurven anzeigen könnten (idealerweise auf demselben Plot).
Calimo

@Calimo Entschuldigung, ich habe vergessen, diese Informationen einzuschließen, aber der Schwellenwert für die Erstellung dieser Verwirrungsmatrix betrug 50%.
Jane Wayne

Du meinst 0,5? Die vorhergesagten Werte von A und B sehen deutlich anders aus, und wenn Sie den Hinweis noch nicht haben, sollten Sie die Histogramme unbedingt nebeneinander darstellen ...
Calimo,

@Calimo könntest du bitte klären, welche Histogramme nebeneinander stehen?
Jane Wayne

Antworten:


27

Unsachgemäße Bewertungsregeln wie der korrekt klassifizierte Anteil, die Sensitivität und die Spezifität sind nicht nur willkürlich (bei der Auswahl des Schwellenwerts), sondern auch unangemessen, dh sie haben die Eigenschaft, dass ihre Maximierung zu einem falschen Modell, ungenauen Vorhersagen und der Auswahl der falschen Merkmale führt . Es ist gut, dass sie nicht mit den Regeln für die richtige Bewertung (logarithmische Wahrscheinlichkeit; logarithmische Bewertungsregel; Brier-Punktzahl) und dem Index (halb-richtige Bewertungsregel - Bereich unter der ROC-Kurve; Konkordanzwahrscheinlichkeit; Wilcoxon-Statistik; Somers ' übereinstimmen. Rangkorrelationskoeffizient); Dies gibt uns mehr Vertrauen in die richtigen Bewertungsregeln.cDxy


6
cc

1
@alto, 0,5 ist äußerst willkürlich und fällt mit einer äußerst ungewöhnlichen Nutzwert- / Verlust- / Kostenfunktion zusammen, bei der zwei Arten von Fehlern gleichermaßen schlecht sind. Dies ist selten der Fall. Probabilistisches Denken - so glaube ich, wie die Natur funktioniert - es gibt keinen "Fehler", sondern einen Grad der Schlechtigkeit einer Risikovorhersage. Zum Beispiel ist die Vorhersage einer Wahrscheinlichkeit von 0,6 und die Beobachtung eines Ereignisses schlechter als die Vorhersage einer Wahrscheinlichkeit von 0,9 und die Beobachtung eines Ereignisses. Aber keine Vorhersage ist "falsch". Sie können Wahrscheinlichkeitsgenauigkeitsbewertungen verwenden, für die keine Schwellenwerte erforderlich sind.
Frank Harrell

3
Ein unbegrenztes Modell wie die Logistik führt nicht zu mehr Überanpassung als jeder andere Ansatz. Die logistische Transformation stellt sicher, dass sich die Wahrscheinlichkeitsschätzungen gut verhalten. Der einzige Nachteil einer logarithmischen Bewertungsregel besteht darin, dass Sie eine Wahrscheinlichkeit sehr nahe an 0 oder 1 vorhersagen und sich "irren". Es ist wahr, dass man letztendlich eine Entscheidung trifft, aber es folgt überhaupt nicht, dass der Analyst die Entscheidung unter Verwendung eines Schwellenwerts treffen sollte. Die Entscheidung sollte dem Entscheidungsträger aufgeschoben werden. Nate Silvers Buch Signal and Noise dokumentiert große Vorteile des probabilistischen Denkens.
Frank Harrell

1
@FrankHarrell, es ist frustrierend, dass Sie meine Meinung immer wieder falsch verstehen. Ich habe mich nie für einen Black-Box-Ansatz ausgesprochen. Ich denke einfach, Ihre Aussage "x ist nutzlos, nur y verwenden" ist zu stark.
Alt

4
@alto das ist aufschlussreich. Ich denke, dass die Echtzeitmustererkennung keine Zeit für Hilfsprogramme hat. Dies ist nicht die Welt, in der ich arbeite. Dennoch gibt es Fälle in Echtzeit, in denen Sie sich lieber von einer Blackbox "unsicher" erklären lassen, als die Wahl zwischen "das ist ein Panzer, der auf Sie zukommt" und "das ist" zu erzwingen Personenkraftwagen".
Frank Harrell

16
  1. Warum ist die AUC für A besser als B, wenn B A in Bezug auf Genauigkeit zu übertreffen scheint?

    Die Genauigkeit wird bei dem Schwellenwert von 0,5 berechnet. Während die AUC berechnet wird, werden alle "Genauigkeiten" addiert, die für alle möglichen Schwellenwerte berechnet wurden. Der ROC kann als Durchschnitt (Erwartungswert) dieser Genauigkeiten angesehen werden, wenn sie für alle Schwellenwerte berechnet werden.

  2. Wie bewerte / vergleiche ich die Klassifikationsleistungen von A und B wirklich? Ich meine, verwende ich den AUC-Wert? verwende ich den acc-Wert? und warum?

    Es hängt davon ab, ob. ROC-Kurven geben Aufschluss darüber, wie gut Ihr Modell die beiden Klassen voneinander trennt, unabhängig davon, wo der Schwellenwert liegt. Genauigkeit ist ein Maß, das in der Regel gut funktioniert, wenn die Klassen in Zug- und Testsätzen das gleiche Gleichgewicht halten und wenn Punktzahlen wirklich Wahrscheinlichkeiten sind. ROC gibt Ihnen weitere Hinweise zum Verhalten des Modells, wenn diese Annahme verletzt wird (dies ist jedoch nur eine Idee).

  3. Darüber hinaus übertrifft B A in Bezug auf logarithmischen Verlust, quadratischen Verlust und sphärischen Verlust (p <0,001), wenn ich die richtigen Bewertungsregeln für A und B anwende. Wie wirken sich diese Faktoren auf die Beurteilung der Klassifizierungsleistung in Bezug auf die AUC aus?

    Ich weiß nicht. Sie müssen besser verstehen, worum es bei Ihren Daten geht. Was jedes Modell anhand Ihrer Daten verstehen kann. Und entscheiden Sie später, welcher der beste Kompromiss ist. Der Grund dafür ist, dass es keine universelle Metrik für die Leistung eines Klassifikators gibt.

  4. Das ROC-Diagramm für A sieht sehr glatt aus (es ist ein gekrümmter Bogen), aber das ROC-Diagramm für B sieht aus wie ein Satz verbundener Linien. warum ist das?

    Das liegt wahrscheinlich daran, dass das Bayes'sche Modell weiche Übergänge zwischen diesen beiden Klassen ermöglicht. Das wird in viele Schwellenwerte übersetzt. Das bedeutet viele Punkte auf der ROC-Kurve. Das zweite Modell liefert aufgrund der Vorhersage mit demselben Wert wahrscheinlich weniger Werte für größere Bereiche des Eingaberaums. Grundsätzlich besteht auch die erste ROC-Kurve aus Linien, der einzige Unterschied besteht darin, dass es so viele benachbarte kleine Linien gibt, dass Sie sie als Kurve sehen.


1
Die Genauigkeit kann bei anderen Schwellenwerten als 0,5 berechnet werden.
Calimo

Natürlich hast du recht. Deshalb habe ich im nächsten Satz "Genauigkeiten" verwendet. Wenn man jedoch ohne andere Kontextinformationen von Genauigkeit spricht, ist die beste Schätzung für den Schwellenwert 0,5.
Rapaio

2
Es ist leicht zu erkennen, wie willkürlich ein solcher Prozess ist. Nur wenige Schätzer in Statistiken, die eine Unterteilung oder willkürliche Auswahl erfordern, haben ohne heftige Kritik überlebt. Und ich würde Proportionen niemals als "genau" einstufen.
Frank Harrell

@unreasonablelearner Sie haben Recht mit Ihrer Annahme .. Die oben angegebene Verwirrungsmatrix wurde bei der Schwelle von 0,5 berechnet. Hat eine andere Schwelle einen Vorteil?
Jane Wayne

1
@ JaneWayne Die Formel ist in der Tat für den Anteil der eingestuften richtig. Genauigkeit ist der am häufigsten verwendete Begriff dafür. Genauigkeit bedeutet jedoch viel mehr, und angesichts dessen, was Frank Harrell gesagt hat, denke ich, dass Genauigkeit bei weitem nicht der beste Begriff dafür ist. Jetzt denke ich, dass seine Verwendung schaden könnte, auch wenn es beliebt ist. So habe ich mich geirrt.
Rapaio

4

Warum ist die AUC für A besser als B, wenn B A in Bezug auf Genauigkeit zu übertreffen scheint?

Erstens ist der Grenzwert (0,5) zwar gleich, aber zwischen A und B überhaupt nicht vergleichbar. Tatsächlich sieht er ziemlich anders aus als Ihre Histogramme! Schauen Sie sich B an: Alle Ihre Vorhersagen sind <0,5.

Zweitens, warum ist B so genau? Wegen des Klassenungleichgewichts. In Test B haben Sie 19138 negative Beispiele und 6687 positive (warum die Zahlen in A unterschiedlich sind, ist mir unklar: fehlende Werte vielleicht?). Das heißt, wenn ich einfach sage, dass alles negativ ist, kann ich bereits eine ziemlich gute Genauigkeit erreichen: genau 19138 / (19138 + 6687) = 74%. Beachten Sie, dass dies überhaupt kein Wissen erfordert, außer dass es ein Ungleichgewicht zwischen den Klassen gibt: Selbst das dümmste Modell kann das!

Und genau das macht Test B bei der Schwelle von 0,5 ... man bekommt (fast) nur negative Vorhersagen.

A ist eher eine gemischte Tüte mit. Obwohl es eine etwas geringere Genauigkeit hat, ist zu beachten, dass die Empfindlichkeit bei diesem Grenzwert viel höher ist ...

Schließlich können Sie die Genauigkeit (eine Leistung bei einem Schwellenwert) nicht mit der AUC (eine durchschnittliche Leistung bei allen möglichen Schwellenwerten) vergleichen. Da diese Metriken verschiedene Dinge messen, ist es nicht verwunderlich, dass sie unterschiedlich sind.

Wie bewerte / vergleiche ich die Klassifikationsleistungen von A und B wirklich? Ich meine, verwende ich den AUC-Wert? verwende ich den acc-Wert? und warum?

Außerdem übertrifft B A in Bezug auf logarithmischen Verlust, quadratischen Verlust und sphärischen Verlust (p <0,001), wenn ich die richtigen Bewertungsregeln für A und B anwende. Wie wirken sich diese Faktoren auf die Beurteilung der Klassifizierungsleistung in Bezug auf die AUC aus?

Sie müssen sich fragen: Was möchten Sie wirklich tun? Was ist wichtig? Letztendlich können nur Sie diese Frage beantworten, wenn Sie die Frage kennen. Vielleicht ergibt AUC einen Sinn (das ist selten der Fall, wenn Sie wirklich darüber nachdenken, es sei denn, Sie möchten sich nicht selbst entscheiden, sondern lassen dies andere tun - dies ist am wahrscheinlichsten, wenn Sie ein Tool für andere erstellen), vielleicht die Genauigkeit (wenn Sie eine binäre, Go-No-Go-Antwort benötigen), aber möglicherweise bei unterschiedlichen Schwellenwerten, möglicherweise bei einigen anderen kontinuierlicheren Messwerten, möglicherweise bei einem der von Frank Harrell vorgeschlagenen Messwerte ... Wie bereits erwähnt, gibt es keine universelle Frage Hier.

Das ROC-Diagramm für A sieht sehr glatt aus (es ist ein gekrümmter Bogen), aber das ROC-Diagramm für B sieht aus wie ein Satz verbundener Linien. Warum ist das?

Zurück zu den Vorhersagen, die Sie in den Histogrammen angezeigt haben. A gibt Ihnen eine kontinuierliche oder nahezu kontinuierliche Vorhersage. Im Gegenteil, B gibt meist nur wenige unterschiedliche Werte zurück (wie Sie am "spitzen" Histogramm sehen können).

In einer ROC-Kurve entspricht jeder Punkt einem Schwellenwert. In A gibt es viele Schwellenwerte (da die Vorhersagen kontinuierlich sind), sodass die Kurve glatt ist. In B haben Sie nur wenige Schwellenwerte, sodass die Kurve von einem SN / SP zu einem anderen "springt".

Sie sehen vertikale Sprünge, wenn sich die Empfindlichkeit nur ändert (der Schwellenwert unterscheidet sich nur in positiven Fällen), horizontale Sprünge, wenn sich die Spezifität nur ändert (der Schwellenwert unterscheidet sich nur bei negativen Beispielen) und diagonale Sprünge, wenn die Änderung des Schwellenwerts beide Klassen betrifft.


+1 ist es jedoch nicht der Fall, dass die AUC nur für "wenn Sie selbst keine Entscheidung treffen möchten, sondern andere dies zulassen". Siehe: So berechnen Sie die Fläche unter der Kurve (AUC) oder die c-Statistik von Hand .
gung - Wiedereinsetzung von Monica
Durch die Nutzung unserer Website bestätigen Sie, dass Sie unsere Cookie-Richtlinie und Datenschutzrichtlinie gelesen und verstanden haben.
Licensed under cc by-sa 3.0 with attribution required.