Was haben Krebsfrüherkennung und Machine Learning gemeinsam?

Wie wahrscheinlich ist es, nach einem positiven Früherkennungstest mit einer 99% Genauigkeit, an der getesteten Krankheit tatsächlich erkrankt zu sein? Keine Angst! Der Test ist zwar genau, aber die Wahrscheinlichkeit einer Erkrankung ist trotzdem gering.

Diese Problematik habe ich vor einigen Monaten persönlich bei einem jährlichen Hautkrebsscreening erleben müssen. Mein Hautarzt hat mich zu einer teureren Untersuchung mit einer Art vom Scanner überredet. Der Scanner sollte, so der Hautarzt, mit einer 99% Genauigkeit alle bösartigen Veränderungen aufdecken. Da mir meine Gesundheit am Herzen liegt, habe ich der teureren Form der Untersuchung zugestimmt. Um es kurz zu fassen: diese Entscheidung hat mich sehr viele Nerven gekostet.

In nur wenigen Minuten hat das Gerät bei einem von meinen Muttermalen auf rot gezeigt. Ich hatte das Gefühl mein Leben geht bald zu Ende.

Dabei hätte ich es als mit Statistik vertraute Datenwissenschaftlerin besser wissen müssen. Auch beim positiven Testergebniss sind die Chancen, dass es sich dabei um eine bösartige Veränderung handelt, sehr gering. So war es auch (zum Glück!) in meinem Fall. In der Laboruntesuchung erwies sich das verdächtige Muttermal als ein normales Muttermal. Trotzdem hat mich das Warten auf das Ergebnis (und der damit verbundene Stress) vermutlich Jahre meines Lebens gekostet.

Manchmal ist es eben schwierig rein wissenschaftlich zu denken, wenn dabei auch Gefühle im Spiel sind.

Diese Erfahrung hat mich allerdings dazu veranlasst, diese Problematik im heutigen Beitrag anschaulich darzustellen und zu zeigen, was solche Testergebnisse eigentlich bedeuten. Zusätzlich hängt das Thema mit einem recht bekannten Machine Learning Algorithmus zusammen.

Im folgenden Beitrag werden wir uns daher zunächst die eigentliche Bedeutung der 99% Genauigkeit anschauen.

Was bedeutet es, wenn der Test 99%ige Genauigkeit hat?

Wieso bei einem positiven Testergebniss mit so einer hohen Genauigkeit die Wahrscheinlichkeit der tatsächlichen Erkrankung trotzdem gering ist?

Dies erkläre ich an einem konkreten Beispiel:

Wir nehmen zur Veranschaulichung an:

Es gibt eine Fiese Krankheit. An der Fiesen Krankheit erkrankt 1 Mensch pro 10.000 Menschen.

Zum Glück gibt es aber für diese Krankheit einen Früherkennungstest, der 99%ige Genauigkeit hat. Dies bedeutet vom Prinzip:

von 100 Menschen diagnostiziert der Test 99 Menschen richtig. Das ist die Genauigkeit oder auf Englisch die Accuracy.

Was ist aber die Wahrscheinlichkeit, bei einem positiven Testbefund die Fiese Krankheit tatsächlich zu haben?

Für die Analyse starten wir mit einer Gruppe von 1 000 000 Patienten, die den Verdacht auf die Fiese Krankheit haben und den Test machen lassen. Michael B. gehört dazu. Er hat den Test machen lassen und der Test fiel bei ihm positiv aus. Ist er jetzt tatsächlich krank oder nicht?

Objektiv gesehen erkranken an der Fiesen Krankheit (wie wir bereits wissen) 1 von 10 000 Menschen.

Aus diesem Grund können wir davon ausgehen, dass in der Gruppe von 1 000 000 Patienten, die den Test machen ließen: 100 Menschen statistische gesehen krank sein werdenund die restlichen 999 900 rein statistich gesehen nicht.

Vorläufige Zusammenfassung:

100 Patienten sollten laut Statistik tatsächlich erkrankt sein.

999 900 Patienten sollten laut Statistik gesund sein.

Jetzt kommt die 99% Testgenauigkeit ins Spiel. Sie besagt nämlich, dass:

von 100 kranken Menschen, die den Test machen lassen, werden 99 richtig als krank diagnostiziert. 1 Mensch wird jedoch falsch diagnostiziert und wird trotz der Fiesen Krankheit wieder als gesund nach Hause geschickt.

Von den restlichen 999 900 Menschen wird 1% im Test als krank eingestuft (obwohl gesund). Das sind in absoluten Zahlen 9 999 Menschen mit positiven Test, obwohl sie gesund sind.

Der Rest: 989 901 wurde korrekt als gesund eingestuft.

Michael B., bei dem der Test auch ein positives Ergebnis zeigte (also er sei erkrankt), interessieren jetzt vom Prinzip die zwei Gruppen mit dem positiven Ergebnis, denn er gehört auf jeden Fall in eine dieser Gruppen. Er ist nämlich entweder: tatsächlich krank (99 Menschen mit positiven Test) oder trotz positiven Ergebnis gesund (9 999 Menschen mit positiven Test).

Allein aufgrund des Größenvergleichs ist es bereits deutlich, dass es viel wahrscheinlicher ist, dass sich Michael B. in der zweiten Gruppe befindet.

Die Wahrscheinlichkeit, dass Michael B. tatsächlich erkrankt ist, beträgt mathematisch gesehen nur 0.0098%.

Also unter deutlich 1%! Und das trotz des positiven Testergebnisses.

Obwohl der Test in dem Fall positiv ausfällt und der Test in 99% der Fälle richtig liegt, ist die Wahrscheinlichkeit, tatsächlich an der Fiesen Krankheit zu leidenm immer noch unter einen Prozent!!!

Hier nochmal zum besseren Verständis eine grafische Darstellung der gesamten Problematik:

 

Was hat dies mit Machine Learning zu tun?

Naive Bayes Klassifikator

Das Beispiel mit dem Früherkennungstest veranschaulicht einen der Algorithmen, mit dem viele Machine Learning Modelle arbeiten.

Der Algorithmus basiert auf der sog. bayesianischen Formel – dem Satz von Bayes. Die bayesianische Statistik beschäftigt sich mit bedingten Wahrscheinlichkeiten, auf deren Basis dann solche Entscheidungsbäume entstehen.

Beispielfrage für die bayesianischen Statistik ist zum Beispiel die Frage: bedingt durch das positiven Ergebnis des Früherkennungstests, wie wahrscheinlich ist es, dass der Patient tatsächlich erkrankt ist?

Der Machine Learning Algorithmus, der auf Bayes Theorem basiert, heißt (wenig überraschend) Naive Bayes (Bayes-Klassifikator). Naive, weil er annimmt, dass die Messvariablen/Features im Modell unabhängig voneinander sind, was natürlich nicht stimmen kann. Trotzdem funktioniert er in der Praxis ziemlich gut.

Mit seiner Hilfe können ganz praktisch, neben der besagten medizinischen Anwendung, beispielsweise die eingehenden E-Mails in Spam und Nicht-Spam klassifiziert werden.

Eine sehr gute und interessante Zusammenfassung von Algorithmen, die mit bayesianischer Statistik arbeiten hat Luis Serrano auf seinem YouTube Kanal veröffentlicht: (hier).

Falsch positiv und falsch negativ

Das Beispiel mit der Früherkennungsuntersuchung zeigt zudem ein weiteres Probelm in der Data Science: die Erfassung von statistischen Fehlern.

In der Statistik gibt vom Prinzip zwei Fehlersorten: die falsch positiven und die falsch negativen.

Die falsch positiven sind in unserem Beispiel die Menschen, die ein postitives Ergebnis beim Test hatten, aber trotzdem gesund sind.

Die falsch negativen sind die Menschen, die ein negatives Testergebnis erhalten haben, obwohl sie eigentlich krank sind.

Bei der Modellierung versuchen die Data Scientists diese Fehlerquote zu minimieren. Sie kann aber nicht vollständig beseitigt werden. Aus diesem Grund müssen wir immer abwägen, mit welchem Fehler wir besser leben können.

Zum Beispiel ist es in der Medizin absolut wichtig, dass die Zahl der falsch negativen Fehler am geringsten ist. Es ist eben besser, wenn ein Test bei zu vielen Menschen positv zeigt, als umgekehrt.

Im Fall der E-Mailklassifikation sind aber die falsch negativen nicht so wichtig.

Die falsch negativen in diesem Fall sind Spamnachrichten, die in die Hauptmailbox landen, anstelle im Spamordner. Im Gegensatz zu dem medizinischen Fall können wir aber damit leben, wenn ertwas Spam in unser Hauptmailfach gelangt.

Schlimmer ist der falsch positive Fehler: eine wichtige Mail landet im Spamordner.

An diesen zwei Beispielen sehen wir, dass die Genauigkeit alleine uns wenig über die Qualität des Modells sagt. Wichtig sind die Fehlerquoten: wieviele falsch positive und wieviele falsch negative Fehler produziert der Algorithmus?

Aus diesem Grund empfehle ich immer Skepsis, wenn Sie mal wieder in den Medien etwas zu einem ganz neuer medizinischen Untersuchung auf KI Basis lesen, die 99% der Fälle richtig erkennt. Jetzt wissen Sie es hoffentlich besser.

 

One Reply to “Was haben Krebsfrüherkennung und Machine Learning gemeinsam?”

Schreibe einen Kommentar

Deine E-Mail-Adresse wird nicht veröffentlicht. Erforderliche Felder sind mit * markiert.