Benutzer-Werkzeuge

Webseiten-Werkzeuge


ws1819:epidemiesimulation

Unterschiede

Hier werden die Unterschiede zwischen zwei Versionen gezeigt.

Link zu dieser Vergleichsansicht

Beide Seiten der vorigen Revision Vorhergehende Überarbeitung
Nächste Überarbeitung
Vorhergehende Überarbeitung
ws1819:epidemiesimulation [2019/02/07 16:07]
Lena00
ws1819:epidemiesimulation [2019/04/01 13:28] (aktuell)
sunnyrogers
Zeile 1: Zeile 1:
 +Kommentar von Lysanne: ​
 +
 +Ein bisschen mehr Dokumentationscharakter wäre gut. Ihr solltet ein bisschen auf die Theorie eingehen, also auf die Mathematik hinter den Epidemiemodellen (und was diese bedeuten). ​
 +Jemand, der sich nicht mit eurem Projekt beschäftigt hat, kann mit euren wöchentlichen Protokollen wenig anfangen, da einige . Wenn ihr das in diesem Format beibehalten wollt (was ihr auch könnt), dann solltet ihr die Arbeitsschritte besser erklären und entweder den Code kommentieren oder irgendwie besser durch die Struktur des Programmes führen (viele unkommentierte Files). ​
 +Auch eine Interpretation der Ergebnisse wäre schön, zeigt doch ein paar Plots und erklärt, was man darauf sieht. (Was verändert sich bei welcher Veränderung welcher Parameter?​) ​
 +Falls ihr euch unsicher seid, fragt einfach gerne nach!
 +
 +
 **__Thema: Epidemiesimulation__** ​ **__Thema: Epidemiesimulation__** ​
  
Zeile 56: Zeile 64:
 Das SI-Modell wurde geschrieben in einem Nebenprogramm. Wir können das Programm jetzt plotten, aber uns fehlen noch die Eingaben. Die Krankheit ist nicht heilbar, aber sie führt auch nicht zum Tod. Außerdem werden keine neuen Menschen geboren. Das SI-Modell wurde geschrieben in einem Nebenprogramm. Wir können das Programm jetzt plotten, aber uns fehlen noch die Eingaben. Die Krankheit ist nicht heilbar, aber sie führt auch nicht zum Tod. Außerdem werden keine neuen Menschen geboren.
  
-Dazu wurde noch ein Nebenprogramm für die Achsen geschrieben,​ nur haben wir die Schrittweise ​an den Achsen noch nicht geändert.+Dazu wurde noch ein Nebenprogramm für die Achsen geschrieben,​ nur haben wir die Schrittweite ​an den Achsen noch nicht geändert.
  
 Außerdem haben wir versucht uns mit der "​Epydemic"​-Bibliothek auseinanderzusetzen,​ allerdings gibt es im Internet ziemlich wenige Informationen dazu, wie man mit der Bibliothek umgeht. Außerdem haben wir versucht uns mit der "​Epydemic"​-Bibliothek auseinanderzusetzen,​ allerdings gibt es im Internet ziemlich wenige Informationen dazu, wie man mit der Bibliothek umgeht.
Zeile 71: Zeile 79:
  
  
-Neben der Achsenkonstruktion haben wir eine neue Funktion erstellt bei der alle y-Werte der Funktionen im Graphen ​geplottet werden egal wie viele Gleichungen ​wir haben. Die X-Werte bleiben bei allen Gleichungen erhalten. Nur die Y-Werte ändern sich, je nachdem welche Gleichung verwendet wird. Am Ende werden alle Graphen der Gleichungen geplottet. ​+Neben der Achsenkonstruktion haben wir eine neue Funktion erstelltbei der alle y-Werte der Funktionen im Diagramm ​geplottet werdenegal wie viele Graphen und Berechnungen ​wir haben. Die x-Werte bleiben bei allen Gleichungen erhalten. Nur die y-Werte ändern sich, je nachdem welche Gleichung verwendet wird. Am Ende werden alle Graphen der Gleichungen geplottet. ​
  
 Außerdem versuchen wir die Werte für die gesunden Menschen zu berechnen, aber es gibt ein paar Probleme bei der Berechnung, da die eine Liste nicht richtig erkannt wird. Ohne diese Liste können wir aber nicht weiterarbeiten. Außerdem versuchen wir die Werte für die gesunden Menschen zu berechnen, aber es gibt ein paar Probleme bei der Berechnung, da die eine Liste nicht richtig erkannt wird. Ohne diese Liste können wir aber nicht weiterarbeiten.
-Update: Das Problem wurde behoben. Es lag ein Schleifenfehler vor.+EDIT: Das Problem wurde behoben. Es lag ein Schleifenfehler vor.
  
  Mit der Bibliothek von "​Epydemic"​ haben wir uns nicht weiter beschäftigt,​ da wir uns mit "​heatmaps"​ beschäftigt haben. Bei einer "​Heatmap"​ können wir einzelne Kästchen in verschiedenen Farben erscheinen lassen, damit neben dem Graphen eine weitere Visualisierung stattfindet. Die gleichfarbigen Kästchen sollen eine bestimmte Personengruppe angeben. In unserem ersten Fall sollen die Infizierten und Gesunden gezeigt werden. Noch sind wir aber in der Erarbeitung dieser Art von Veranschaulichung.  Mit der Bibliothek von "​Epydemic"​ haben wir uns nicht weiter beschäftigt,​ da wir uns mit "​heatmaps"​ beschäftigt haben. Bei einer "​Heatmap"​ können wir einzelne Kästchen in verschiedenen Farben erscheinen lassen, damit neben dem Graphen eine weitere Visualisierung stattfindet. Die gleichfarbigen Kästchen sollen eine bestimmte Personengruppe angeben. In unserem ersten Fall sollen die Infizierten und Gesunden gezeigt werden. Noch sind wir aber in der Erarbeitung dieser Art von Veranschaulichung.
-Update: Mit "​Randomzahlen"​ können "​heatmaps"​ erstellt werden.  ​+EDIT: Mit "​Randomzahlen"​ können ​bisher noch sinnfreie ​"​heatmaps"​ erstellt werden.  ​
  
 Das SI-Modell wurde fertiggestellt. Es fehlen nur noch die Eingaben, die wir in der nächsten Woche hinzufügen werden. ​ Das SI-Modell wurde fertiggestellt. Es fehlen nur noch die Eingaben, die wir in der nächsten Woche hinzufügen werden. ​
  
-Beim SIS-Modell gab es einige Probleme. Das erste Problem war, dass es keinen Unterschied gab zwischen dem Gesundheits- und Erkrankungswachstum. Das zweite Problem entstand durch falsche Testbeispiele,​ da diese keinen Aufschluss über die Berechnungen gab(zur Lösung dieses Problems wurden über 2 Stunden gebraucht).+Beim SIS-Modell gab es einige Probleme. Das erste Problem war, dass es keinen Unterschied gab zwischen dem Gesundheits- und Erkrankungswachstum. Das zweite Problem entstand durch falsche Testbeispiele,​ da diese keinen Aufschluss über die Berechnungen gab.
  
  
Zeile 100: Zeile 108:
 **20.12.2018** **20.12.2018**
  
-Wir haben das SIS-Modell fertig gestellt mit ein paar Änderungen. Neben der neuen Achsenkonstruktion haben wir die Skalierung der Y-Achse in Abhängigkeit der Werte erstellt. ​+Wir haben das SIS-Modell fertig gestellt mit ein paar Änderungen. Neben der neuen Achsenkonstruktion haben wir die Skalierung der y-Achse in Abhängigkeit der Werte erstellt. ​
  
 Außerdem haben wir eine Legende und eine Plotfunktion hinzugefügt,​ damit wir die für alle Modelle verwenden können. Außerdem haben wir eine Legende und eine Plotfunktion hinzugefügt,​ damit wir die für alle Modelle verwenden können.
Zeile 111: Zeile 119:
 Des Weiteren haben wir mit dem SIRS-Modell angefangen, allerdings stimmen die Testwerte nicht bzw. ergeben keinen Sinn, da Menschen ihre Resistenz schneller verlieren als gesund zu werden. Des Weiteren haben wir mit dem SIRS-Modell angefangen, allerdings stimmen die Testwerte nicht bzw. ergeben keinen Sinn, da Menschen ihre Resistenz schneller verlieren als gesund zu werden.
 EDIT: Das SIRS-Modell wurde beendet, es wurde nur das falsche Berechnungsprogramm importiert. Das dynamische SIRS-Modell,​ also mit Geburten und Toden, wurde übertragen,​ funktioniert aber noch nicht. EDIT: Das SIRS-Modell wurde beendet, es wurde nur das falsche Berechnungsprogramm importiert. Das dynamische SIRS-Modell,​ also mit Geburten und Toden, wurde übertragen,​ funktioniert aber noch nicht.
-Es funktioniert nun doch. Grund war das Missverstehen der Parameter des Modells.+EDIT: Es funktioniert nun doch. Grund war das Missverstehen der Parameter des Modells.
  
 Wir haben Schieberegler programmiert,​ die leichte und vor allem live Veränderungen aller Parameter der Krankheit und Beobachtungsgrößen ermöglichen. Beim nächsten Mal werden wir diese dann in die einzelnen Hauptprogramme überführen. Wir haben Schieberegler programmiert,​ die leichte und vor allem live Veränderungen aller Parameter der Krankheit und Beobachtungsgrößen ermöglichen. Beim nächsten Mal werden wir diese dann in die einzelnen Hauptprogramme überführen.
  
-In den nächsten Stunden werden wir versuchen weitere Modelle zu erstellen und neue Grafikmöglichkeiten überlegen. Bis jetzt haben wir nur die Graphendarstellung mit "​matplotlib"​. Allerdings wollen wir noch weitere Möglichkeiten finden und ausprobieren. ​Möglich wären zum Beispiel Heatmaps, die dann auch räumliche Krankheitsverbreitungen miteinbeziehen könnten.+In den nächsten Stunden werden wir versuchenweitere Modelle zu erstellen und uns neue Grafikmöglichkeiten ​zu überlegen. Bis jetzt haben wir nur die Graphendarstellung mit "​matplotlib"​. Allerdings wollen wir noch weitere Möglichkeiten finden und ausprobieren. ​Unser Ziel ist es, die einfacheren Modelle auf Heatmaps zu übertragen.
  
-Wir werden auch überlegen, ob wir unsere bestehenden Programme sinnvollerweise nur als diskrete ​Funktionen plotten. An der endgültigen Umsetzung des dynamischen SIRS-Modells wird beim nächsten Mal schon weitergearbeitet. Voraussichtlich werden wir es dann auch beenden.+Wir werden auch überlegen, ob wir unsere bestehenden Programme sinnvollerweise nur als scatter-Funktionen ​(gepunktete Graphen) ​plotten. An der endgültigen Umsetzung des dynamischen SIRS-Modells wird beim nächsten Mal weitergearbeitet. Voraussichtlich werden wir es dann auch beenden.
  
  
 **10.01.2019** **10.01.2019**
  
-Mit unseren Modellen sind wir fertig. Jetzt geht es nur noch um Verbesserungen und Verfeinerungen. Es wurden unabhängige Geburten- und Sterberaten erstellt. Außerdem haben wir uns weiter über eine Live-Schieberegler ​erkundigt, allerdings gibt es dort noch einige Probleme. ​+Mit unseren Modellen sind wir fertig. Jetzt geht es nur noch um Verbesserungen und Verfeinerungen. Es wurden unabhängige Geburten- und Sterberaten erstellt. Außerdem haben wir uns weiter über Live-Schieberegler ​informiert, allerdings gibt es dort noch einige Probleme. ​
  
-Mit Heatmaps haben wir eine Alternative zur Grafikdarstellung gefunden, allerdings sind wir auch hier noch nicht fertig. Das Programm ist noch unabhängig von den ausgerechteten Daten der Modelle und es ist bis jetzt nur ein Standbild, heißt es verändern sich noch nicht die Quadrate.+Mit Heatmaps haben wir eine geeignete Art der Grafikdarstellung gefunden, allerdings sind wir auch hier noch nicht fertig. Das Programm ist noch unabhängig von den ausgerechteten Daten der Modelle und es ist bis jetzt nur ein Standbild, ​das heißt es verändern sich noch nicht die Quadrate.
  
 Für die Grafik haben wir versucht eine Achsenbeschriftung hinzuzufügen,​ aber die Beschriftung steht nicht links neben der Achse. Des Weiteren stimmt die Eingabe nicht. ​ Für die Grafik haben wir versucht eine Achsenbeschriftung hinzuzufügen,​ aber die Beschriftung steht nicht links neben der Achse. Des Weiteren stimmt die Eingabe nicht. ​
Zeile 133: Zeile 141:
    * weitere Grafikmöglichkeiten ausprobieren ​    * weitere Grafikmöglichkeiten ausprobieren ​
    * Schieberegler    * Schieberegler
-   ​* ​+ 
 17.1.2019 17.1.2019
-Philipp: Diskrete ​Version des dynamischen SIRS-Modells + 
-Jan: Heatmapfarbsortierung +Philipp ​hat sich mit der scatter-Version des dynamischen SIRS-Modells ​beschäftigt 
-Max: Slider weiterbearbeitet+Jan hat die Farbsortierungsmöglichkeiten der Heatmap bearbeitet. 
 +Slider ​wurden von Max weiterbearbeitet.
  
 **24.01.19** **24.01.19**
  
-Wir sind mit mit der diskreten ​Version des dynamischen SIRS- Modells fertig.  +Wir sind mit der scatter-Version des dynamischen SIRS- Modells fertig.  
-Wir kennen uns besser mit den Slidern aus, haben aber noch Probleme es mit dem Hauptprogramm zu verbinden. Dazu kommt, dass sich das Hauptprogramm noch bearbeitet wird, welches ​dasverbinden ​mit den Slidern erschwert. +Wir kennen uns besser mit den Slidern aus, haben aber noch Problemees mit dem Hauptprogramm zu verbinden. Dazu kommt, dass das Hauptprogramm noch bearbeitet wird, welches ​das Verbinden ​mit den Slidern erschwert. 
-Bei der Heatmapfarbsortierung gibt es noch einige Probleme zu bewältigen,​ bevor man diese dann mit dem Hauptprogramm verbinden können.+Bei der Heatmapfarbsortierung gibt es noch einige Probleme zu bewältigen,​ bevor wir diese dann mit dem Hauptprogramm verbinden können.
  
 _Ziele für nächste Woche:_ _Ziele für nächste Woche:_
Zeile 167: Zeile 177:
 **07.02.2019** **07.02.2019**
  
-Die Heatmap muss neu geschrieben werden, da der Quellcode unübersichtlich wurde. Bei der Slidder ​ist die Verbindung mit dem Hauptprogramm sehr schwierig. An sich funktioniert ​die Slider, aber es gibt noch ein paar Probleme mit dem Hauptprogramm. "Der Slider geht, ist aber nicht benutzerfreundlich"​.+Die Heatmap muss neu geschrieben werden, da der Quellcode unübersichtlich wurde. ​Die Heatmap ist für das SI-Modell. Wenn das Programm fertig ist, müssen wir das für die anderen Programme erweitern. Das Grundgerüst bleibt aber das Gleiche.  
 + 
 + Bei den Slidern ​ist die Verbindung mit dem Hauptprogramm sehr schwierig. An sich funktionieren ​die Slider, aber es gibt noch ein paar Probleme mit dem Hauptprogramm. "Der Slider geht, ist aber nicht benutzerfreundlich"​.
  
 Als Alternative wollen wir eine Eingabe einrichten, aber da müssen wir noch die Grenzen ausrechnen. Da wir in unseren Modellen mit bestimmten Zahlen rechnen, kann die Eingabe auch nur bestimmte Zahlen bekommen, damit unser Programm immer noch rechnen kann.  Als Alternative wollen wir eine Eingabe einrichten, aber da müssen wir noch die Grenzen ausrechnen. Da wir in unseren Modellen mit bestimmten Zahlen rechnen, kann die Eingabe auch nur bestimmte Zahlen bekommen, damit unser Programm immer noch rechnen kann. 
  
-  
  
- +**14.02.2019** 
 + 
 +Heute wurde die Heatmap für das SI-Modell in seiner verbesserten und ausbaueröffnenden Form fertiggestellt. Allerdings gibt es nur "​Gesunde",​ "​frisch Infizierte"​ & "​Infizierte"​.  
 + 
 +Für die anderen Modelle müssen wir herausfinden,​ ob es eine einfache Möglichkeit gibt um mit Wahrscheinlichkeiten zu rechnen und dafür die Heatmap einzurichten. Wir versuchen die Heatmaps für die Modelle gleichzeitig zu erstellen, aber ohne die Wahrscheinlichkeitsrechnung können die anderen Programme nicht zu Ende geschrieben werden. 
 +Das SIS-Modell hat seit heute auch eine Heatmap, allerdings ist bei einer Infektionsrate von 100% die Grafik nicht korrekt. Sonst funktioniert das Programm. Den Fehler mit der falschen Berechnung wurde noch nicht gefunden. Für das SIRS-Modell haben wir noch keine Heatmap erstellt.  
 + 
 + 
 + 
 +Bei der Slider ist immer noch ein Fehler drin, aber das soll auch heute behoben werden. Der Slider ist fertig, aber die Startzahl der Infizierten muss in Prozenten angegeben bzw. umgerechnet werden. Ansonsten funktioniert das Programm.  
 + 
 +Ziele für die Blockstunden:​ 
 +  * Heatmap für SIR-Modell 
 +  * Heatmap für das SIRS-Modell 
 +  * Programm von der SIS-Heatmap verbessern  
 + 
 + 
 +Letztendlich ist es uns gelungen, die Heatmap für das SIS-Modell mit fretigzustellen. Es gibt auch eine Unterscheidung zwischen neuen und bereits zuvor Gesunden und Infizierten. Inkubationszeit und Krankheitsdauer miteinzubeziehen hätte den Rahmen unseres Projektes gesprengt. 
 + 
 + 
 +**Projektende** 
 + 
 + 
 +Unser Programm kann alle Modelle berechnen und zeigt dazu die passenden Graphen mithilfe von "​Matplotlib"​. 
 + 
 + Bei dem SIRS-Modell haben wir 3 verschiedene Programme, da wir mit unterschiedlichen Möglichkeiten bzw. Variablen gerechnet haben und diese unterschiedliche Ergebnisse liefern. Tödlich verlaufende Krankheiten,​ mit und ohne Berücksichtigung von Bevölkerungsentwicklung,​ mit Resistenzbildung,​ usw. 
 + 
 +Unsere Heatmaps veranschaulichen das SI-Modell und das SIS-Modell, auch wenn letzteres noch fehlerhaft zu sein scheint. Allerdings ist die SI-Heatmap unabhängig von dem Berechnungsprogramm und noch nicht Teil des SI-Hauptprogramms,​ denn die Heatmap zeigt nur die Auswirkungen mit 100% Infektionswahrscheinlichkeit.  
 + 
 +Für die anderen Modelle sind wir noch zu keiner zufriedenstellenden Lösung gekommen. 
 + 
 +Die Slider konnten erfolgreich ins Hauptprogramm übernommen werden 
 + 
 + 
 +Die Cloud haben wir so aufgebaut, dass wir für jedes Modell einen eigenen Ordner haben, damit die Übersichtlichkeit vorhanden bleibt. Dadurch haben wir aber auch für jedes Modell ein anderes Hauptprogramm,​ da immer auf andere Berechnungen zugegriffen wird. 
 + 
 +Grundsätzliche Aufteilung unserer Gruppe: 
 + 
 +Heatmaps: Jan 
 + 
 +Grafik und Diagramm: Lena 
 + 
 +Berechnungen:​ Philipp
  
 +Benutzeroberfläche:​ Max
  
  
 +Alle Programme finden sich hier: {{:​ws1819:​epidemix.zip|}}
ws1819/epidemiesimulation.1549552030.txt.gz · Zuletzt geändert: 2019/02/07 16:07 von Lena00