Modellierungswoche zum Thema "Gesundheit und Medizin", 9. bis 14. Februar 2020
Die Themen im Überblick
- Künstliche Intelligenz - Kann ein Computer Diabetes diagnostizieren oder Hautkrebs erkennen?
- Feinstaub in der Luft - Eine Gefahr für Gesundheit und Klima
- Einen Schrittzähler konstruieren
- Dienstplanung der Ärzte in Krankenhäusern
- Intelligente Produktion von Wundauflagen
- Notfallversorgung in Krankenhäusern
- Ausbreitung des Dengue-Fiebers in Sri-Lanka
Gruppe 1: Künstliche Intelligenz
Die Aufgabe der Gruppe bestand aus zwei Teilen. Im ersten Teil sollte eine Diabeteserkrankung im Zusammenhang mit anderen Werten, wie z.B. BMI oder Blutdruck, untersucht werden. Hierbei erarbeitete sich die Gruppe selbstständig Grundlagen der Statistik und wandte diese mit großem Erfolg auf das von ihnen erstellte Modell an. Sie erreichten dadurch ein Modell, das anhand der vorgegebenen Werte mit 83% Genauigkeit voraussagen konnte, ob ein Patient an Diabetes erkrankt ist oder nicht.
Im zweiten Teil sollten anhand von Bildern zwischen verschiedenen Arten von Hautkrebs unterschieden werden. Hierzu bekam die Gruppe eine Einführung in das Thema Neuronale Netze und ein Codebeispiel, das sie für das Problem noch abändern mussten. In koordinierter Gruppenarbeit wurden zunächst immer nur zwei Typen unterschieden. Hierbei wurde teilweise eine Vorhersagegenauigkeit von 99% erreicht. Später schaffte es die Gruppe sogar alle Typen voneinander zu unterscheiden und kam hier nach Optimierung der Parameter auf eine Vorhersagegenauigkeit von 70%.
Gruppe 2: Feinstaub
Die Gruppe befasste sich während der Woche mit der Fragestellung wie sich die Feinstaubkonzentration in der Luft in Städten modellieren lässt. Der erste Teil bestand darin aus realen Daten Parameter und signifikante Korrelationen zu identifizieren, um diese später in das Modell einfließen zu lassen. Es bestand hierfür auch die Möglichkeit reale Daten zu generieren mithilfe eines selbst zu bauenden Feinstaubmessgeräts. Im zweiten Teil ging es darum ein Feinstaub-Modell zu entwickeln und hierfür Algorithmen für die Dynamik des Feinstaubs zu entwerfen und zu implementieren.
Für die Bearbeitung der Aufgabe war es für die Gruppe nötig sich mit statistischen Methoden für die Datenanalyse vertraut zu machen und das reale Problem auf ein räumlich diskretes dynamisches System zu reduzieren.
Nach den vier Tagen Bearbeitungszeit war das Modell mit passenden Parametern entworfen und programmiert. Es illustriert die Entwicklung der Feinstaubkonzentration auf einer zwei dimensionalen Landkarte mit Städten verschiedener Größe. Es wurde besonderen Wert auf die Interaktion - Feinstaub/Wind - gelegt.
Gruppe 3: Einen Schrittzähler konstruieren
Die Aufgabe der Gruppe bestand darin, mit einem Arduino-Mikrokontroller und geeigneten Sensoren einen Schrittzähler zu konstruieren. Die Gruppe musste sich zum einen mit den technischen Aspekten der Fragestellung auseinandersetzen (Arduino programmieren, Sensoren anschließen, Daten auslesen). Zum anderen mussten natürlich die Daten ausgewertet werden, um die korrekte Anzahl an Schritten erfassen zu können.
Die Gruppe musste sich dazu ein mathematisch-physikalisches Verständnis der Sensordaten gewinnen und entwickelte daraus einen Algorithmus für den Schrittzähler. Schließlich folgte eine Reihe von Experimenten, um den Algorithmus zu optimieren. Auffällig war insbesondere, dass der Schrittzähler unterschiedlich auf die verschiedenen Gangarten der Testpersonen reagierte. Außerdem zeigte sich, dass mehrere Aspekte des mathematischen Modells an die technischen Gegebenheiten des Sensors und des Arduino angepasst werden mussten.
Am Ende der Woche hatte die Gruppe ein Gerät entworfen, das zuverlässig Schritte zählen und auf einem Display anzeigen konnte.
Gruppe 4: Dienstplanung in Krankenhäusern
Ziel dieses Projekts war es, unter Berücksichtigung zahlreicher Bedingungen wie Abwesenheiten, mögliche Unterbesetzungen an Tagen und Dienstwünsche einen gerechten Dienstplan für die Nachtschichten zu erstellen.
Neben eine Analyse der vorliegenden Daten musste die Gruppe dazu ein Verständnis, insbesondere der kombinatorischen Zusammenhänge, eines solchen Problems erarbeiten. Die geschah anhand einer ersten (händischen) Erstellung eines Plans. Hierbei wurden kritische Bedingungen erkannt. Unter Vereinfachung dieser Bedingungen wurde dann eine erste schematische Vorgehensweise formuliert.
Zum einen wurde daraufhin eine Bewertungsgrundlage für Dienstpläne erstellt, die mehrere Kriterien (unter anderem Zulässigkeit, Berücksichtigung der Wünsche, Gerechtigkeit) einzeln bewertet und über eine gewichtete Summe eine Basis liefert, fertige Pläne miteinander vergleichen zu können. Zum anderen wurden nach und nach der erste Algorithmus so erweitert, dass auch zuvor vereinfachte Bedingungen möglichst gut (im Sinne der Bewertungsfunktion) berücksichtigt werden konnten.
Am Ende der Woche konnte die Gruppe dann einen implementierten Algorithmus vorweisen, der anhand von Wünschen und Abwesenheiten der Ärzte einen zulässigen Dienstplan einer kompletten Planungsperiode berechnen kann.
Gruppe 5: Intelligente Produktion von Wundauflagen
Die Aufgabe dieser Gruppe war die Erstellung eines Algorithmus zur Produktion eines Vlieses aus Silicagel, das als Wundauflage mit besonderen Eigenschaften diesen soll: Im Idealfall erhält man als Ergebnis eine Wundauflage, die neben den klassischen Eigenschaften einer Wundauflage (Atmungsaktivität, Robustheit, Saugfähigkeit und Undurchlässigkeit für Wundflüssigkeiten) vom menschlichen Körper rückstandfrei abgebaut werden kann. Dies macht das Wechseln mit dem Risiko einer erneuten Öffnung heilender Wunden überflüssig.
Gegeben waren dazu einige technische Informationen: Dünne Fäden von flüssigem Silicagel werden aus einem Kopf mit ca. 15 Düsen auf einer Unterlage abgelegt, wobei sie in einer Kreisfläche von 1 cm^2 auftreffen und mit einer Dichte von 50 mg/s ausgebracht werden. Die Unterlage im Format eines DIN A4 Blattes kann dabei von zwei Linearmotoren mit einer max. Geschwindigkeit von 50 cm/s bewegt werden, wobei eine möglichst hohe, annähernd konstante Geschwindigkeit wünschenswert ist. Gesucht war ein Algorithmus zur Steuerung, der als Ergebnis ein möglichst homogenes Vlies mit einer gewünschten Dichte von 5 mg/cm^2 liefert. Damit aufeinander abgelegte Fäden des Gels auch optimal miteinander verkleben ist zu beachten, dass der zeitliche Abstand des Ablegens maximal im Bereich von 5s liegt.
Die Gruppe musste zunächst ein Modell entwickeln, in dem einige technische Vereinfachungen vorgenommen werden, da eine exakte Simulation des Detailverhaltens der Gelfäden bei der Ablage zu komplex ist – und auch wenig hilfreich zur Gewinnung einer grundlegenden Idee für den Steueralgorithmus. So wurden einige sinnvolle Annahmen zur Anordnung der Düsen getroffen sowie eine Bewegung mit konstanter Geschwindigkeit angenommen. Anschließend wurde eine Reihe unterschiedlicher Bewegungsmuster für die Unterlage entwickelt und diskutiert. Dies reichte von Bewegungen, die mehr oder weniger komplex aus achsenparallelen Einzelschritten zusammengesetzt wurden, bis hin zur Idee, die Unterlage entlang von Sinuskurven zu bewegen. Dabei galt zu beachten, dass die geforderten Kriterien Homogenität, geringer zeitlicher Abstand zwischen einzelnen Lagen und gewünschte Dichte des fertigen Vlieses eingehalten werden. Zusätzlich wurde eine möglichst hohe Zahl von (gleichmäßig verteilten) Kreuzungsstellen der unterschiedlichen Lagen als Ziel definiert. Verschiedene Muster, für die oft auch mehrere Parameter wählbar sind, wurden auf die selbst definierten Kriterien hin verglichen.
Als nächster Schritt kam eine Computersimulation des mit verschiedenen Bewegungsmustern erstellten Vlieses hinzu, wobei mit dem Modell eines feinen Gitters und kleinen diskreten Bewegungsschritten gearbeitet wurde. Dabei wurde auch klar, dass abhängig von Bewegungsmuster und Anordnung der Düsen im Kopf sehr komplexe Verteilungen des Materials entstehen – eine Herausforderung für die Vorstellungskraft bei der Optimierung der beteiligten Parameter! Dabei funktionierte die Kommunikation innerhalb der Gruppe, die sich arbeitsteilig mit der Optimierung von Bewegungsmustern und der Simulation des fertigen Vlieses befasste, sehr gut. Am Ende gelang es auf diese Weise, einen Algorithmus anzugeben, der im Rahmen der technischen Bedingungen ein sehr gleichmäßiges Material mit den gewünschten Anforderungen erzeugt. Die Ergebnisse wurden im Vergleich zu anderen Varianten präsentiert, wobei auch unterschiedliche Düsenanordnungen getestet wurden. Im Ausblick wurden mögliche Modellerweiterungen und -verfeinerungen für weitere Untersuchungen der Fragestellung skizziert.
Gruppe 6: Notfallversorgung in Kaiserslautern
Die Gruppe hatte zur Aufgabe, einen Standort für eine Notfallversorgungseinrichtung in Kaiserslautern zu finden. Dafür musste sie sich zunächst mit den Anforderungen an eine solche Einrichtung beschäftigen. Außerdem mussten die örtlichen Gegebenheiten untersucht werden. Um letztendlich einen Standort zu finden, musste ein geeignetes mathematisches Modell entwickelt und genutzt werden, um eine Lösung für das Problem zu erhalten.
Zu Beginn hatten sich zwei Gruppenmitglieder, die programmieren konnten, mit der Beschaffung der Daten von Kaiserslautern beschäftigt. Dafür wurde eine Open-Street-Map-Karte herunter geladen, die anschließend aufwendig aufbereitet werden musste. Dazu gehörte zum Beispiel, das Straßennetzwerk der Stadt zu vereinfachen, also alle nicht notwendigen Knoten auf Straßen zu löschen und die bestehenden Knoten mit entsprechender Längendistanz neu zu verbinden. Außerdem mussten alle Knoten, die etwa Bäume oder Pfosten repräsentieren, gelöscht werden. Zusätzlich dazu mussten Gebäude, deren Umriss als Menge aus Knoten und Kanten verzeichnet ist, auf einen Punkt reduziert werden und diese an das Netzwerk angebunden werden, sodass ein zusammenhängendes Netzwerk entstanden ist.
Der Rest der Gruppe erarbeitete ein Modell, welches die Wichtigkeit der Einsatzorte anhand einer Gewichtsfunktion bestimmte. Dafür haben sie sich ein bestehendes Modell zur Kategorisierung von Unfällen angeschaut. Auf Grundlage der Einsatzstatistiken zu Notfällen in Kaiserslautern haben sie dann die Einsätze auf die verschiedenen Orte in diese Kategorien aufgeteilt. Anschließend haben sie die relativen Häufigkeiten und die jeweilige Schwere der Unfälle für alle Einsatzorte in Kaiserslautern genutzt, um eine Gewichtung der Orte vorzunehmen.
Die Gruppen berichteten sich jeden Tag über ihre Arbeit und diskutierten trotz der Aufteilung in Untergruppe viel im Team. Schlussendlich konnten die Arbeiten beider Gruppen zusammengefügt werden. Als mathematisches Modell haben sie die Betrachtung der Center-Zielfunktion für die Bestimmung eines neuen Standortes auf einem Netzwerk gewählt. Die Lösung dieses Problems wurde auch implementiert, sodass der gesamte Algorithmus allgemeingültig als Python-Programm vorliegt.
Gruppe 7: Ausbreitung des Dengue-Fiebers in Sri-Lanka
Der Ausgangspunkt des Projektes war ein Datensatz, in dem die Zahlen der mit Dengue Infizierten in Sri Lanka sowie deren Unterteilung in Provinzen und Distrikte in den Jahren 2010-2016 dargestellt wurden. Die Gruppe sollte sich zunächst einen grafischen Überblick über den Verlauf der Zahlen verschaffen (Periodizität, globaler Anstieg/Rückgang der Zahlen, etc.) und dann ein Modell entwickeln, mit dessen Hilfe man die Zahl der Infizierten für die kommenden Jahre prognostizieren kann. Dazu sollten die bereits bekannten Daten zu Hilfe genommen werden. Dies wurde zunächst für die Gesamtzahl der Infizierten in Sri Lanka, dann für die neun Distrikte und schließlich für die 25 Provinzen getrennt durchgeführt. Außerdem sollte in einem weiteren Modell die Wechselwirkung zwischen den Provinzen und Distrikten betrachtet werden, d.h. die räumliche Ausbreitung der Krankheit durch Pendler und Migranten.
Die Ergebnisse der Woche waren recht zuverlässige Prognosen für die Gesamtzahl der Infizierten, die Provinzen und die meisten Distrikte, wenige kaum aussagekräftige Prognosen für Distrikte (z.B. mit negativen Infiziertenzahlen) sowie die Aufstellung eines Modells für die Migration, welches jedoch aus zeitlichen Gründen nicht mehr auf die Daten angewendet werden konnte. Außerdem zu erwähnen ist, dass zur effizienten Verarbeitung der z.T. großen Datenmengen ein Java-Programm geschrieben wurde. Die Gruppe benannte eigenständig Vorteile und Schwächen der Modelle und überlegte sich Methoden, wie man eine Prognose bewerten kann.