TSS — TechLabs Severity Score

Inside.TechLabs
11 min readNov 2, 2020

--

This project was carried out as part of the TechLabs “Digital Shaper Program” in Aachen (Summer Term 2020).

Abbildung angelehnt an [1]

Wir haben uns in den letzten Monaten mit der Kalibrierung des in der Intensivmedizin zur Zustandseinschätzung verwendeten SOFA-Scores auseinandergesetzt. Dazu haben wir zunächst die Vergleichbarkeit von Aussagen über die Mortalität eines Patienten basierend auf dem SOFA-Score analysiert und anschließend ein alternatives Modell, den TSS-Score, entworfen.

1. Einleitung

In der Intensivmedizin, welche sich mit akut lebensbedrohlichen Zuständen und Krankheiten befasst, ist es wichtig, den Zustand eines Patienten zu bewerten und zu überwachen. Um die Wahrscheinlichkeit, dass ein Patient mit einem schwerwiegenden Zustand überlebt, zu schätzen, wurden verschiedene severity scores entwickelt, welche die Vital- und Laborwerte des Patienten mit seiner Überlebenswahrscheinlichkeit korrelieren. Der SOFA-Score [2] beschreibt das Ausmaß der Organschädigung eines Patienten als Summe der Zustände der Atemtätigkeit, des zentralen Nervensystems, des Herz-Kreislauf-Systems, der Leberfunktion, der Blutgerinnung und der Nierenfunktion. Jeder dieser sechs Subscores kann einen Wert von 0 für eine normale Funktion bis zu 4 für eine massiv eingeschränkte Funktion einnehmen, sodass der SOFA-Score über einer Skala von 0 bis 24 reicht. Die Ermittlung folgt dabei Rechenregeln basierend auf den erhobenen Daten des Patienten. Ein höherer SOFA-Score ist mit einer stärkeren Organschädigung verbunden, woraus auch eine erhöhte Mortalität (Sterbewahrscheinlichkeit) resultiert.

Die Idee unseres Projektes stammt aus der Arbeit der Clinomic GmbH [3], eines Start-ups in Aachen, welches Data Science und Artificial Intelligence mit medizinischer Expertise zusammenbringt, um Ärzte und Krankenschwestern in ihrer Arbeit zu unterstützen. Hier ist aufgefallen, dass die Erhöhung eines Punktes beim SOFA-Score nicht immer dieselben Auswirkungen auf die Mortalität eines Patienten hat, was für eine unausgeglichene Kalibrierung spricht. Für die praktische Anwendbarkeit ist es jedoch wichtig, dass sich vergleichbare Aussagen auf Basis des SOFA-Scores treffen lassen. Unsere Aufgabe war es also, den SOFA-Score auf diese Zweifel hin zu untersuchen und einen alternativen Score, den TechLabs Severity (TSS-)Score, zu entwickeln. Dabei wollten wir zum einen dieselben Laborwerte, auf denen der SOFA-Score basiert, verwenden, da diese ständig auf den Intensivstationen gemessen werden und zum anderen explizit eine Rechenvorschrift (im Kontrast zu Black-Box-Modellen) verwenden, sodass nachvollziehbar bleibt, welche Werte das Modell für die Erstellung des Scores wie stark gewichtet.

2. Methodik und Vorgehen

Wir haben alle den Data Science-Track absolviert, weswegen uns bewusst ist, wie wichtig die richtige Datenverarbeitung ist. Daher möchten wir zunächst vorstellen, wie wir die Daten für unsere Analyse gesammelt und verarbeitet haben.

2.1. Datensammlung

Als Datengrundlage verwendeten wir in unserem Projekt die MIMIC-III [4] Datenbank, welche Informationen von bis zu 40.000 Patienten enthält. Die Daten stammen von der Intensivstation (ICU) des Krankenhauses Beth Israel Deaconess Medical Center in den USA und erstrecken sich über einen Zeitraum von 2001 bis 2012.

Um Zugriff auf die MIMIC-Datenbank zu erhalten, mussten wir zunächst einen Ethik-Test absolvieren. War dieser bestanden, galt es im nächsten Schritt die Daten zu importieren. Da wir, aufgrund der Größe der Daten, diese nicht einfach downloaden und in unserem Arbeitsspeicher bearbeiten konnten, nutzten wir den Service „BigQuery“ von Google. Mithilfe von SQL-Abfragen [5] konnten wir die benötigten Tabellen importieren. Aus den Tabellen erstellten wir eine Haupttabelle zur Weiterverarbeitung. Diese machte das Programmieren leichter, weil so zum einen die benötigten Informationen über ein DataFrame angesprochen und zum anderen für uns irrelevante Informationen fallen gelassen werden konnten. Mit der Mastertabelle konnten wir für jeden ICU-Aufenthalt die Subscores berechnen.

2.2. Auswahl einer adäquaten Kohorte

Obwohl anschließend der SOFA-Score für alle Aufenthalte auf der Intensivstation berechnet werden könnte, bedeutet das nicht, dass dies auch sinnvoll ist. Wir haben drei Kriterien aufgestellt, um eine aussagekräftige Kohorte zu erstellen:

  1. Alter: Der Patient musste zu seinem Aufenthalt älter als 18 Jahre alt sein. Diesen Filter haben wir ausgesucht, um zum Beispiel Neugeborene auszusortieren, die nach der Geburt zur Behandlung auf die Intensivstation verlegt wurden, da die Laborwerte der Neugeborenen nicht mit den Rechenregeln behandelt werden können.
  2. Aufenthaltsdauer: Weiterhin musste der Aufenthalt mindestens 24 Stunden andauern, da der SOFA-Score aus den schlechtesten Werten innerhalb von 24 Stunden ermittelt wird.
  3. Letzter Aufenthalt: Wir wollten außerdem jeden Patienten nur einmal in unseren Untersuchungen betrachten. Der Grund, weshalb ein Patient mehrmals in der Tabelle geführt wird ist, dass er beispielsweise aus der Intensivstation entlassen wird und wenige Tage später erneut eingeliefert wird. Beide Aufenthalte werden separat erfasst. Wir haben bei jedem Patienten die Daten des letzten Aufenthalts behalten.

2.3. Datenverarbeitung

In der ausgewählten Kohorte sind viele Patienten, bei denen einige Sub-SOFA-Scores nicht existieren. Dies ist problematisch, wenn anschließend die Subscores zum SOFA-Score addiert werden sollen. Folglich wird ein Weg benötigt, die fehlenden Sub-Scores zu schätzen, sogenanntes imputing. Eine häufig verwendete Methode des Imputen ist, die fehlenden Werte durch den Mittelwert aller Werte zu ersetzen. Ein Nachteil dieses Verfahrens ist, dass Patienten mit sehr hohen Subscores tendenziell einen zu niedrigen Wert zugewiesen bekommen und umgekehrt. Ein besseres Verfahren zum Imputen ist das MICE-Verfahren [6], welches einen machine-learning-Algorithmus verwendet, um unter Betrachtung aller Spalten den geeignetsten Wert zu finden. Letztendlich füllt dieser Algorithmus ebenfalls die Werte mit dem Mittelwert, nutzt allerdings anschließend eine lineare Regression, um die Werte iterativ neu zu bestimmen.

Um einen ersten Überblick über unsere Daten zu erhalten, haben wir diese visualisiert und konnten so erste Informationen erlangen. Weiterhin fallen grobe Fehler bei einer Visualisierung gut auf, sodass die Daten auf Plausibilität geprüft werden können.

2.4. Clustering

Nach den Verarbeitungsschritten konnten wir endlich mit dem Hauptteil der Analyse beginnen, der Untersuchung der schlechten Kalibrierung. Da der SOFA-Score sich aus sechs Subscores zusammensetzt, stellten wir die Hypothese auf, dass die sechs Organsysteme wohl einen unterschiedlich hohen Einfluss auf die Mortalität eines Patienten haben. Wenn sich beispielsweise bei Patient A der Zustand der Atemfunktion um einen Punkt verschlechtert und bei Patient B die Nierenfunktion um einen Punkt, führt dies bei beiden Patienten zu einer Erhöhung des SOFA-Scores. Wenn eines dieser Teilsysteme jedoch einen stärkeren Einfluss auf die Mortalität hat, so verschlechtert sich die Überlebenswahrscheinlichkeit von A und B nicht gleichermaßen.

Um dies zu untersuchen, unterteilten wir die die Patienten unserer Kohorte in verschiedene Cluster. Das Clustering erfolgte dabei jeweils entsprechend der Ähnlichkeit aller Subscores bis auf einen Subscore (z.B. der Lungenfunktion), welcher festgehalten wird (statistisches Matching von ähnlichen Patientenzuständen zur Verringerung des Biases). Das im Folgenden genauer beschriebene Vorgehen wird also sechs Mal durchgeführt; jedes Mal wird ein anderer SOFA Subscore festgehalten.

Für das Clustering verwendeten wir den sehr bekannten K-Means-Algorithmus, welcher nach folgenden Schritten agiert:

  1. Wähle eine Zahl k für die gewünschte Anzahl von Clustern, in unserem Fall 100.
  2. Der Algorithmus wählt 100 Startpunkte. [7]
  3. Jeder Patient wird dem Cluster zugewiesen, dem er am nächsten ist. Die Nähe bezieht sich darauf, wie stark die Subscores (bis auf den festgehaltenen) des Patienten vom Clusterzentrum abweichen.
  4. Das Clusterzentrum wird basierend auf den Patienten, die dem Cluster zugeordnet wurden, neu bestimmt.
  5. Die Zuordnung und Neuberechnung des Clusterzentrums erfolgen solange, bis keine Änderungen mehr erfolgen. Dann ist der Algorithmus konvergiert. [8]

Vor der Analyse entfernten wir noch die Ausreißer aus den Clustern. Dies erfolgte in zwei Schritten. Zunächst wurden Patienten, die zu stark vom Clusterzentrum abwichen, entfernt. Die Abweichung bestimmten wir mittels der manhattan distance (L1) unter Berücksichtigung aller Subscores bis auf den festgehaltenen; der Abstand sollte nicht größer als 3 sein. Anschließend wurden zu kleine Cluster entfernt, da sie aufgrund der geringen Patientenzahl nicht repräsentativ genug sind. Hierunter fallen Cluster mit weniger als 10 Patienten. Schließlich wollen wir nur statistisch belastbare Ergebnisse für die Beweisführung der unzureichenden Kalibrierung einbeziehen.

2.5. Logistic Regression

Für jedes Cluster führten wir anschließend eine Logistic Regression durch, welche den Einfluss des nicht im Clustering berücksichtigten Subscores auf die Mortalität untersucht.

Logistic Regression modelliert die Wahrscheinlichkeit p eines bestimmten Events Y, in unserem Fall, dass der Patient stirbt oder überlebt, in einer linearen Kombination von einer oder mehreren Einflussfaktoren xi, hier der jeweils nicht festgehaltene Subscore und einem Gleichanteil. Das Modell bestimmt die Parameter beta:

Die Idee ist hier zu zeigen, dass Cluster mit erheblichen Unterschieden im durchschnittlichen SOFA Wert bei der Durchführung der Logistic Regression andere Koeffizienten, die die lineare Abhängigkeit des Subscores auf die Mortalität beschreiben, ergeben. Wenn dies der Fall ist, so die Beweisführung, ist das Problem der schlechten Kalibrierung (bei statistisch belastbaren Koeffizienten für p < 0.05) gezeigt, denn bei guter SOFA Kalibrierung sollte die lineare Abhängigkeit (bzw. der Koeffizient) des Subscores auf die Mortalität in jedem Cluster ähnlich sein. Zusammengefasst sollte also ein Punkt Erhöhung/Erniedrigung des Subscores in der Theorie in jedem Cluster die gleichen Konsequenzen auf die Mortalitätsrate haben.

3. Ergebnisse

Welche Ergebnisse konnten wir nun aus dieser Betrachtung ziehen?

3.1. Nachweis der Kalibrierungsproblematik

Unsere Hypothesen bezüglich der Aussagekraft der Erhöhung eines Punktes eines Subscores und damit des Gesamt-SOFA-Scores lassen sich also anhand der Regressionskoeffizienten, die aus der Logistic Regression in jedem Cluster resultieren, belegen oder widerlegen und damit die Kalibrierungsproblematik zeigen.

Zum einen müsste der Regressionskoeffizient innerhalb jedes Clusters ähnlich sein. Dann wäre der Einfluss dieses Subscores nämlich konstant für alle Patienten. Dies ist jedoch nicht der Fall, was bedeutet, dass der Einfluss des Subscores vom Cluster abhängt. In einem Cluster mit Patienten, die über niedrige Scores verfügen, wirkt sich die Erhöhung des betrachteten Subscores um einen Punkt beispielsweise also anders aus, als bei einem Cluster mit Patienten mit insgesamt höheren Scores. Dadurch lassen sich bei Erhöhung des Subscores um einen Punkt keine vergleichbaren Aussagen über die Mortalität treffen und der SOFA-Score erscheint „schlecht kalibriert“.

Zum anderen sollten die Regressionskoeffizienten der Subscores auf einem vergleichbaren Niveau sein. Hier zeigte sich jedoch, dass die Regressionskoeffizienten voneinander abweichen, was bedeutet, dass die Subscores einen unterschiedlich großen Einfluss auf die Mortalität haben. Dadurch lassen sich bei der Erhöhung des Gesamt-SOFA-Scores um einen Punkt keine vergleichbaren Aussagen über die Mortalität treffen, eine weitere Misskalibrierung.

Darstellung 1 zeigt die maximalen Koeffizientendifferenzen zwischen allen Clustern (nur für statistisch signifikante Koeffizienten) und zeigt so die schlechte Kalibrierung auf.

Darstellung 1: Die maximalen Differenz der gefitteten Koeffizienten für die verschiedenen Cluster und Subscores (links) sowie die mittleren Koeffizienten für alle Cluster und alle Subscores (rechts) für statistisch signifikante Koeffizienten (p < 0.05).

3.2. Unser TSS-Score

Basierend auf den bisher gewonnenen Erkenntnissen über den SOFA-Score und seine Schwächen wollten wir einen alternativen Score entwickeln.

Dazu extrahierten wir die nötigen Input-Daten, die für die Subscores verwendet werden, für die gewählte Patientenkohorte aus den MIMIC-Daten. Beim Imputen der fehlenden Werte stellte sich heraus, dass bei manchen Laborwerten sehr viele Daten fehlten, der Imputer jedoch keine realistischen Werte ausgibt, wenn nur ein Bruchteil an Daten vorhanden ist. Bei manchen Werten ist außerdem anzunehmen, dass ein fehlender Wert für eine Abwesenheit steht, beispielsweise bei der Dosierung eines Medikaments.

Um die Aussagekraft unseres Modells bewerten zu können, teilten wir die Daten in ein training und ein test set. Über das training set ließen wir eine Logistic Regression laufen, um die Regressionskoeffizienten der zwölf Input-Werte in die Berechnung plus eine Konstante zu bestimmen. Der TSS verrechnet neue Inputs mit diesen Koeffizienten, um die Sterbewahrscheinlichkeit eines Patienten zu bestimmen und gibt diesen Wert in Prozent als ganze Zahl von 0 bis 100.

= round100∙ 11+e-(0+ i=112ixi )

Durch diese Implementierung ist die Anforderung, dass die Erhöhung des SOFA-Scores um einen Punkt vergleichbar sein soll, automatisch erfüllt, da der TSS-Score direkt die Mortalität angibt. Jede Änderung der Input-Daten führt zu einem veränderten TSS-Score, welche die Wahrscheinlichkeit, dass der Patient überlebt oder stirbt, abbildet.

Da der Großteil der Patienten in der Kohorte am Ende überlebt, besteht die Gefahr, ein Modell mit einem bias zu trainieren. Eine Auswertung mit einer Wahrheitsmatrix (confusion matrix) zeigt jedoch, dass das Modell in der Lage ist, die Mortalität vorherzusagen.

4. Ausblick

Angesichts der begrenzten Zeit, die uns für das Projekt zur Verfügung stand, mussten wir an vielen Stellen Annahmen treffen, um weitermachen zu können. Diese Entscheidungen müssten für eine vollständige wissenschaftliche Untersuchung validiert werden. Verbesserungen unserer Analyse, für die uns die Zeit gefehlt hat, sind folgende Punkte:

  • Das Imputen der fehlenden Werte sollte auch bei der Betrachtung des SOFA-Scores auf Basis der Laborwerte erfolgen, nicht auf den Subscores, um noch feinere Ergebnisse zu erhalten. Es sollte für jeden Wert geprüft werden, um ein Fehlen auch die Abwesenheit dieses Wertes bedeuten könnte, da der MICE-Imputer auf der Annahme zufällig fehlender Werte (MAR, missing at random) basiert.
  • Die Anzahl der Cluster könnte mithilfe eines Kriteriums (bspw. BIC) gewählt werden, wir haben uns einfach für die glatte Zahl 100 mit einer adäquaten Größenordnung entschieden.
  • Anstelle eines K-Means könnte ein K-Mediod Algorithmus verwendet werden, da es sich bei den Scores um ganzzahlige Werte handelt.
  • Um stabilere Ergebnisse aus dem Clustering und der darauf basierenden Logistic Regression zu erhalten, könnte anstelle der 10-fachen Durchführung des Clusterings eine Monte-Carlo-Simulation durchgeführt werden, in der für jedes Clustering-Ergebnis die Regressionskoeffizienten bestimmt und aus allen Szenarien zusammen ausgewertet werden.
  • Um einen bias aufgrund der unausgeglichenen Trainingsdaten (sehr viel mehr Patienten überleben als sterben) zu verhindern, könnten verschiedene Methoden zur Anpassung der Trainingsdaten verwendet werden.

Bis zur abschließenden Präsentation der Ergebnisse haben wir noch einen Monat Zeit, welchen wir nutzen möchten, um unseren TSS-Score zu verbessern und seine Aussagekraft auszuwerten. Das Imputen der fehlenden Input-Daten hat einen starken Einfluss auf die Aussagekraft des TSS-Modells, weswegen wir die systematisch fehlenden Werte genauer betrachten und manuell imputen möchten.

Alles in allem sind wir sehr zufrieden mit der Projektarbeit und haben viel dazugelernt, von den Schwierigkeiten der Datenverarbeitung zur richtigen Auswertung statistischer Kennzahlen.

5. Projektteam

Wir möchten uns beim TechLabs Team und der Clinomic GmbH für die Ermöglichung dieses Projektes und besonders bei unserem Mentor René Ahlsdorf für die tatkräftige Unterstützung bedanken.

Benedict Thiele: Bachelorstudent Maschinenbau an der RWTH Aachen — https://www.linkedin.com/in/benedict-thiele-330b44173/

Manja Schölling: Masterstudentin Wirtschaftsingenieurwesen Elektrische Energietechnik an der RWTH Aachen — https://www.linkedin.com/in/manja-schoelling/

Philipus Benizi Angga Aditya Putra: Masterstudent Verfahrenstechnik an der RWTH Aachen

Verweise

Zuletzt unsere Quellenverweise und zusätzliche Informationen für den interessierten Leser:

[1] Darstellung der Canadian Sepsis Foundation https://canadiansepsisfoundation.wildapricot.org/Diagnosis-and-Treatment und Equiskill https://www.equiskill.com/understanding-logistic-regression/

[2] Sequential organ failure assessment score, früher auch als sepsis-related organ failure assessment score bekannt, da er ursprünglich für Patienten mit Sepsi entwickelt wurde.

[3] Mehr Informationen zur Clinomic GmbH auf https://clinomic.ai/.

[4] Für mehr Informationen zu MIMIC sei auf https://mimic.physionet.org/about/mimic/ und https://physionet.org/content/mimiciii/1.4/ verwiesen.

[5] Für die Abfragen haben wir uns an der Vorgehensweise in https://github.com/MIT-LCP/mimic-code/blob/master/concepts/severityscores/sofa.sql orientiert, welche die notwendigen Daten zur Berechnung des SOFA-Scores aus den MIMIC-Tabellen heraussucht.

[6] MICE steht für Multiple Imputation by Chained Equation, eine anschauliche Erklärung findet sich beispielsweise im Paper https://www.ncbi.nlm.nih.gov/pmc/articles/PMC3074241/ .

[7] In der Standardimplementierung von sklearn erfolgt die Auswahl nicht komplett zufällig, sondern auf intelligente Art und Weise, um die Konvergenz zu beschleunigen, siehe https://scikit-learn.org/stable/modules/generated/sklearn.cluster.KMeans.html

[8] Da die gefundene Lösung stark von den gewählten Starpunkten abhängt, wird der Algorithmus in der Standardimplementierung von sklearn 10-mal aufgerufen nur die beste Lösung ausgegeben.

TechLabs Aachen e.V. reserves the right not to be responsible for the topicality, correctness, completeness or quality of the information provided. All references are made to the best of the authors’ knowledge and belief. If, contrary to expectation, a violation of copyright law should occur, please contact aachen@techlabs.org so that the corresponding item can be removed.

--

--

Inside.TechLabs
Inside.TechLabs

Written by Inside.TechLabs

Our community Members share their insights into the TechLabs Experience

No responses yet