Wie berechnet man die 28-Tage-Mortalität?
Ich habe eine retrospektive EHR-Datenbank aus einem Krankenhaus und möchte ein ML-Modell erstellen, um vorherzusagen, ob ein Patient innerhalb von 28 Tagen sterben wird oder nicht (nach Entlassung / zu einem bestimmten Zeitpunkt T).
Kann ich die folgenden Schritte bei Ihnen überprüfen?
a) Nehmen wir an, ich habe eine Stichprobe von 5000 Patienten
b) Ich wähle Trainingsdaten als 3500 Patienten
c) Für diese 3500 Patienten extrahiere ich die erforderlichen Variablen und ihre Werte bis zum Zeitpunkt "T".
d) Und jetzt brauchen wir für Trainingsdaten Etiketten. Also berechne ich mit einem Python-Skript, ob diese Person innerhalb von 28 Tagen ab dem Zeitpunkt "t" gestorben ist (weil ich alle ihre Daten habe. Ich kann den Unterschied zwischen seinem Entlassungsdatum und feststellen Todesdatum)
e) Wenn ja, werde ich es als "1" kennzeichnen, sonst "0"
f) Ich baue ein überwachtes Lernmodell unter Verwendung der logistischen Regression auf
Jetzt kommt der herausfordernde Teil (zumindest für mich)
g) Ich möchte dieses Modell auf die unsichtbare Gruppe von 1500 Patienten anwenden
h) Ich extrahiere die gleichen Variablen wie Trainingsdaten
i) Jetzt wende ich das Modell auf diese unsichtbaren Daten von 1500 Patienten an
k) Das Problem ist jedoch, dass dies nur ergibt, ob der Patient stirbt oder nicht. Wie kann ich wissen, ob er in den 28 Tagen sterben wird oder nicht?
Wie kann ich diese Zeitkomponente hier einbinden?
Kann mir jemand dabei helfen, indem er leicht verständliche Schritte und den zu verwendenden Algorithmus bereitstellt?
Antworten
Wie @DWin in einem Kommentar sagt, ist dies eine Standardanwendung der Überlebensanalyse. Dies hat den Vorteil, dass nicht nur das Auftreten von Ereignissen, sondern auch die Zeiten für Ereignisse bewertet werden.
Wenn Sie mit Ihrer Zug- / Testaufteilung fortfahren (selbst 5000 Patienten reichen möglicherweise nicht aus , um zuverlässig zu sein; die Modellbewertung durch Resampling ist möglicherweise besser), geben Sie an, dass Sie Zeit-zu-Ereignis-Daten haben. In diesem Fall können Sie selbst mit einem logistischen All-or-None-Regressionsmodell die 28-Tage-Mortalität bewerten, indem Sie Todesfälle ignorieren, die 28 Tage nach Ihrer Startzeit auftreten.
Das rmsPaket in R, das auch von @DWin erwähnt wird, bietet eine gut entwickelte Infrastruktur, um die Überlebensanalyse mit der Resampling-basierten Modellvalidierung und -kalibrierung zu kombinieren und Vorhersagen für bestimmte Kombinationen von Kovariatenwerten bereitzustellen. Es gibt keinen Grund, warum die dort verwendeten Ansätze nicht auf Analysen mit eher "maschinellem Lernen" oder "datenwissenschaftlichem" Geschmack ausgedehnt werden können. Seien Sie sich nur bewusst, dass Modelle, die von diesen letzteren Ansätzen bereitgestellt werden, für bloße Menschen schwieriger zu interpretieren sein können.