3.5 Signalentdeckungstheorie & ROC
Die Signalentdeckungstheorie (signal detection theory) stammt ursprünglich aus der Radartechnik und der Psychophysik: Ist auf dem verrauschten Radarschirm ein Flugzeug zu sehen oder nicht? Hört die Versuchsperson den leisen Ton oder nicht? Sie betrachtet also ein Zweiklassenproblem der Form „Signal vorhanden / nicht vorhanden“ und gibt den beiden Fehlerarten aus 3.4 eigene Namen.
Vier mögliche Ausgänge eines Detektionsexperiments
Es gibt zwei Zustände (eine Dichotomie, dichotomy) 📄 06_bayes.pdf, Folie 24:
- : Das zu detektierende Signal ist tatsächlich da.
- : Das Signal ist nicht vorhanden.
Entscheidung „Signal da“ heißt , „Signal nicht da“ heißt . Damit ergeben sich vier Ausgänge:
| Ausgang | Wahrheit | Entscheidung | Auch genannt | Rate |
|---|---|---|---|---|
| Hit (Treffer) | Signal da () | Signal da | richtig positiv (true positive) | Detektionswahrscheinlichkeit, Sensitivität, Richtig-Positiv-Rate: |
| Korrekte Rückweisung (correct rejection) | kein Signal () | kein Signal | richtig negativ (true negative) | Richtig-Negativ-Rate, Spezifität: |
| Fehlalarm (false alarm) | kein Signal () | Signal da | falsch positiv, Fehler 1. Art | Fehlalarmrate, Falsch-Positiv-Rate: |
| Miss (Verpasser) | Signal da () | kein Signal | falsch negativ, Fehler 2. Art | Falsch-Negativ-Rate: |
Wichtig: Alle vier Raten sind auf die wahre Klasse bedingt. Deshalb ergänzen sich je zwei zu 1:
Es genügen also zwei Zahlen, um das Verhalten vollständig zu beschreiben, üblicherweise Hitrate und Fehlalarmrate. Genau diese beiden trägt die ROC-Kurve gegeneinander auf.
Fehler 1. Art = Fehlalarm = „Feuer gemeldet, aber es brennt nicht“. Fehler 2. Art = Miss = „es brennt, aber niemand merkt es“. In der Statistik entspricht das dem fälschlichen Verwerfen bzw. fälschlichen Beibehalten der Nullhypothese „kein Signal“.
Ergänzung: Diese vier Zahlen, als absolute Häufigkeiten in einer 2×2-Tabelle angeordnet, heißen Konfusionsmatrix (confusion matrix). Sie und davon abgeleitete Maße wie Precision und F1 werden in Kapitel 5 ausführlich behandelt.
Beispiel: Signaldetektion bei gaußverteiltem Rauschen
Folie 25 zeigt das Standardmodell 📄 06_bayes.pdf, Folie 25: Die Messung ist für beide Zustände normalverteilt mit gleicher Standardabweichung , aber verschiedenen Mittelwerten und . Entschieden wird mit einer Schwelle .
Auf Folie 24 ist das Signal. In den Abbildungen der Folien 25 und 26 (aus Duda et al.) ist es umgekehrt: (links, bei ) ist das Rauschen, (rechts, bei ) das Signal, und man entscheidet „Signal“, wenn . Im Folgenden halten wir uns an die Abbildungen:
In der Abbildung ist rechts von die rot gefüllte Fläche unter der -Kurve die Hitrate, die kleine schwarze Fläche unter dem rechten Ausläufer der -Kurve die Fehlalarmrate.
Die Trennbarkeit
Als Maß für die Unterscheidbarkeit der beiden Zustände dient die Diskriminierbarkeit (discriminability) („d-Strich“, d-prime):
Das ist der Abstand der Mittelwerte, gemessen in Einheiten der Standardabweichung.
- : Die Verteilungen liegen aufeinander, man kann nur raten.
- : Die Mittelwerte sind eine Standardabweichung auseinander, starke Überlappung.
- : kaum noch Überlappung, fast fehlerfreie Detektion möglich.
Warum „unabhängig vom Klassifikator“? hängt nur von den Verteilungen ab, also vom Problem selbst (Sensor, Rauschen, Signalstärke), nicht davon, wo man die Schwelle setzt. Es beschreibt, wie gut man bestenfalls trennen kann. Die Schwelle legt nur fest, wie man die verbleibenden Fehler zwischen Fehlalarm und Miss aufteilt.
Zahlenbeispiel
Ergänzung, nicht auf den Folien: (Rauschen), (Signal), , also . ist die Verteilungsfunktion der Standardnormalverteilung.
| Schwelle | Hitrate | Fehlalarmrate |
|---|---|---|
| 1 | 1 | |
| 0 | ||
| 1 | ||
| 2 | ||
| 0 | 0 |
Man sieht den Zielkonflikt (trade-off): Senkt man die Schwelle, findet man mehr Signale (Hitrate steigt), bekommt aber auch mehr Fehlalarme. Hebt man sie, wird es umgekehrt. Man kann nicht beides gleichzeitig verbessern, ohne zu erhöhen.
Die ROC-Kurve
Die ROC-Kurve (Receiver Operating Characteristic) ist die Darstellung der Detektionsrate gegen die Fehlalarmrate für alle Schwellwerte 📄 06_bayes.pdf, Folie 26.
- y-Achse: Hitrate (true positive rate, TPR).
- x-Achse: Fehlalarmrate (false positive rate, FPR).
- Jeder Schwellwert liefert einen Punkt . Lässt man von nach laufen, wandert der Punkt von („nie Signal melden“) nach („immer Signal melden“).
Der Name kommt aus der Radartechnik des Zweiten Weltkriegs: Receiver ist der Radarempfänger, dessen Bediener (operator) eine Empfindlichkeit wählen musste.
Folie 26 zeigt eine Kurvenschar für verschiedene :
- : die Diagonale. Hitrate = Fehlalarmrate für jede Schwelle, also reines Raten.
- : zunehmend nach links oben gewölbte Kurven.
- Der ideale Klassifikator hätte den Punkt : alle Signale erkannt, kein Fehlalarm.
- Der rote Punkt markiert einen konkreten Arbeitspunkt (operating point) auf der Kurve für : eine bestimmte Schwelle mit hoher Hitrate bei sehr kleiner Fehlalarmrate.
Die Werte aus dem Zahlenbeispiel oben, , , , liegen alle auf der Kurve für .
Die x-Achse ist auf der Folie mit beschriftet. Das wäre aber die Missrate. Gemeint ist die Fehlalarmrate : Rauschen () liegt über der Schwelle und wird als Signal gemeldet.
Wie interpretiert man ROC-Kurven?
Folie 27 verweist auf zwei interaktive Visualisierungen (navan.name/roc und Wikipedia) sowie ein Erklärvideo von dataschool.io 📄 06_bayes.pdf, Folie 27. Die Grundidee der Animationen:
- Schwelle verschieben (schwarzer Balken zwischen der blauen Negativ- und der roten Positiv-Verteilung): Der Punkt wandert entlang derselben ROC-Kurve. Die Kurve selbst ändert sich nicht.
- Verteilungen auseinanderziehen (größeres ): Die Kurve selbst wölbt sich stärker nach links oben.
- Verteilungen übereinanderlegen: Die Kurve fällt auf die Diagonale.
Merksatz: Die Kurve beschreibt den Klassifikator (bzw. das Problem), der Punkt auf der Kurve die gewählte Schwelle.
Das hängt von den Kosten ab, nicht von der ROC-Kurve allein. Beim Krebs-Screening nimmt man viele Fehlalarme in Kauf, um kaum Fälle zu übersehen (Punkt rechts oben). Bei einem Spamfilter ist ein Fehlalarm (wichtige Mail im Spam) teuer, also wählt man einen Punkt weit links. Das entspricht genau der Wahl der Schwelle im Likelihood-Quotienten aus 3.2.
ROC-Kurve aus Scores berechnen
Ergänzung, nicht auf den Folien: In der Praxis hat man keine bekannten Verteilungen, sondern einen Klassifikator, der für jedes Testbeispiel einen Score ausgibt (z. B. den Posterior ). Man sortiert die Beispiele absteigend nach Score und senkt die Schwelle schrittweise unter jeden Score.
Beispiel mit 4 positiven (P) und 4 negativen (N) Testbeispielen:
| Score | 0,9 | 0,8 | 0,7 | 0,55 | 0,5 | 0,4 | 0,3 | 0,2 |
|---|---|---|---|---|---|---|---|---|
| Klasse | P | P | N | P | N | P | N | N |
| TPR | 0,25 | 0,5 | 0,5 | 0,75 | 0,75 | 1 | 1 | 1 |
| FPR | 0 | 0 | 0,25 | 0,25 | 0,5 | 0,5 | 0,75 | 1 |
Spalte gibt den Punkt an, wenn alle Beispiele mit Score mindestens so groß wie der in Spalte als „positiv“ gemeldet werden. Jedes P macht einen Schritt nach oben (), jedes N einen Schritt nach rechts (). Die ROC-Kurve ist die Treppe .
Area Under Curve (AUC)
Folie 28 diskutiert, wie man Klassifikatoren mit ROC-Kurven vergleicht 📄 06_bayes.pdf, Folie 28:
- Wird nur eine Detektions- und Fehlalarmrate angegeben, kann man sich nur mit anderen Klassifikatoren vergleichen, die dieselbe Fehlalarmrate haben. Vergleiche an unterschiedlichen Punkten der ROC-Kurve sind sinnlos: Klassifikator A mit 90 % Hitrate bei 20 % Fehlalarmen ist nicht „besser“ als B mit 80 % bei 5 %, er hat vielleicht nur eine lockerere Schwelle.
- Idealerweise sollte man die volle ROC-Kurve angeben, oder, falls man einen einzigen Kennwert braucht, die Fläche unter der ROC-Kurve (Area Under Curve, AUC). Je höher, desto besser ist der Klassifikator.
Die Abbildung (aus Wikipedia) zeigt drei Klassifikatoren (NetChop C-term 3.0, TAP + ProteaSMM-i, ProteaSMM-i) mit empirischen, treppenförmigen ROC-Kurven, die sich kreuzen: Je nach Fehlalarmrate ist mal der eine, mal der andere besser. Genau in so einem Fall gibt erst die AUC (oder die Wahl eines Arbeitspunktes) eine Rangfolge.
Wertebereich: AUC ist ein perfekter Klassifikator, AUC entspricht der Diagonalen (Raten). Ein Wert unter 0,5 bedeutet, dass der Klassifikator systematisch falsch herum liegt; invertiert man seine Entscheidung, wird er besser als Raten.
Man kann zeigen: Der AUC-Wert ist die Wahrscheinlichkeit, dass der Klassifikator einem zufällig gezogenen positiven Beispiel einen höheren Wert der Entscheidungsfunktion zuweist als einem zufällig gezogenen negativen Beispiel.
Nachrechnen am Score-Beispiel (Ergänzung): Es gibt Paare (P, N). Für jedes P zählt man die N mit kleinerem Score:
| P-Score | 0,9 | 0,8 | 0,55 | 0,4 |
|---|---|---|---|---|
| N darunter | 4 | 4 | 3 | 2 |
Also richtig geordnete Paare. Die Fläche unter der Treppe: . Beides stimmt überein, wie die Interpretation verspricht.
Warum gilt das? Jeder Schritt der Treppe nach rechts gehört zu einem N. Die Höhe der Treppe an dieser Stelle ist der Anteil der P, die einen höheren Score haben als dieses N. Die Fläche ist also der Mittelwert dieses Anteils über alle N, genau die Wahrscheinlichkeit „zufälliges P schlägt zufälliges N“.
Ergänzung: Für das Gauß-Modell mit gleichen Varianzen gilt . Für ist das , für genau .
Die AUC bewertet nur die Rangfolge der Scores, über alle Schwellen gemittelt. Im Einsatz muss man trotzdem eine Schwelle wählen, und zwei Klassifikatoren mit gleicher AUC können sich am relevanten Arbeitspunkt (z. B. bei sehr kleiner Fehlalarmrate) deutlich unterscheiden. Außerdem sagt die AUC nichts darüber, ob die Scores als Wahrscheinlichkeiten kalibriert sind.
In scikit-learn berechnet man beides mit sklearn.metrics.roc_curve und sklearn.metrics.roc_auc_score. Mehr zu AUC, Konfusionsmatrix und weiteren Bewertungsmaßen in Kapitel 5 – Modellbewertung.