Im Post vom 20.03.2020 (https://politicaldatascience.blogspot.com/2020/03/sigmoid-oder-exponentiell.html) habe ich erklärt, wie ich Sigmoid-Modelle auf die COVID-19 Daten fitte. Zum Verständnis der Updates hier ist dieser vorherige Post entscheidend.
Dazu hier Updates:
Dazu hier Updates:
27.03.2020:
Die Fallzahlen von gestern liegen mit 43.938 über der Prognose von 41.231 und auch jetzt schon über der Prognose für heute (43.889). Ich würde meinem Modell momentan NICHT vertrauen.
Der Wert liegt zwar noch im Konfidenzintervall, wie ich aber unten ausgeführt habe, ist auch die Unsicherheit bei Zukunftsprognosen nichts Festes. Ich würde eher davon ausgehen, dass die Werte im Laufe des Tages noch deutlich steigen und mein Modell falsifiziert ist, als dass es eine Rückkehr zu der prognostizierten Kurve gibt. Selbst wenn die Zuwächse am Wochenende deutlich zurückgehen würden, ließe sich erst am Dienstag wieder etwas sagen, da vermutlich am Wochenende ein Meldeverzug sein wird.
Hier der aktualisierte Plot:
Ich habe die ganze Zeit versucht, alle Unsicherheiten klar zu benennen, daher nochmal: Die Zahlen von gestern sprechen eher dafür, dass mein Modell generell nicht stimmt, als dafür, dass das ein "Ausrutscher" ist.
26.03.2020:
Auch gestern lagen die Fallzahlen leicht unter den prognostizierten Werten meines Modells. Wirklich interessant ist auch, wie stabil das Modell ist. Seit Samstag habe ich das Modell nicht angepasst. Da die Prognosen die ganze Zeit leicht zu hoch sind, ist es interessant zu sehen, wie ein Modell aussieht, dass alle verfügbaren Daten berücksichtigt. Im folgenden Plot in grün:
Die Prognosen selbst verändern sich nur ganz leicht. Die Konfidenzintervalle werden allerdings enger. Das bedeutet, das alte Modell hat bereits den Trend erfasst, der auch in den aktuellen Daten fortgeschrieben wird. Wenn sich dieser Trend fortsetzt, dann haben wir in 10 Tagen ein Niveau von ca. 53.000 Fällen erreicht und damit eine Sättigung.
Zur Bedeutung von Konfidenzintervallen bei Zukunftsprognosen und für weitere selbstkritische Anmerkungen bitte weiterlesen!
PS: Rolf Jansen kommt auf seinem Blog https://obsigna.com/articles/1584931539.html#Update-2020-03-25 übrigens zu denselben Ergebnissen.
PS: Rolf Jansen kommt auf seinem Blog https://obsigna.com/articles/1584931539.html#Update-2020-03-25 übrigens zu denselben Ergebnissen.
25.03.2020:
Woran erkennt man, dass ein theoriefreies Modell funktioniert?
Es ist leicht, ein perfektes Modell auf jede Art von Daten zu fitten. Meistens bildet die zugrundeliegende mathematische Funktion dann aber eben nicht den wirklichen Prozess ab, sondern trifft die bekannten Werte rein zufällig (overfitting). Als Resultat wird ein solches Modell schlechte Prognosen für die Zukunft machen.
Umgekehrt ist es DER Goldstandard in der Datenanalyse, wenn ein Modell gute Prognosen macht, über Zustände in der Zukunft. Hier ist es ausgeschlossen, dass das Modell implizit schon Informationen über die Werte hatte, die es vorhersagen soll, weil die Zukunft ja nun einmal ungewiss ist.
Deshalb habe ich hier harte Prognosen veröffentlicht, damit jeder sehen kann, dass ich in keiner Weise trickse. Zum dritten Mal in Folge bestätigen sich die Prognosen heute.
Die offiziellen Zahlen sagen 32.986 Fälle für gestern und meine Prognose war 34.584. Also wie die letzten Tage sogar leicht zu hoch!
Das entscheidende ist, dass mein Modell den Wendepunkt vorhergesagt hat. Und dieser Wendepunkt ist da, auch wenn die empirischen Daten das nicht so ohne weiteres erkennbar machen. Andernfalls müssten die Werte aber inzwischen über meinen Prognosen liegen. Der Wendepunkt einer Sigmoid-Funktion ist nachvollziehbarer Weise der entscheidende Moment.
Auch wenn es natürlich jederzeit passieren kann, dass das Modell nicht mehr funktioniert, weil sich in der Welt etwas ändert, was sich in den bisherigen Daten nicht zeigt (zum Beispiel eine neue Infektionswelle), würde ich sehr dafür plädieren, den von mir prognostizierten weiteren Verlauf als ein MÖGLICHES Szenario zu werten. Von einer Data-Science-Perspektive hat sich das Modell bewährt und mir ist bislang kein besseres unter gekommen!
Hier der aktualisierte Plott:
Und zur besseren Übersicht noch einmal meine Prognosen:
Tag Prognose Lower Upper
24.03.2020 34.584 32.605 36.564
25.03.2020 38.114 35.284 40.944
26.03.2020 41.231 37.493 44.969
27.03.2020 43.889 39.249 48.530
28.03.2020 46.091 40.605 51.576
Ein freundlicher Nutzer hat mich auf eine csv-Datei aufmerksamgemacht, die die offiziellen Werte für gestern enthält. Ich verwende jetzt: https://raw.githubusercontent.com/CSSEGISandData/COVID-19/master/csse_covid_19_data/csse_covid_19_time_series/time_series_covid19_confirmed_global.csv
Die Werte sind identisch mit denen, die bislang in die Analyse einflossen.
Noch ein Wort zu Konfidenzintervallen bei Prognosen in die Zukunft: Häufig werden Konfidenzintervalle als eine sichere Wahrscheinlichkeit interpretiert. "Wir können zu 95% davon ausgehen, dass die Werte in diesem Korridor liegen!" Das geht nicht, wenn es um Prognosen in der Zukunft geht. Die Konfidenzintervalle zeigen die statistische Wahrscheinlichkeit unter der Annahme, dass das Modell gilt und sich tatsächlich so in die Zukunft fortschreiben lässt.
24.03.2020: Trotz Meldeverzug: Zuwachs an Infektionen scheint zurück zu gehen
Gestern war unklar, ob die Daten für Sonntag aussagekräftg sind, da viele Ämter Fälle erst am Montag gemeldet haben. Schaut man rein auf die Zahlen sieht es deshalb heute so aus, als würde das Wachstum der Fallzahlen weiter zunehmen. Von Samstag auf Sonntag gab es 2.700 neue Fälle, von Sonntag auf Montag 4.200, wie der folgende Plot der Johns Hopkins University zeigt:
Aber: Diese Daten sind halt verzerrt wegen des Meldeverzugs. Mein Modell hat den Tag des Rückganges der Fallzahlen auf gestern geschätzt. Und das heißt, von den prognostizierten Werten, nicht von den echten Werten ausgehend, erwarte ich einen Rückgang des Zuwachses der Fallzahlen.
Und dieser Rückgang scheint sich zu bestätigen. Die aktuellen Werte in Deutschland liegen sogar unter den Werten, die ich für die jeweiligen Tage prognostiziert hatte (Rückgang eingerechnet!).
Hier der aktualisierte Plot:
Wäre der prognostizierte Rückgang alleine auf den Meldeverzug zurückzuführen, dann lägen die Werte für Montag über den prognostizierten Werten!
Seit drei Tagen in Folge liegen die echten Werte jetzt unter den prognostizierten Werten, die von einem Rückgang des Zuwachses der Fallzahlen ausgehen. Da die Prognosen im Plot und auch weiter unten im Text benannt sind, kann dies jeder überprüfen. Natürlich kann auch ein neuer Trend einsetzen, der in den Daten noch nicht abgebildet ist (zum Beispiel eine neue Infektionswelle). Ganz wahrscheinlich ist das aber nicht, dass das sehr schnell passiert, da die Daten durch die Inkubationszeit ja immer ein Blick in die Vergangenheit sind.
Ich wiederhole daher noch einmal die Prognose von gestern und behaute, die Werte werden in den nächsten Tagen unter den folgenden Prognosen liegen (obwohl es statistisch auch möglich ist, dass mal ein Wert nach oben ausschert, Lower und Upper zeigen das statistische Konfidenzinterval):
Tag Prognose Lower Upper
24.03.2020 34.584 32.605 36.564
25.03.2020 38.114 35.284 40.944
26.03.2020 41.231 37.493 44.969
27.03.2020 43.889 39.249 48.530
28.03.2020 46.091 40.605 51.576
Zwei wichtige Anmerkungen: Natürlich werden die Prognosen unsicherer, je weiter wir in die Zukunft schauen. Außerdem sollte sich jeder klar machen, dass trotz der Umdrehung des Trends mein Modell von einem sehr starken Zuwachs der Fallzahlen ausgeht. Es geht also NICHT darum zu sagen, alles nicht so schlimm. Es geht vielmehr darum, eine rein datengestützte Perspektive einer möglichen Entwicklung aufzuzeigen, die in ihrem Verlauf deutlich von den meisten anderen Modellen abweicht.
Und dann gibt es noch folgendes Problem: Eigentlich beziehe ich die Werte aus folgendem CSV-File der Johns Hopkins University: https://raw.githubusercontent.com/CSSEGISandData/COVID-19/master/csse_covid_19_data/csse_covid_19_time_series/time_series_19-covid-Confirmed.csv
Momentan liegt da ein m. M. nach ein Fehler vor, weil die Werte vom 23.03.2020 für alle Länder die gleichen wie vom 22.03.2020 sind. Ich habe daher den Wert von gestern aus folgendem Plot herausgelesen.
23.03.2020: Daten von Sonntag veröffentlicht
Die Johns Hopkins University hat die Daten von Sonntag dem 22.03.2020 veröffentlicht. Ich hatte behauptet, es würden 26.730 Fälle werden. Es sind 24.873. Also sogar weniger neue Fälle als mein Modell vorhergesagt hat! Es ist allerdings Vorsicht geboten, da eventuell am Wochenende nicht alle Fälle gemeldet wurden. Dennoch zeigt sich in den Daten ein Rückgang des Zuwachses, empirisch schon die letzten beiden Tage (aber eben Wochenende). Mein Modell hat den Day of Decline auf den 22.03.2020 geschätzt (also die Daten, die heute zur Verfügung stehen). Wegen der Unsicherheit durch das Wochenende passe ich das Modell zunächst nicht an. In dem Plot seht ihr die Prognose für die nächsten Tage. Die Fallzahl wird weiter stark Ansteigen, sich dann aber stabilisieren, falls das Modell denn eine gute Prognose macht!
Für die nächsten Tage erwarte ich Fallzahlen von 30.740, 34.584, 38.114, 41.231, 43.889.
Hier der Plot.
Es gibt m. M. nach drei Möglichkeiten für die nächsten Tage. Wenn sich morgen zeigen sollte, dass die Fallzahlen für Montag unter meiner Prognose liegen (und das Wochenende eben keinen falsche Abweichung nach unten bedeutete), dann wird die Kurve vermutlich noch flacher als von mir prognostiziert.
Steigen die Fallzahlen in den nächsten Tagen deutlich über meine Prognose, dann sollte ich den ganzen Ansatz überdenken und ggf. verwerfen.
Oder es passiert halt etwas völlig anderes.
Wenn ich Recht haben sollte, ist die Virusinfektion in 14 Tagen vorbei.
22.03.2020: Ist in Deutschland der Peak schon erreicht?
Wie gestern gepostet, ist es sinnvoll, mein bisheriges Modell jeden Tag zu testen. Heute gibt es neue Daten der Johns Hopkins Universität. Damit sind es jetzt drei Tage zur Überprüfung der Prognosekraft meines Sigmoid-Modells. Hier der aktuelle Plot:
Auch der Wert von heute (Tag 60) liegt im Konfidenzintervall. Das Modell scheint gute Prognosen zu machen! Aber es wird noch spannender. Der vorhergesagte Wert des Modells liegt über dem echten Wert. Und man sieht, dass in den Daten der Zuwachs von gestern auf heute bereits abgenommen hat. Der "Day of Decline" - also der Tag ab dem die Zuwächse wieder nahezu exponentiell SINKEN, ist extrem wichtig für die Schätzung einer Sigmoidkurve. Also habe ich das Modell aktualisiert. Es basiert jetzt auf allen Daten, die Stand heute zur Verfügung stehen.
In dem Modell ist der "Day of Decline" morgen! Das würde heißen, dass sich die Fallzahlen in den nächsten 10 Tagen noch einmal verdoppeln, dann aber stagnieren.
Ich bin sehr überrascht von der Prognosekraft meines Modells und lehne mich jetzt aus dem Fenster:
Wir werden morgen, am 23.03.2020 laut John Hopkins Daten 26.730 Fälle in Deutschland haben. Insgesamt wird die Fallzahl in Deutschland nicht über 55.000 steigen.
Background: Wie lässt sich das alles erklären
Ich empfehle sehr, den Bericht der WHO-Mission in China zu studieren:
Hier die wichtigsten Sachen, die ich aus diesem Dokument rauslese:
Es hat zwei Phase gegeben. Ein mehr oder minder unkontrollierter Ausbruch, wo sich einige Leute angesteckt haben. Und dann die Phase, in der staatlich eingegriffen wurde.
Die Basisreproduktionszahl von 2-2,5 bezieht sich auf die erste Phase.
In der zweiten Phase sind die Ansteckungen in den Haushalten, also nicht in "freier Wildbahn", nicht am Arbeitsplatz (aber China hat das öffentliche Leben in den betroffenen Gebieten ja auch extrem runter gefahren), nicht durch Kinder (!) und auch nicht - und das ist sehr wichtig - im Gesundheitswesen.
Obwohl zehntausende aus allen Regionen in Hubei an der Bekämpfung der Seuche mitgewirkt haben, hat das nicht zu einer Weiterverbreitung im großen Stil geführt.
China hat mit großem Aufwand die Infektionsketten jedes Falles rekonstruiert und alle Verdachtsfälle getestet. Dazu wurde massiv auf Handydaten zugegriffen und mit Datenanalysen gearbeitet.
Mein Fazit ist: Die Verbreitung des Virus verläuft in der echten Welt anders als von Modellen prognostiziert, die auf theoretischen Annahmen basieren. Ich glaube, dass in diesem konkreten Fall "theoriefreie" Datenanalysen eine stärkere Prognosekraft haben, weil unsere Gesellschaft so komplex ist und so vielfälltig auf neue Herausforderungen reagiert, dass Vorstellungen einer Steuerung im klassischen Sinne versagen. Welcome to the age of cybernetics!
Trotzdem noch ein vorsichtiger Disclaimer: Wie im vorherigen Post erklärt, bin ich kein Seuchenexperte. Alle Vermutungen hier sind rein datenwissenschaftlich abgeleitet. Sobald sich etwas grundlegend ändert, müssen mein Modelle versagen. Allerdings gehe ich persönlich eher davon aus, dass der wirkliche Verlauf noch milder wird, als hier bislang prognostiziert, weil vermutlich die getroffenen Maßnahmen greifen.
21.03.2020: Deutsches Modell über die Zeit testen
Ich habe das Modell, das ich mit den Daten vom 19.03.2020 berechnet habe, gespeichert und kann jetzt die neuen Werte täglich mit der Prognose des Modells vergleichen.
Man sieht, dass die neuen zwei Datenpunkte (rot) der Prognose exakt folgen. Das würde heißen, dass wir noch eine Woche starke Anstiege hätten und dann einen Rückgang des Wachstums erwarten würden.
21.03.2020: Weltweite Modelle
Außerdem habe ich die Daten aller Regionen geplottet und Sigmoid Funktionen dazu gefittet.
Die Ergebnisse habe ich in folgendem Video zusammengefasst:
Es ist noch etwas zu früh um das wirklich zu vermuten: Aber wäre es eigentlich theoretisch denkbar, dass der Verlauf überall mehr oder wenig ähnlich ist, ganz gleich, was die Maßnahmen sind?
Kommentare
Kommentar veröffentlichen