Wofür steht AUC und was ist das?

228

Gesucht hoch und niedrig und nicht in der Lage, herauszufinden, was AUC, wie in Bezug auf Vorhersage, bedeutet oder steht.

josh
quelle
8
Überprüfen Sie die Beschreibung des verwendeten aucTags: stats.stackexchange.com/questions/tagged/auc
Tim
4
Fläche unter der Kurve (dh ROC-Kurve)
Andrej
7
Leser hier könnten auch an folgendem Thread interessiert sein: Grundlegendes zur ROC-Kurve .
gung
11
Der Ausdruck "Searched high and low" ist interessant, da Sie durch Eingabe von "AUC" oder "AUC statistics" in Google viele hervorragende Definitionen / Verwendungen für AUC finden können. Geeignete Frage natürlich, aber diese Aussage hat mich einfach überrumpelt!
Behacad
3
Ich habe Google AUC durchgeführt, aber in vielen Top-Ergebnissen wurde AUC = Area Under Curve nicht explizit angegeben. Die erste Wikipedia-Seite, die sich darauf bezieht, hat es aber erst auf halber Strecke. Rückblickend scheint es ziemlich offensichtlich! Vielen Dank für einige wirklich detaillierte Antworten
Josh

Antworten:

309

Abkürzungen

AUC wird die meiste Zeit als AUROC bezeichnet, was eine schlechte Praxis ist, da AUC, wie Marc Claesen hervorhob, mehrdeutig ist (jede Kurve sein kann), während AUROC dies nicht ist.


AUROC interpretieren

Die AUROC hat mehrere gleichwertige Interpretationen :

  • Die Erwartung, dass ein gleichmäßig gezogenes zufälliges Positiv vorliegt, wird vor einem gleichmäßig gezogenen zufälligen Negativ eingestuft.
  • Der erwartete Anteil an Positiven wurde vor einem gleichmäßig gezogenen zufälligen Negativ bewertet.
  • Die erwartete wahre positive Rate, wenn die Rangfolge kurz vor einem gleichmäßig gezogenen zufälligen Negativ aufgeteilt wird.
  • Der erwartete Anteil an Negativen wurde nach einem gleichmäßig gezogenen zufälligen Positiv gewertet.
  • Die erwartete False-Positive-Rate, wenn die Rangfolge unmittelbar nach einem gleichmäßig gezogenen zufälligen Positiv aufgeteilt wird.

Weiter gehen: Wie lässt sich die probabilistische Interpretation der AUROC ableiten?


Berechnung der AUROC

Angenommen, wir haben einen probabilistischen, binären Klassifikator wie die logistische Regression.

Vor der Darstellung der ROC-Kurve (= Receiver Operating Characteristic Curve) muss das Konzept der Confusion Matrix verstanden werden. Wenn wir eine binäre Vorhersage machen, kann es 4 Arten von Ergebnissen geben:

  • Wir sagen 0 voraus, während die wahre Klasse tatsächlich 0 ist: Dies wird als wahres Negativ bezeichnet , dh wir sagen richtig voraus, dass die Klasse negativ ist (0). Ein Virenschutzprogramm hat beispielsweise keine harmlose Datei als Virus erkannt.
  • Wir sagen 0 voraus, während die wahre Klasse tatsächlich 1 ist: Dies wird False Negative genannt , dh wir sagen fälschlicherweise voraus, dass die Klasse negativ ist (0). Ein Virenschutzprogramm konnte beispielsweise keinen Virus erkennen.
  • Wir sagen 1 voraus, während die wahre Klasse tatsächlich 0 ist: Dies wird als falsch positiv bezeichnet , dh wir sagen fälschlicherweise voraus, dass die Klasse positiv ist (1). Ein Virenschutzprogramm beispielsweise betrachtet eine harmlose Datei als Virus.
  • Wir sagen 1 voraus, während die wahre Klasse tatsächlich 1 ist: Dies wird als wahres Positiv bezeichnet , dh wir sagen richtig voraus, dass die Klasse positiv ist (1). Ein Virenschutzprogramm hat beispielsweise einen Virus zu Recht erkannt.

Um die Verwirrungsmatrix zu erhalten, gehen wir alle vom Modell gemachten Vorhersagen durch und zählen, wie oft diese vier Arten von Ergebnissen auftreten:

Bildbeschreibung hier eingeben

In diesem Beispiel einer Verwirrungsmatrix werden von den 50 klassifizierten Datenpunkten 45 korrekt klassifiziert und die 5 falsch klassifiziert.

Da es für den Vergleich zweier verschiedener Modelle oft praktischer ist, eine einzelne Metrik anstelle mehrerer zu haben, berechnen wir zwei Metriken aus der Verwirrungsmatrix, die wir später zu einer kombinieren werden:

  • True Positive Rate ( TPR ), auch bekannt als. Empfindlichkeit, Trefferrate und Rückruf , definiert als . Intuitiv entspricht diese Metrik dem Anteil positiver Datenpunkte, die in Bezug auf alle positiven Datenpunkte korrekt als positiv betrachtet werden. Mit anderen Worten, je höher der TPR, desto weniger positive Datenpunkte werden wir vermissen.TPTP+FN
  • False Positive Rate ( FPR ), auch bekannt als. Ausfall , der als . Intuitiv entspricht diese Metrik dem Anteil negativer Datenpunkte, die fälschlicherweise als positiv angesehen werden, bezogen auf alle negativen Datenpunkte. Mit anderen Worten, je höher der FPR, desto mehr negative Datenpunkte werden falsch klassifiziert.FPFP+TN

Um den FPR und den TPR zu einer einzigen Metrik zu kombinieren, berechnen wir zunächst die beiden vorherigen Metriken mit vielen verschiedenen Schwellenwerten (z. B. ) für die logistische Regression und zeichnen sie dann in einem einzelnen Diagramm auf. mit den FPR-Werten auf der Abszisse und den TPR-Werten auf der Ordinate. Die resultierende Kurve wird ROC-Kurve genannt, und die Metrik, die wir betrachten, ist die AUC dieser Kurve, die wir AUROC nennen.0.00;0.01,0.02,,1.00

Die folgende Abbildung zeigt die AUROC grafisch:

Bildbeschreibung hier eingeben

In dieser Abbildung entspricht der blaue Bereich dem Bereich unter der Kurve der Empfänger-Betriebskennlinie (AUROC). Die gestrichelte Linie in der Diagonale zeigt die ROC-Kurve eines zufälligen Prädiktors: Sie hat eine AUROC von 0,5. Der zufällige Prädiktor wird üblicherweise als Basis verwendet, um festzustellen, ob das Modell nützlich ist.

Wenn Sie Erfahrungen aus erster Hand sammeln möchten:

Franck Dernoncourt
quelle
4
Geniale Erklärung. Danke. Eine Frage, um zu verdeutlichen, dass ich verstehe: Habe ich Recht, wenn ich sage, dass in diesem Diagramm ein ausgefülltes blaues Quadrat eine ROC-Kurve (AUC = 1) hätte und ein gutes Vorhersagemodell wäre? Ich gehe davon aus, dass dies theoretisch möglich ist.
Josh
25
@josh Ja, das stimmt. Die AUROC liegt zwischen 0 und 1, und AUROC = 1 bedeutet, dass das Vorhersagemodell perfekt ist. Je weiter die AUROC von 0,5 entfernt ist, desto besser: Wenn AUROC <0,5 ist, müssen Sie nur die Entscheidung, die Ihr Modell trifft, umkehren. Wenn also AUROC = 0 ist, sind dies gute Nachrichten, da Sie nur die Ausgabe Ihres Modells invertieren müssen, um ein perfektes Modell zu erhalten.
Franck Dernoncourt
1
Der Link "mehrere gleichwertige Interpretationen" ist unterbrochen.
Haitao Du
1
Sollte dies in AUROC-Interpretationen nicht (1 - FPR) sein?
Mudit Jain
1
@ ryu576 idealerweise ist die Anzahl der Punkte in der ROC-Kurve in der Tat die Anzahl der Testproben.
Franck Dernoncourt
60

Ich bin zwar etwas zu spät zur Party, aber hier sind meine 5 Cent. @FranckDernoncourt (+1) erwähnte bereits mögliche Interpretationen von AUC ROC, und mein Favorit ist der erste auf seiner Liste (ich verwende einen anderen Wortlaut, aber es ist der gleiche):

Die AUC eines Klassifikators ist gleich der Wahrscheinlichkeit, dass der Klassifikator ein zufällig ausgewähltes positives Beispiel höher einstuft als ein zufällig ausgewähltes negatives Beispiel, dhP(score(x+)>score(x))

Betrachten Sie dieses Beispiel (auc = 0,68):

Bildbeschreibung hier eingeben

Versuchen wir, es zu simulieren: Zeichnen Sie zufällige positive und negative Beispiele und berechnen Sie dann den Anteil der Fälle, in denen Positive eine höhere Punktzahl als Negative aufweisen

cls = c('P', 'P', 'N', 'P', 'P', 'P', 'N', 'N', 'P', 'N', 'P',
        'N', 'P', 'N', 'N', 'N', 'P', 'N', 'P', 'N')
score = c(0.9, 0.8, 0.7, 0.6, 0.55, 0.51, 0.49, 0.43, 0.42, 0.39, 0.33, 
          0.31, 0.23, 0.22, 0.19, 0.15, 0.12, 0.11, 0.04, 0.01)

pos = score[cls == 'P']
neg = score[cls == 'N']

set.seed(14)
p = replicate(50000, sample(pos, size=1) > sample(neg, size=1))
mean(p)

Und wir bekommen 0,67926. Ganz in der Nähe, nicht wahr?

 

Übrigens wird in RI normalerweise das ROCR- Paket zum Zeichnen von ROC-Kurven und Berechnen der AUC verwendet.

library('ROCR')

pred = prediction(score, cls)
roc = performance(pred, "tpr", "fpr")

plot(roc, lwd=2, colorize=TRUE)
lines(x=c(0, 1), y=c(0, 1), col="black", lwd=1)

auc = performance(pred, "auc")
auc = unlist(auc@y.values)
auc

Bildbeschreibung hier eingeben

Alexey Grigorev
quelle
Nett. Der zweite graue Block verdeutlicht definitiv die Darstellungsmethode.
Josh
+1 (von vorher). Oben habe ich einen anderen Thread verlinkt, in dem Sie einen sehr schönen Beitrag zu einem verwandten Thema geleistet haben. Das hier macht einen großartigen Job, der @ FranckDernoncourts Beitrag ergänzt und dazu beiträgt, ihn weiter zu konkretisieren.
gung
1
Wofür steht die Farbe in der vom R-Paket erzeugten ROC-Kurve? Können Sie bitte einige Details hinzufügen. Vielen Dank !
Prradep
Es wäre wahrscheinlich nützlich, der Erklärung in der grauen Box oben echte Positive und echte Negative hinzuzufügen . Ansonsten kann es etwas verwirrend sein.
cbellei
42

Wichtige Überlegungen sind in keiner dieser Diskussionen enthalten. Die oben beschriebenen Verfahren führen zu einer unangemessenen Schwellenwertbildung und verwenden Bewertungsregeln (Proportionen) mit unkorrekter Genauigkeit, die optimiert werden, indem die falschen Merkmale ausgewählt und ihnen die falschen Gewichte gegeben werden.

Die Dichotomisierung kontinuierlicher Vorhersagen steht im Widerspruch zu einer optimalen Entscheidungstheorie. ROC-Kurven liefern keine verwertbaren Erkenntnisse. Sie sind obligatorisch geworden, ohne dass Forscher den Nutzen untersuchen. Sie haben ein sehr großes Verhältnis von Tinte zu Information.

Optimale Entscheidungen berücksichtigen nicht "Positive" und "Negative", sondern die geschätzte Wahrscheinlichkeit des Ergebnisses. Die Utility / Cost / Loss-Funktion, die bei der ROC-Erstellung keine Rolle spielt und daher die Unbrauchbarkeit von ROCs darstellt, wird verwendet, um die Risikoschätzung in die optimale Entscheidung (z. B. den niedrigsten erwarteten Verlust) umzusetzen.

Das Ziel eines statistischen Modells besteht oft darin, eine Vorhersage zu treffen, und der Analyst sollte oft damit aufhören, da der Analyst die Verlustfunktion möglicherweise nicht kennt. Die wichtigsten Komponenten der Vorhersage zu validieren unbiasedly (zB mit Hilfe des Bootstrap) sind die prädiktive Diskriminierung (ein halb guter Weg , dies ist die Konkordanz Wahrscheinlichkeit zu messen , die die Fläche unter der ROC gleich passiert , aber wenn Sie leichter verständlich werden kann don ‚t die ROC) und die Kalibrierungskurve zeichnen. Die Validierung der Kalibrierung ist wirklich, wirklich notwendig, wenn Sie Vorhersagen auf einer absoluten Skala verwenden.

Weitere Informationen finden Sie im Kapitel Informationsverlust in Biostatistik für die biomedizinische Forschung und in anderen Kapiteln.

Frank Harrell
quelle
2
Jede andere Antwort konzentriert sich auf mathematische Formeln, die keinen praktischen Nutzen haben. Und die einzig richtige Antwort hat die geringsten positiven Stimmen.
max
6
Ich habe von Professor Harrell anscheinend kryptische Antworten zu diesem Thema erhalten - sie sind großartig in der Art, wie sie Sie zum Nachdenken zwingen. Ich glaube, er deutet an, dass Sie keine falsch-negativen Fälle in einem HIV-Screening-Test akzeptieren möchten (fiktives Beispiel), auch wenn die Annahme eines höheren Prozentsatzes an falsch-negativen Fällen (gleichzeitige Reduzierung von falsch-positiven) Ihre Grenze setzen könnte bei den AUC-Maxima. Entschuldigen Sie die brutale Vereinfachung.
Antoni Parellada
Hier
Antoni Parellada
17

AUC ist eine Abkürzung für area under the curve . Es wird in der Klassifikationsanalyse verwendet, um zu bestimmen, welches der verwendeten Modelle die Klassen am besten vorhersagt.

Ein Beispiel für seine Anwendung sind ROC-Kurven. Hier werden die wahren positiven Raten gegen die falschen positiven Raten aufgetragen. Ein Beispiel ist unten. Je näher die AUC für ein Modell bei 1 liegt, desto besser ist sie. Modelle mit höheren AUCs werden daher denen mit niedrigeren AUCs vorgezogen.

Bitte beachten Sie, dass es neben den ROC-Kurven auch andere Methoden gibt, die sich jedoch auch auf die wahr-positiven und falsch-positiven Raten beziehen, z. B. Precision-Recall-, F1-Score- oder Lorenz-Kurven.

                                            Beispiel einer ROC-Kurve

zufälliger Typ
quelle
2
Können Sie bitte die ROC-Kurve im Zusammenhang mit einer einfachen Kreuzvalidierung des 0/1-Ergebnisses erläutern? Ich weiß nicht genau, wie die Kurve in diesem Fall aufgebaut ist.
Neugierig
10

Die Antworten in diesem Forum sind großartig und ich komme hier oft als Referenz zurück. Eines fehlte jedoch immer. Aus der Antwort von @ Frank geht hervor, dass die AUC als die Wahrscheinlichkeit interpretiert wird, dass eine positive Stichprobe eine höhere Punktzahl aufweist als die negative Stichprobe. Zur gleichen Zeit werden TPR und FPR als Schwellenwert geplottet, es wird geändert und die Fläche unter dieser Kurve berechnet. Aber warum entspricht dieser Bereich unter der Kurve dieser Wahrscheinlichkeit? @Alexy hat durch Simulation gezeigt, dass sie nahe beieinander liegen, aber können wir diese Beziehung mathematisch ableiten? Nehmen wir folgendes an:τ

  1. A ist die Verteilung der Bewertungen, die das Modell für Datenpunkte erstellt, die sich tatsächlich in der positiven Klasse befinden.
  2. B ist die Verteilung der Bewertungen, die das Modell für Datenpunkte erstellt, die sich tatsächlich in der negativen Klasse befinden (dies soll links von ).A
  3. τ ist die Abschaltschwelle. Wenn ein Datenpunkt eine höhere Punktzahl aufweist, wird vorausgesagt, dass er zur positiven Klasse gehört. Andernfalls wird vorausgesagt, dass es sich um eine negative Klasse handelt.

Beachten Sie, dass der TPR (Recall) gegeben ist durch: und der FPR (Fallout) gegeben ist durch: .P(A>τ)P(B>τ)

Jetzt zeichnen wir den TPR auf der y-Achse und den FPR auf der x-Achse, zeichnen die Kurve für verschiedene und berechnen die Fläche unter dieser Kurve ( ).τAUC

Wir bekommen:

AUC=01TPR(x)dx=01P(A>τ(x))dx
wobei der FPR ist. Eine Möglichkeit, dieses Integral zu berechnen, besteht darin, als zu einer Gleichverteilung gehörig zu betrachten. In diesem Fall wird es einfach zur Erwartung des da das PDF der Uniform 1 ist.xxTPR

(1)AUC=Ex[P(A>τ(x))]
wenn wir .xU[0,1)

Nun hier war nur derxFPR

x=FPR=P(B>τ(x))
Da wir angenommen haben, dass von einer gleichmäßigen Verteilung ist,x

P(B>τ(x))U
=>P(B<τ(x))(1U)U
(2)=>FB(τ(x))U

Aber wir wissen aus dem inversen Transformationsgesetz, dass für jede Zufallsvariable , wenn dann . Dies folgt, da eine Zufallsvariable genommen und ihre eigene CDF darauf angewendet wird, um die Uniform zu erhalten.XFX(Y)UYX

FX(X)=P(FX(x)<X)=P(X<FX1(X))=FXFX1(X)=X
und dies gilt nur für Uniform.

Die Verwendung dieser Tatsache in Gleichung (2) ergibt:

τ(x)B

Wenn wir dies in Gleichung (1) einsetzen, erhalten wir:

AUC=Ex(P(A>B))=P(A>B)

Mit anderen Worten, die Fläche unter der Kurve ist die Wahrscheinlichkeit, dass eine zufällige positive Stichprobe eine höhere Punktzahl aufweist als eine zufällige negative Stichprobe.

ryu576
quelle