Wie kombiniere ich die Ergebnisse mehrerer binärer Tests?


8

Lassen Sie mich zunächst einmal sagen, dass ich vor 38 Jahren einen Statistikkurs in der Ingenieurschule hatte. Also fliege ich hier blind.

Ich habe die Ergebnisse von im Wesentlichen 18 separaten diagnostischen Tests für eine Krankheit. Jeder Test ist binär - ja / nein, ohne Schwellenwert, der angepasst werden kann, um den Test "abzustimmen". Für jeden Test habe ich angeblich gültige Daten zu wahr / falsch positiven / negativen Ergebnissen im Vergleich zum "Goldstandard", die Spezifitäts- und Sensitivitätszahlen ergeben (und alles andere, was Sie aus diesen Daten ableiten können).

Natürlich hat kein einzelner Test eine ausreichende Spezifität / Empfindlichkeit, um alleine verwendet zu werden, und wenn Sie die Ergebnisse aller Tests "mustern", gibt es häufig keinen offensichtlichen Trend.

Ich frage mich, wie diese Zahlen am besten so kombiniert werden können, dass ein Endergebnis erzielt wird, das (hoffentlich) zuverlässiger ist als jeder einzelne Test. Ich habe mir bisher die Technik ausgedacht, die Besonderheiten von TRUE-Tests mit zu kombinieren

spec_combined = 1 - (1 - spec_1) * (1 - spec_2) * ... (1 - spec_N)

und Kombinieren der Empfindlichkeiten der FALSE-Tests auf die gleiche Weise. Das Verhältnis

(1 - sens_combined) / (1 - spec_combined) 

dann scheint sich ein einigermaßen gutes "Endergebnis" zu ergeben, wobei ein Wert über 10 eine zuverlässige WAHR und ein Wert unter 0,1 eine zuverlässige FALSCH ist.

Diesem Schema fehlt jedoch jede echte Genauigkeit, und für einige Kombinationen von Testergebnissen scheint es eine Antwort zu liefern, die nicht intuitiv ist.

Gibt es eine bessere Möglichkeit, die Testergebnisse mehrerer Tests aufgrund ihrer Spezifitäten und Empfindlichkeiten zu kombinieren? (Einige Tests haben eine Spezifität von 85 und eine Empfindlichkeit von 15, andere Tests sind genau das Gegenteil.)

OK, mein Kopf tut weh!

Angenommen, ich habe Tests 1-4 mit Sensitivitäten / Spezifitäten (in%):

  1. 65/50
  2. 25/70
  3. 30/60
  4. 85/35

Die Tests 1 und 2 sind positiv, 3 und 4 negativ.

Die mutmaßliche Wahrscheinlichkeit, dass 1 falsch positiv ist, wäre (1 - 0,5) und für 2 (1 - 0,7), sodass die Wahrscheinlichkeit, dass beide falsch positiv sind, 0,5 x 0,3 = 0,15 wäre.

Die mutmaßliche Wahrscheinlichkeit, dass 3 und 4 falsch negativ sind, wäre (1 - 0,3) und (1 - 0,85) oder 0,7 x 0,15 = 0,105.

(Wir werden für den Moment die Tatsache ignorieren, dass sich die Zahlen nicht summieren.)

Die angenommenen Wahrscheinlichkeiten, dass 1 und 2 echte Positive sind, sind jedoch 0,65 und 0,25 = 0,1625, während die angenommenen Wahrscheinlichkeiten, dass 3 und 4 echte Negative sind, 0,6 und 0,35 = 0,21 sind.

Jetzt können wir zwei Fragen stellen:

  1. Warum addieren sich die Zahlen nicht (oder kommen sogar nahe)? (Die von mir verwendeten Sens / Spec-Nummern stammen aus dem "echten Leben".)
  2. Wie soll ich entscheiden, welche Hypothese (höchstwahrscheinlich) wahr ist (in diesem Beispiel scheint sie für beide Berechnungen "negativ" zu sein, aber ich bin nicht sicher, ob dies immer der Fall ist) und was kann ich für eine "Gütezahl" verwenden? "um zu entscheiden, ob das Ergebnis" signifikant "ist?

Mehr Info

Dies ist ein Versuch, ein bestehendes "Gewichtungs" -Schema zu verfeinern und zu erweitern, das vollständig "künstlerischer" Natur ist (dh nur aus einem ** herausgezogen wird). Das aktuelle Schema basiert im Wesentlichen auf den Zeilen "Wenn zwei der ersten drei positiv sind und wenn zwei der nächsten vier und eine der nächsten beiden positiv sind." (Das ist natürlich ein etwas vereinfachtes Beispiel.) Die verfügbaren Statistiken unterstützen dieses Gewichtungsschema nicht - selbst mit einem groben Gewichtungsalgorithmus, der auf den gemessenen Statistiken basiert, habe ich signifikant unterschiedliche Antworten gefunden. Aber ohne eine strenge Methode zur Bewertung der Statistiken habe ich keine Glaubwürdigkeit.

Außerdem entscheidet das aktuelle Schema nur über positiv / negativ, und ich muss in der Mitte einen (statistisch gültigen) "mehrdeutigen" Fall erstellen, sodass eine gewisse Gütezahl erforderlich ist.

Neueste

Ich habe einen mehr oder weniger "reinen" Bayes'schen Inferenzalgorithmus implementiert, und nachdem ich einige Nebenprobleme wiederholt habe, scheint es ziemlich gut zu funktionieren. Anstatt aus Spezifitäten und Sensitivitäten zu arbeiten, leite ich die Formeleingaben direkt aus den wahr-positiven / falsch-positiven Zahlen ab. Leider bedeutet dies, dass ich einige der Daten mit besserer Qualität nicht verwenden kann, die nicht so dargestellt werden, dass diese Zahlen extrahiert werden können, aber der Algorithmus ist viel sauberer und ermöglicht die Änderung der Eingaben mit viel weniger Handberechnung. und es scheint ziemlich stabil zu sein und die Ergebnisse stimmen ziemlich gut mit "Intuition" überein.

Ich habe mir auch einen "Algorithmus" (im rein programmierbaren Sinne) ausgedacht, um die Wechselwirkungen zwischen voneinander abhängigen Beobachtungen zu handhaben. Anstatt nach einer umfassenden Formel zu suchen, behalte ich stattdessen für jede Beobachtung einen Grenzwahrscheinlichkeitsmultiplikator, der geändert wird, wenn frühere Beobachtungen verarbeitet werden, basierend auf einer einfachen Tabelle: "Wenn Beobachtung A wahr ist, ändern Sie die Grenzwahrscheinlichkeit von Beobachtung B um a Faktor 1,2 ", z. Auf keinen Fall elegant, aber brauchbar, und es scheint über eine Reihe von Eingängen einigermaßen stabil zu sein.

(Ich werde das Kopfgeld an das vergeben, was ich für den hilfreichsten Beitrag in ein paar Stunden halte. Wenn also jemand ein paar Licks machen möchte, muss er es tun.)


Die Wahrscheinlichkeit, dass Test 1 falsch positiv ist, ist nicht 1 - .5, sondern 1 - (.5 * Wahrscheinlichkeit, dass die Krankheit nicht auftritt)
Uhr

Guter Punkt. Das kann mir helfen, die Dinge ein bisschen sinnvoller zu machen.
Daniel R Hicks

Entschuldigung, eigentlich habe ich mich geirrt. Spezifität = Pr (wahres Negativ) / [Pr (wahres Negativ) + Pr (falsches Positiv)], also Pr (falsches Positiv) = Pr (wahres Negativ) / Spezifität - Pr (wahres Negativ), das gleich Pr (falsches Positiv) = Pr ist (Keine Krankheit) (1 - Spezifität)
fgregg

1
Nur zur Verdeutlichung: Wenn Sie sagen, dass Sie nach Strenge suchen, meinen Sie nicht "statistische Strenge", dh Sie benötigen nicht unbedingt den kombinierten Test, um genaue Wahrscheinlichkeiten für Fehler vom Typ 1 und 2 zu erhalten, oder? Sie suchen nur etwas, das nicht aus der Luft gezogen wird?
SheldonCooper

1
Woher wissen Sie, dass die Tests stark voneinander abhängig sind? Ist es Ihr Wissen von vornherein auf hohem Niveau (z. B. verwenden beide Tests den Blutdruck, sind also wahrscheinlich korreliert), oder haben Sie Statistiken, die zeigen, dass sie korreliert sind? In letzterem Fall können Sie eine geringfügige Änderung des Vorschlags von fgregg verwenden: Modellieren Sie alle Tests als unabhängig, mit Ausnahme der voneinander abhängigen Paare, die Sie als Paare modellieren sollten. Dies erfordert einige zusätzliche Statistiken (der Form ), die Sie vermutlich haben, da Sie wissen, dass sie korreliert sind. p(T.1,T.2|D.ichseeinse)
SheldonCooper

Antworten:


1

"Ich frage mich, wie diese Zahlen am besten so kombiniert werden können, dass ein Endergebnis erzielt wird, das (hoffentlich) zuverlässiger ist als jeder einzelne Test." Eine sehr gebräuchliche Methode besteht darin, Cronbachs Alpha zu berechnen und allgemeiner eine sogenannte "Standard" -Versicherheitsanalyse durchzuführen. Dies würde zeigen, inwieweit eine bestimmte Punktzahl mit dem Mittelwert der 17 anderen Punktzahlen korreliert; Welche Testergebnisse lassen sich am besten von der Skala streichen? und wie hoch die Zuverlässigkeit der internen Konsistenz sowohl bei allen 18 als auch bei einer bestimmten Teilmenge ist. Nun, einige Ihrer Kommentare scheinen darauf hinzudeuten, dass viele dieser 18 nicht korreliert sind; Wenn dies zutrifft, erhalten Sie möglicherweise eine Skala, die nur aus wenigen Tests besteht.

BEARBEITEN NACH KOMMENTAR: Ein anderer Ansatz basiert auf der Idee, dass es einen Kompromiss zwischen interner Konsistenz und Gültigkeit gibt. Je weniger korreliert Ihre Tests sind, desto besser ist ihre Inhaltsabdeckung, was die Gültigkeit des Inhalts verbessert (wenn nicht sogar die Zuverlässigkeit). Wenn Sie also in diese Richtung denken, würden Sie Cronbachs Alpha und die damit verbundenen Indikatoren für die Korrelation zwischen Element und Gesamtmenge ignorieren und stattdessen a priori argumentieren, um die 18 Tests zu einer Skala zu kombinieren. Hoffentlich würde eine solche Skala in hohem Maße mit Ihrem Goldstandard korrelieren.


Aus verschiedenen Gründen (grundsätzlich konservative medizinische Voreingenommenheit) habe ich weder die Möglichkeit, Tests zu eliminieren, noch möchte ich dies besonders. Stellen Sie sich das vielleicht analog zu einem Kredit-Score vor, bei dem eine große Kreditkartenverschuldung mit einem schlecht bezahlten, entlassenen Job "unkorreliert" ist, aber beide zusammen eine viel ernstere Situation schaffen als entweder einzeln.
Daniel R Hicks

1

Nehmen wir zur Vereinfachung an, dass Sie nur zwei Diagnosetests haben. Sie möchten berechnen

Pr(KrankheitT.1,T.2)=Pr(T.1,T.2Krankheit)Pr(Krankheit)Pr(T.1,T.2)

Sie haben vorgeschlagen, dass die Ergebnisse dieser Tests unabhängig sind und von einer Person abhängig sind, die an einer Krankheit leidet. Wenn ja, dann

Pr(T.1,T.2Krankheit)=Pr(T.1Krankheit)Pr(T.2Krankheit)

Wobei die Empfindlichkeit von Test .Pr(T.ichKrankheit)ich

Pr(T.1,T.2) ist die unbedingte Wahrscheinlichkeit, dass eine zufällige Person bei beiden Tests positiv testet:

Pr(T.1,T.2)=Pr(T.1,T.2Krankheit)Pr(Krankheit)+Pr(T.1,T.2Keine Krankheit)Pr(Keine Krankheit)

Wo

Pr(T.1,T.2Keine Krankheit)=Pr(T.1Keine Krankheit)Pr(T.2Keine Krankheit)

und ist für Test .1 - Spezifität iPr(T.ichKeine Krankheit)1- -Spezifitätich


Ich bin mir nicht sicher, ob dies in meinem Fall funktioniert (wenn ich die "logistische Regression" halbwegs richtig verstehe). Zunächst einmal gibt es, wie beschrieben, keine (oder zumindest relativ wenige) Schwellenwerte oder Abstimmungsfaktoren, die ich für jeden einzelnen Test anpassen kann - nur positive / negative Ergebnisse. Zweitens habe ich nicht den Luxus, neue Daten zu erhalten, um das Modell zu "trainieren" - nur die Daten zu finden, die ich habe, war wie Zähne ziehen.
Daniel R Hicks

Könnten Sie Ihre Daten etwas genauer beschreiben? Ich dachte, Sie wüssten die Grundwahrheit, ob die Fälle die Krankheit hatten oder nicht?
Fgregg

1
Die Schwierigkeit, die Sie haben, wenn die Zahlen nicht übereinstimmen, liegt in redundanten Informationen. Angenommen, einer der Tests ist "systolischer Blutdruck (SBP)> 140" und der andere "diastolischer Blutdruck (DBP)> 90". Nun, diese beiden sind korreliert und die ihnen innewohnenden Informationen sind nicht eindeutig. Wenn Sie sie logisch kombinieren, sagen Sie "SBP> 140 oder DBP> 90", wird die Empfindlichkeit schrittweise verbessert. Ohne einen Datensatz, der gleichzeitig Goldstandard, SBP und DBP misst, gibt es keine genaue Möglichkeit, die Sensitivität und Spezifität des kombinierten Tests zu quantifizieren.
Ming K

1
@ Daniel: Es scheint, dass Sie für diesen Ansatz keine neuen Daten benötigen (über das hinaus, was Sie bereits haben). Es scheint, dass Sie die richtigen / falschen positiven / negativen Raten benötigen und keine Schwellenwerte benötigen.
SheldonCooper

1
@ Daniel: Dies war eine Antwort auf Ihren Kommentar vom 14. Juli. Was Fgregg beschrieben hat, ist im Grunde ein Naive Bayes-Ansatz. Es scheint, dass Sie über genügend Informationen verfügen, um diesen Ansatz zu verwenden. Alles was Sie brauchen sind die Preise, die Sie haben. Sie benötigen keine neuen Informationen und keine Schwellenwerte für die Tests. Anscheinend haben Sie das bereits herausgefunden, da Sie sagen, Sie haben es versucht. Sie haben Recht, dass Abhängigkeiten die Ergebnisse verzerren.
SheldonCooper
Durch die Nutzung unserer Website bestätigen Sie, dass Sie unsere Cookie-Richtlinie und Datenschutzrichtlinie gelesen und verstanden haben.
Licensed under cc by-sa 3.0 with attribution required.