Ich untersuche verschiedene Leistungsmessungen für Vorhersagemodelle. Es wurde viel über Probleme bei der Verwendung von Genauigkeit geschrieben, anstatt über etwas Kontinuierlicheres, um die Modellleistung zu bewerten. Frank Harrell http://www.fharrell.com/post/class-damage/ liefert ein Beispiel, wenn das Hinzufügen einer informativen Variablen zu einem Modell zu einem Rückgang der Genauigkeit, einer eindeutig eingängigen und falschen Schlussfolgerung führt.
In diesem Fall scheint dies jedoch auf unausgeglichene Klassen zurückzuführen zu sein, und daher kann es nur durch Verwendung einer ausgeglichenen Genauigkeit ((sens + spec) / 2) gelöst werden. Gibt es ein Beispiel, bei dem die Verwendung der Genauigkeit eines ausgewogenen Datensatzes zu eindeutig falschen oder nicht intuitiven Schlussfolgerungen führt?
Bearbeiten
Ich bin auf der Suche nach etwas, bei dem die Genauigkeit sinkt, selbst wenn das Modell deutlich besser ist, oder bei dem die Verwendung der Genauigkeit zu einer falsch positiven Auswahl einiger Merkmale führt. Es ist einfach, falsch negative Beispiele zu erstellen, bei denen die Genauigkeit für zwei Modelle gleich ist, bei denen eines anhand anderer Kriterien eindeutig besser ist.
Antworten:
Ich werde betrügen.
Insbesondere habe ich oft (z. B. hier ) argumentiert, dass sich der statistische Teil der Modellierung und Vorhersage nur auf probabilistische Vorhersagen für Klassenmitgliedschaften erstreckt (oder bei numerischen Vorhersagen Vorhersagedichten angibt). Die Behandlung eine bestimmte Instanz , als ob es zu einer bestimmten Klasse (oder gehörte Punkt Vorhersagen in dem numerischen Fall) ist, Statistiken nicht mehr richtig. Es ist Teil des entscheidungstheoretischen Aspekts.
Und Entscheidungen sollten nicht nur auf der Wahrscheinlichkeitsvorhersage beruhen, sondern auch auf den Kosten von Fehlklassifizierungen und auf einer Vielzahl anderer möglicher Maßnahmen . Selbst wenn Sie beispielsweise nur zwei mögliche Klassen haben, "krank" oder "gesund", können Sie eine Vielzahl möglicher Maßnahmen ergreifen, je nachdem, wie wahrscheinlich es ist, dass ein Patient an der Krankheit leidet und ihn nach Hause schickt, weil er ist mit ziemlicher Sicherheit gesund, ihm zwei Aspirin zu geben, zusätzliche Tests durchzuführen, sofort einen Krankenwagen zu rufen und ihn lebenserhaltend zu behandeln.
Die Beurteilung der Genauigkeit setzt eine solche Entscheidung voraus. Die Genauigkeit als Bewertungsmetrik für die Klassifizierung ist ein Kategoriefehler .
Um Ihre Frage zu beantworten, werde ich den Weg eines solchen Kategoriefehlers beschreiten. Wir werden ein einfaches Szenario mit ausgewogenen Klassen betrachten, in dem eine Klassifizierung ohne Berücksichtigung der Kosten einer Fehlklassifizierung uns tatsächlich stark irreführt.
Angenommen, eine Epidemie von bösartigem Gutrot ist in der Bevölkerung weit verbreitet. Glücklicherweise können wir jeden leicht auf ein Merkmal ( ) untersuchen, und wir wissen, dass die Wahrscheinlichkeit der Entwicklung von MG linear von abhängt , p = γ t für einen Parameter γ ( 0 ≤ γ ≤ 1 ) . Das Merkmal t ist gleichmäßig in der Bevölkerung verteilt.t 0 ≤ t ≤ 1 t p = γt γ 0 ≤ γ≤ 1 t
Zum Glück gibt es einen Impfstoff. Leider ist es teuer und die Nebenwirkungen sind sehr unangenehm. (Ich lasse Ihre Fantasie die Details liefern.) Sie sind jedoch besser, als unter MG zu leiden.
Im Interesse der Abstraktion gehe ich davon aus, dass es für einen bestimmten Patienten aufgrund seines Merkmalswertst tatsächlich nur zwei mögliche Vorgehensweisen gibt : entweder impfen oder nicht impfen.
Somit ist die Frage: Wie sollen wir entscheiden , wer zu impfen und die nicht zu, dat ? Wir werden diesbezüglich nützlich sein und die niedrigsten erwarteten Gesamtkosten anstreben. Es ist offensichtlich, dass es darauf ankommt, einen Schwellenwert θ zu wählen und jeden mit t ≥ θ zu impfen .
Modell und Entscheidung 1 sind genauigkeitsabhängig. Passen Sie ein Modell an. Glücklicherweise haben wir bereits kennen das Modell. Wählen Sie den Schwellenwertθ , der die Genauigkeit bei der Klassifizierung von Patienten maximiert , und impfen Sie alle mit t ≥ θ . Wir sehen leicht, dass θ = 12 γ ist die magische Zahl - jeder mitt ≥ θ hat eine höhere Wahrscheinlichkeit, MG zu kontrahieren als nicht, und umgekehrt, sodass dieseKlassifizierungswahrscheinlichkeitsschwelledie Genauigkeit maximiert. Unter der Annahme ausgewogener Klassen,γ= 1 , werden wir die Hälfte der Bevölkerung impfen. Lustigerweise, wennγ< 12 , wir werdenniemandenimpfen. (Wir sind hauptsächlich an ausgeglichenen Klassen interessiert. Lassen Sie uns also außer Acht, dass wir nur einen Teil der Bevölkerung eines schrecklichen schmerzhaften Todes sterben lassen.)
Dies berücksichtigt natürlich nicht die unterschiedlichen Kosten einer Fehlklassifizierung.
Modell und Entscheidung 2 nutzen sowohl unsere probabilistische Vorhersage ("angesichts Ihres Merkmalst beträgt Ihre Wahrscheinlichkeit, MG zu bekommen, γt ") als auch die Kostenstruktur.
Hier ist zunächst eine kleine Grafik. Die horizontale Achse gibt das Merkmal an, die vertikale Achse die MG-Wahrscheinlichkeit. Das schattierte Dreieck gibt den Anteil der Bevölkerung an, die MG bekommen wird. Die vertikale Linie gibt ein bestimmtesθ . Die horizontale gestrichelte Linie bei γθ vereinfacht die folgenden Berechnungen etwas. Wir nehmen γ> 12 , nur um das Leben leichter zu machen.
Geben wir unsere Kostennamen an und berechnen ihre Beiträge zu den erwarteten Gesamtkosten unter Berücksichtigung vonθ und γ (und der Tatsache, dass das Merkmal gleichmäßig in der Bevölkerung verteilt ist).
(In jedem Trapez berechne ich zuerst die Fläche des Rechtecks und füge dann die Fläche des Dreiecks hinzu.)
Die erwarteten Gesamtkosten betragenc++( (1-θ)γθ + 12( 1 - θ ) ( γ- γθ ) ) + c- -+( (1-θ)(1-γ) + 12( 1 - θ ) ( γ- γθ ) )+ c- -- -( θ(1−γθ )+12θγθ ) +c+- -12θγθ .
Wenn wir die Ableitung differenzieren und auf Null setzen, erhalten wir, dass die erwarteten Kosten durch θ ∗ = c - + - c - - minimiert werden.θ∗= c- -+- c- -- -γ( c+- -+ c- -+- c++- c- -- -).
Dies ist nur gleich dem Genauigkeitsmaximierungswert vonθ für eine sehr spezifische Kostenstruktur, nämlich genau dann, wenn
12 γ= c- -+- c- -- -γ( c+- -+ c- -+- c++- c- -- -),
oder
12= c- -+- c- -- -c+- -+ c- -+- c++- c- -- -.
Nehmen wir als Beispiel an, dassγ= 1 für ausgeglichene Klassen ist und dass die Kosten
c++= 1 ,c- -+= 2 ,c+- -= 10 ,c- -- -= 0.
Dann ist die Genauigkeitsmaximierungθ = 12 1,875 θ = 211 1.318
In diesem Beispiel führte die Grundlage unserer Entscheidungen für nicht-probabilistische Klassifikationen, die die Genauigkeit maximierten, zu mehr Impfungen und höheren Kosten als die Verwendung einer Entscheidungsregel, bei der die unterschiedlichen Kostenstrukturen explizit im Rahmen einer probabilistischen Vorhersage verwendet wurden.
Fazit: Genauigkeit ist nur dann ein gültiges Entscheidungskriterium, wenn
Im allgemeinen Fall stellt die Bewertung der Genauigkeit eine falsche Frage, und die Maximierung der Genauigkeit ist ein sogenannter Typ-III-Fehler: die richtige Antwort auf die falsche Frage.
R-Code:
quelle
levelplot( thetastar ~ cdminus + cdplus, data = data.table( expand.grid( cdminus = seq( 0, 10, 0.01 ), cdplus = seq( 0, 10, 0.01 ) ) )[ , .( cdminus, cdplus, thetastar = cdminus/(cdminus + cdplus) ) ] )
Es könnte sich lohnen, Stephens hervorragender Antwort ein weiteres, vielleicht einfacheres Beispiel hinzuzufügen.
Betrachten wir einen medizinischen Test, dessen Ergebnis normalerweise sowohl bei kranken als auch bei gesunden Menschen mit unterschiedlichen Parametern verteilt ist (aber der Einfachheit halber nehmen wir Homoskedastizität an, dh die Varianz ist dieselbe):T.∣ D ⊖ ∼ N.( μ- -, σ2)T.∣ D ⊕ ∼ N.( μ+, σ2). p D ⊕ ∼ B e r n ( p )
Genauigkeitsbasierter Ansatz
Beachten Sie, dass dies natürlich nicht von den Kosten abhängt.
Wenn die Klassen ausgeglichen sind, ist das Optimum der Durchschnitt der mittleren Testwerte bei kranken und gesunden Menschen, andernfalls wird es aufgrund des Ungleichgewichts verschoben.
Kostenbasierter Ansatz
Die optimale Schwelle ergibt sich daher aus der Lösung der Gleichungφ+( b )φ- -( b )= ( 1 - p ) c- -dp c+d. Zwei Dinge sollten hier beachtet werden:
Es würde mich wirklich interessieren, ob diese Gleichung eine generische Lösung für hatb (parametrisiert durch die φ s), aber ich wäre überrascht.
Trotzdem können wir es normal ausarbeiten!2 πσ2- -- -- -- -√ s Abbrechen auf der linken Seite, also haben wir e- 12( ( b - μ+)2σ2- ( b - μ- -)2σ2)= ( 1 - p ) c- -dp c+d( b - μ- -)2- ( b - μ+)2= 2 σ2Log( 1 - p ) c- -dp c+d2 b ( μ+- μ- -) + ( μ2- -- μ2+) =2 σ2Log( 1 - p ) c- -dp c+d daher ist die Lösung b∗= ( μ2+- μ2- -) +2 σ2Log( 1 - p ) c- -dp c+d2 ( μ+- μ- -)= μ++ μ- -2+ σ2μ+- μ- -Log( 1 - p ) c- -dp c+d.
(Vergleichen Sie das vorherige Ergebnis! Wir sehen, dass sie genau dann gleich sind, wennc- -d= c+d dh die Unterschiede zwischen den Kosten für die Fehlklassifizierung und den Kosten für die korrekte Klassifizierung sind bei kranken und gesunden Menschen gleich.)
Eine kurze Demonstration
Sagen wirc- -- -= 0 (es ist medizinisch ganz natürlich), und das c++= 1 (Wir können es immer erhalten, indem wir die Kosten mit teilen c++ dh durch Messen aller Kosten in c++ Einheiten). Nehmen wir an, die Prävalenz istp = 0,2 . Sagen wir das auchμ- -= 9,5 , μ+= 10,5 und σ= 1 .
In diesem Fall:
Das Ergebnis ist (Punkte stellen die minimalen Kosten dar und die vertikale Linie zeigt den optimalen Schwellenwert mit dem auf Genauigkeit basierenden Ansatz):
Wir können sehr gut sehen, wie sich das kostenbasierte Optimum vom genauigkeitsbasierten Optimum unterscheiden kann. Es ist lehrreich darüber nachzudenken, warum: wenn es teurer ist, kranke Menschen fälschlicherweise gesund zu klassifizieren als umgekehrt (c+- - ist hoch, c- -+ ist niedrig) als der Schwellenwert sinkt, da wir es vorziehen, leichter in die Kategorie krank einzustufen, wenn es andererseits teurer ist, ein gesundes Volk zu fälschen, das fälschlicherweise krank ist, als umgekehrt (c+- - ist niedrig, c- -+ ist hoch) als der Schwellenwert steigt, da wir es vorziehen, leichter in die Kategorie gesund zu klassifizieren. (Überprüfen Sie diese auf der Abbildung!)
Ein reales Beispiel
Schauen wir uns ein empirisches Beispiel anstelle einer theoretischen Ableitung an. Dieses Beispiel unterscheidet sich grundlegend von zwei Aspekten:
Der Datensatz (
acath
aus dem PaketHmisc
) stammt aus der Datenbank für kardiovaskuläre Erkrankungen der Duke University und enthält, ob der Patient eine signifikante Koronarerkrankung hatte, wie durch Herzkatheterisierung festgestellt. Dies ist unser Goldstandard, dh der wahre Krankheitsstatus und der "Test" "wird die Kombination aus Alter, Geschlecht, Cholesterinspiegel und Dauer der Symptome des Probanden sein:Es lohnt sich, die vorhergesagten Risiken im Logit-Maßstab aufzuzeichnen, um zu sehen, wie normal sie sind (im Wesentlichen haben wir dies zuvor mit einem einzigen Test angenommen!):
Nun, sie sind kaum normal ...
Lassen Sie uns fortfahren und die erwarteten Gesamtkosten berechnen:
Und zeichnen wir es für alle möglichen Kosten auf (ein rechnerischer Hinweis: Wir müssen nicht gedankenlos durch Zahlen von 0 bis 1 iterieren, wir können die Kurve perfekt rekonstruieren, indem wir sie für alle eindeutigen Werte der vorhergesagten Wahrscheinlichkeiten berechnen):
Wir können sehr gut sehen, wo wir den Schwellenwert setzen sollten, um die erwarteten Gesamtkosten zu optimieren (ohne irgendwo Sensitivität, Spezifität oder Vorhersagewerte zu verwenden!). Dies ist der richtige Ansatz.
Es ist besonders lehrreich, diese Metriken gegenüberzustellen:
Wir können jetzt die Metriken analysieren, für die manchmal speziell geworben wird, um einen optimalen Cutoff ohne Kosten zu erzielen, und dies unserem kostenbasierten Ansatz gegenüberstellen! Verwenden wir die drei am häufigsten verwendeten Metriken:
(Der Einfachheit halber subtrahieren wir die obigen Werte von 1 für die Youden- und die Genauigkeitsregel, damit wir überall ein Minimierungsproblem haben.)
Lassen Sie uns die Ergebnisse sehen:
Dies betrifft natürlich eine bestimmte Kostenstruktur,c- -- -= 0 , c++= 1 , c- -+= 2 , c+- -= 4 (Dies ist natürlich nur für die optimale Kostenentscheidung von Bedeutung). Um den Effekt der Kostenstruktur zu untersuchen, wählen wir nur den optimalen Schwellenwert (anstatt die gesamte Kurve zu verfolgen), zeichnen ihn jedoch als Funktion der Kosten auf. Genauer gesagt, wie wir bereits gesehen haben, hängt die optimale Schwelle von den vier Kosten nur durch die abc- -d/ c+d Verhältnis, also zeichnen wir den optimalen Cutoff als Funktion davon zusammen mit den normalerweise verwendeten Metriken, die keine Kosten verwenden:
Horizontale Linien geben die Ansätze an, die keine Kosten verwenden (und daher konstant sind).
Wir sehen wieder gut, dass mit steigenden zusätzlichen Kosten für eine Fehlklassifizierung in der gesunden Gruppe im Vergleich zu denen der erkrankten Gruppe die optimale Schwelle steigt: Wenn wir wirklich nicht wollen, dass gesunde Menschen als krank eingestuft werden, werden wir einen höheren Grenzwert verwenden (und umgekehrt natürlich!).
Und schließlich sehen wir noch einmal, warum Methoden, die keine Kosten verwenden, nicht immer optimal sind ( und auch nicht können! ).
quelle