Seite 1 von 1

ROC Kurve: 50/50Verteilung -> AUC trotzdem größer 0,5

BeitragVerfasst: Do 15. Aug 2019, 11:45
von 123marie
Hallo,

ich habe ein Modell entwickelt, welches für ein Ereignis "gut" oder "schlecht" vorhersagen soll und dabei Werte zwischen 0 und 1 annimmt. Dabei habe ich einen Schwellenwert von 0,23 definiert. Anhand dieses Schwellenwerts und eines bekannten Datensatzes kann ich festlegen ob das Modell richtig gelegen hätte.
Die Ergebnisse des Modells (Zahlen zwischen 0 und 1) und die Ergebnisse in Abhängigkeit des Schwellenwertes habe ich mit der ROC Analyse berechnen lassen.
Meine frage ist: Zu Testzwecken habe ich meinen Schwellenwert auf 0 und 1 gesetzt. Warum wird die AUC nicht 0,5 für den realen Fall, dass es viel mehr "gute" Ereignisse gibt, und vor allem: warum wird sie nicht 0,5, wenn die Ereignisse künstlich auf 50% gut und 50% schlecht festgelegt werden?

LG Marie

Re: ROC Kurve: 50/50Verteilung -> AUC trotzdem größer 0,5

BeitragVerfasst: Do 15. Aug 2019, 12:17
von PonderStibbons
AUC = 0,5 wäre eine Kurve nahe der Diagonalen, also ein Zufallsprozess.

Mit freundlichen Grüßen

PonderStibbons

Re: ROC Kurve: 50/50Verteilung -> AUC trotzdem größer 0,5

BeitragVerfasst: Do 15. Aug 2019, 13:08
von 123marie
Ja genau, auch habe zum Test einfach mal die guten und schlechten Ergebnisse so eingestellt das die Verteilung 50/50 ist. So entspricht es ja einem Münzwurf und es müsste 0,5 für AUC heraus kommen. Ich bekomme hingegen aber einen AUC Wert von 0,61 raus! Können Sie mir den Grund dafür erklären?

Re: ROC Kurve: 50/50Verteilung -> AUC trotzdem größer 0,5

BeitragVerfasst: Do 15. Aug 2019, 13:15
von bele
Hallo 1234marie,

123marie hat geschrieben: Meine frage ist: Zu Testzwecken habe ich meinen Schwellenwert auf 0 und 1 gesetzt. Warum wird die AUC nicht 0,5


Zunächst einmal erlaubt die AUC ja eine Aussage über die Testgüte, die nicht von einem einzelnen Schwellenwert abhängt, sondern alle denkbaren Schwellenwerte berücksichtigt. Man mal eine ROC und berechnet deren AUC vor dem Grenzwert, nicht nachher.

warum wird sie nicht 0,5, wenn die Ereignisse künstlich auf 50% gut und 50% schlecht festgelegt werden?


Ich bin nicht sicher, ob ich verstehe, was mit "Ereignisse festgelegt werden" gemeint ist.

So entspricht es ja einem Münzwurf und es müsste 0,5 für AUC heraus kommen.


Komt bei einem Münzwurf immer genau 50/50 heraus? Nein, es gibt immer eine Schwankung, einen Stichprobenfehler. Wenn Du Bedingungen wie bei einem Münzwurf schaffst, dann sollte 0,5 im Konfidenzintervall der AUC enthalten sein aber die AUC muss nicht immer genau 0,5 sein.

LG,
Bernhard

Re: ROC Kurve: 50/50Verteilung -> AUC trotzdem größer 0,5

BeitragVerfasst: Fr 16. Aug 2019, 14:32
von 123marie
Danke, schon mal für die Antwort :)
Ich habe 500 Daten verwendet davon waren 249 negativ und 251 positiv!
Mein AUC Wert lag bei dieser fast 50/50 Aufteilung bei 0,6081 kann das sein? Oder würde dieser Wert nicht in das Konfidenzintervall fallen?

Re: ROC Kurve: 50/50Verteilung -> AUC trotzdem größer 0,5

BeitragVerfasst: Fr 16. Aug 2019, 15:00
von bele
123marie hat geschrieben:Ich habe 500 Daten verwendet davon waren 249 negativ und 251 positiv!


Und wenn diese "negativ" und "positiv" immer korrekt erkannt wurden, dann folgt daraus ein AUC von 1,0, wenn sie immer falsch herum erkannt wurden AUC von 0. Alle Zwischenwerte sind möglich, auch 0,61.

Oder würde dieser Wert nicht in das Konfidenzintervall fallen?


Ein Konfidenzinterval zur AUC könnte Dir vielleicht Dein Statistikprogramm auswerfen, aber ich habe immer noch das Gefühl, dass wir aneinander vorbei reden.

Gruß,
Bernhard

Re: ROC Kurve: 50/50Verteilung -> AUC trotzdem größer 0,5

BeitragVerfasst: Mo 19. Aug 2019, 10:50
von 123marie
Vielleicht mache ich auch irgendeinen grundsätzlichen Fehler; ich versuche nochmal zu erklären, was ich gemacht habe:

Hintergrund:
In einem Arbeitsschritt 1 werden Datensätze erzeugt. In Arbeitsschritt 2 werden diese Datensätze analysiert und resultieren entweder in einem "guten" oder einem "schlechten" Ereignis.
Ich habe (retrospektiv) 500 solcher Datensätze, für die ich jeweils das Ergebnis in Schritt 2 bereits kenne.

Modell:
Mein Modell soll anhand der Datensätze (quasi nach Schritt 1) eine Vorhersage treffen, ob in Schritt 2 ein "gutes" oder "schlechtes" Ereignis folgen würde. Dafür werden Inhalte der jeweiligen Datensätze verwendet.
Es gibt dafür Werte zwischen 0.0 und 1.0 aus, wobei 0.0 hieße "Ereignis in Schritt 2 wird extrem schlecht" und 1.0 hieße "Ereignis in Schritt 2 wird extrem gut".

ROC-Analyse:
Nun vermutlich zum Knackpunkt, was ich in meine ROC-Analyse gegeben habe:
Da ich ja die Ergebnisse der betrachteten 500 Datensätze bereits kenne, konnte ich mir einen Schwellenwert definieren, für den die Vorhersage für Schritt 2 für diese 500 Fälle eine für mich gute Sensitivität und Spezifität liefert bzw. eben geliefert hätte.
Auf Grundlage dieses Schwellenwertes (0.23) habe ich dann binär definiert, ob die Vorhersage korrekt war oder nicht.
Also zB für Datensatz Nr 1: Modell sagte 0.20, also unterhalb des Schwellenwertes, also schlechte Prognose für Schritt 2 - und in Schritt 2 kam tatsächlich ein schlechtes Ereignis. Dann hätte ich Datensatz Nr 1 für die ROC-Analyse mit einer 1 belegt, weil die Vorhersage korrekt war.
Datensätze, für die das Modell Schritt 2 falsch vorhergesagt hat, habe ich mit einer 0 belegt.

So habe ich für meine 500 Datensätze jeweils das Ergebnis meines Modells (Zahlen zwischen 0.0 und 1.0) und eben die binäre Information, ob das Modell bei einem Schwellenwert von 0.23 (!!!!!) richtig gelegen hätte.
Diese beiden Informationen habe ich in die ROC-Analyse gegeben.

Ist das so zulässig?

Re: ROC Kurve: 50/50Verteilung -> AUC trotzdem größer 0,5

BeitragVerfasst: Mo 19. Aug 2019, 13:47
von bele
Wikipedia schreibt:
The ROC curve is created by plotting the true positive rate (TPR) against the false positive rate (FPR) at various threshold settings.


Es geht bei der ROC-Analyse also um einen Überblick "at various threshold settings". Du aber schreibst:

123marie hat geschrieben:Da ich ja die Ergebnisse der betrachteten 500 Datensätze bereits kenne, konnte ich mir einen Schwellenwert definieren, für den die Vorhersage für Schritt 2 für diese 500 Fälle eine für mich gute Sensitivität und Spezifität liefert bzw. eben geliefert hätte.


Offensichtlich haben wir unterschiedliche Vorstellungen davon, was eine ROC-Analyse ist. Was Du da oben schreibst, nämlich Sensitivitäten und Spezifitäten bei verschiedenen Grenzwerten zu betrachten ist für mich eine ROC-Analyse, bei Dir geht sie der ROC-Analyse voraus. Wenn Du Dich schon für einen Schwellenwert entschieden hast, dann kannst Du Odds ratios bestimmen, Sensitivitäten und Spezifitäten, Positive und negative prädiktive Werte und Likelihood ratios.

Diese beiden Informationen habe ich in die ROC-Analyse gegeben.

Ich vermute, das soll heißen: "Ich habe eine namentlich nicht genannte Funktion zur ROC-Analyse in einem namentlich nicht genannten Programm mit diesen Daten gefüttert und weiß nicht, ob das der richtige Weg ist, das nicht genannte Programm zu bedienen". Läuft die Frage darauf hinaus?

Re: ROC Kurve: 50/50Verteilung -> AUC trotzdem größer 0,5

BeitragVerfasst: Mo 19. Aug 2019, 21:13
von strukturmarionette
Hi,

ich habe ein Modell entwickelt,

- wie ist das aufgebaut?

In einem Arbeitsschritt 1 werden Datensätze erzeugt.

- wie?

Ich habe (retrospektiv) 500 solcher Datensätze

- woher? Aufbau?

Worum geht es?

Gruß
S.