Data Science vs COVID-19_Teil 1





Es ist bereits klar, dass COVID-19 im Jahr 2021 weiterhin auf der Tagesordnung stehen wird. Dies bedeutet, dass sich natürlich die Fragen stellen: Haben wir Werkzeuge, um das Wachstum und die Abnahme der Inzidenz vorherzusagen, können wir die Entwicklung von Ereignissen in einer Woche, einem Monat oder sogar einem Jahr vorhersagen? Lass es uns herausfinden.


Gegeben: kolossale datenwissenschaftliche Fähigkeiten, drei talentierte Spezialisten.

Finden: Möglichkeiten, die Ausbreitung von COVID-19 in einer Woche vorherzusagen.



Lösung:



In der Tat wird es drei Lösungen geben, folgen Sie den Veröffentlichungen. Und heute werden wir einen von ihnen mit Vladislav Kramarenko besprechen. Er fand ein Modell, mit dem die genaueste Prognose * für die ganze Welt für die kommende Woche erstellt werden kann.



- Vladislav, hallo. Lassen Sie uns im Detail besprechen, was Sie getan haben: was passiert ist, woran noch gearbeitet werden muss, welche Fehler aufgetreten sind und wie sie in Zukunft berücksichtigt werden können. Beginnen wir mit der Hauptsache: Sagen Sie mir, welchen Algorithmus für maschinelles Lernen haben Sie verwendet?



- Ich habe bei einer Steigung angehalten. Die Schwierigkeit bestand darin, dass Gradientenverstärkungen unterschiedlich sind und ein anderes Bild ergeben. Ich hatte die beste Adaboost-Punktzahl, gefolgt von Catboost.



- Ich meine, du hast verschiedene ausprobiert und Adaboost ist am besten gelaufen?



- Ja. Das Beste war Adaboost, es gab die moderateste Prognose. Wenn wir gesehen haben, dass alles schnell wächst, bedeutet dies, dass für den Algorithmus weiterhin alles schnell wächst und andere Boosts die Prognose irgendwo in die Wolken treiben. Aber Adaboost war am konservativsten.



- Wie hast du das Modell trainiert?



- Die größte Schwierigkeit bei solchen Problemen besteht darin, den richtigen Weg zum Trainieren von Modellen zu finden, dh die richtige Auswahl an Trainings- und Testmustern zu treffen. Wenn wir einen Tag als Testprobe nehmen und alle Daten in Trainings- und Testdaten aufteilen, stellt sich heraus, dass wir nur einen Tag vorhersagen. Es ist nicht schwierig - Sie müssen nur die Tage für Training und Test zufällig verteilen, und 1 Tag kann vorhergesagt werden. Ich habe diese Idee sofort verworfen und die letzte Woche vorhergesagt: Das heißt, ich habe die letzte Woche abgeschnitten, den Rest der Tage den Trainingsdaten gegeben und Tag für Tag der letzten Woche ehrlich vorausgesagt, dh ich habe Daten von genommen vor einer Woche zur Vorhersage. Aber auch hier trat eine Schwierigkeit auf. Ich habe ein Modell erstellt, das die zweite Woche perfekt vorhersagt, eine Reihe von Funktionen hinzugefügt, die dabei geholfen haben, aber es stellte sich heraus, dass das Modellwas die zweite Woche sehr gut vorhersagt, sagt die dritte sehr schlecht voraus. Ich fange an zu denken, dass es vielleicht einfacher wäre, die Daten manuell zu platzieren und kein maschinelles Lernen zu verwenden, und ein solches Modell könnte besser sein.



- Sprechen Sie darĂĽber, die Zahl mit Ihren Augen zu betrachten und eine Linie weiter zu ziehen?



- Analysieren Sie monatliche Statistiken. Diese Daten passen gut auf eine Kurve. Alle diese Statistiken sind ziemlich seltsam und nicht alle Kranken kommen darauf herein. Statistiken geben daher nicht die Anzahl der Fälle wieder. Ich weiß, dass einige Leute das SEIR-Modell (epidemiologisches Modell) für eine solche Aufgabe verwenden. Ich dachte auch daran, es zu benutzen, aber dann entschied ich, dass wir genau wissen sollten, wie viele Menschen krank sind, aber wir wissen es nicht. Dieses Modell hängt davon ab, wie viele Menschen infizieren und wie viele Menschen krank werden. Wenn wir diese Daten nicht kennen, können wir nicht damit arbeiten. Meiner Meinung nach würde ein solches Modell eine falsche Vorhersage liefern. *



* Wir werden die Vor- und Nachteile des SEIR-Modells mit Nikolai Kobalo im nächsten Artikel analysieren.



Es erscheint mir vernünftig, dass Leute, die dies tun, zuerst alles mit einem Computer tun und es dann manuell bearbeiten und reparieren müssen. Die Maschine gibt manchmal alle Arten von Unsinn aus. Zum Beispiel sieht sie, dass in China die Zahl der Fälle seit langem nicht mehr gewachsen ist, in anderen Regionen aber seit langem nichts mehr gewachsen ist, und dann begann ein explosives Wachstum. Auf dieser Grundlage „versteht“ die Maschine, dass dies auch für China getan werden muss, das tatsächlich bereits ein Plateau hat. Und er beginnt nicht 80k zu geben, sondern verlässt abrupt eine Million. Ich hatte dies in einem der Modelle.



- Und was ist mit traditionellen Modellen? Was denkst du von ihnen? Zeitreihenanalysen wie ARIMA?



- Ich habe ARIMA ein paar Mal ausprobiert, aber es gab nie ein besseres Ergebnis als die Erhöhung des Gradienten. Es scheint, dass ARIMA jeden Prozess erklären kann, aber es stellte sich heraus, dass es nicht immer besser funktioniert. Es gibt auch eine Reihe von Parametern, der Prozess muss stationär sein und so weiter. Selbst wenn Sie integrieren, ist es keine Tatsache, dass ein stationärer Prozess ausfällt.



- Eine Frage zu Bäumen. Bäume extrapolieren nicht. Wie bringen Sie sie dazu, zu extrapolieren?



- Dazu müssen Sie nicht die Gesamtzahl der Infizierten vorhersagen, sondern etwas anderes. Es ist klar, dass wenn wir die Summe vorhersagen, es in einer Region wie Moskau nicht möglich sein wird, vorherzusagen, da Bäume nicht mehr vorhersagen können, als sie in der Trainingsstichprobe gesehen haben. Ich habe den Logarithmus des Verhältnisses der Kranken für heute und die vergangenen Tage genommen. Diese Zahlen (0,3,1, vielleicht 2) befinden sich in der Trainingsstichprobe und das Modell wird erhalten. Es ist klar, dass wir keinen starken Anstieg um das 500-fache vorhersagen können. Dieses Modell ist jenseits der Macht. Wenn wir zum Beispiel über das Verhältnis der Verstärkung für heute zu der Verstärkung für gestern sprechen, wird die Zahl ungefähr eins sein, und wir haben unterschiedliche solche Werte in der Stichprobe - in diesem Fall sagt das Modell perfekt voraus .



- Haben Sie als Ziel im endgültigen Modell den Logarithmus des Verhältnisses von Kranken heute zu Kranken gestern genommen?



- Ja. Ich habe auch das Verhältnis der Deltas ausprobiert: "Wie viel ist für heute gewachsen", geteilt durch "Wie viel ist für gestern gewachsen". Es hat auch gut funktioniert. Aber die "Gesamtzahl" und die "Zunahme der Fälle pro Tag" funktionierten schlecht.



- Was haben Sie als erklärende Variablen genommen?



- Ich habe ungefähr 4 Tage zuvor gebraucht. Es funktionierte. Ich habe Informationen über die Bevölkerung, die Anzahl der Raucher usw. aufgenommen. Viele verschiedene Statistiken hinzugefügt. Und dann habe ich eine Woche lang untersucht, welche Faktoren einen Anstieg bewirken und welche nicht. Aber die Situation ändert sich zu sehr, diese Faktoren erwiesen sich als nicht stabil, sondern eher zufällig.



- Was hat sich abgesehen von den vorherigen Werten als stabil herausgestellt?



- Das Wichtigste, was Einfluss hatte, war die Anzahl der Tage seit der ersten Krankheit, Zehntel, Hundertstel ... Zuerst habe ich die Anzahl der Tage ab der ersten Infektion genommen, aber ich dachte, dass dies nicht sehr gut war, da oft die erste infiziert wird schnell isoliert und fĂĽhrt nicht zu einem starken Anstieg. Daher fing ich an, 10 Infizierte zu nehmen und fiel dann auf 100 und 1000 Infizierte.



In der dritten Phase dieser Aufgabe fügte ich 50 und 500 Infizierte hinzu, und dies war ein grausamer Witz für mich: Das Modell war stark überfordert und begann nächste Woche schlecht vorherzusagen.



Wichtiger Daten, ich habe den Selbstisolationsindex ausprobiert. In einigen Wochen gab es einen starken Anstieg, und in einigen war es überhaupt nicht wichtig. Ich habe Daten zum Gesundheitsniveau verwendet: Welche Beträge werden an Ärzte überwiesen, wie viele Ärzte sind im Allgemeinen im Land, wie viele ältere Menschen usw. Dies wurde durchgeführt, um die Mortalität vorherzusagen.



Es gab verschiedene Probleme, die ich lösen wollte. Nehmen wir zum Beispiel die Selbstisolation. Mir wurde klar, dass der Grad der Selbstisolation nicht das Morgen, sondern das Datum in zwei Wochen beeinflusst. Und es ist keine Tatsache, dass Selbstisolation die Anzahl der Fälle beeinflusst; Vielleicht wirkt sich im Gegenteil die Anzahl der Fälle auf den Grad der Selbstisolation aus.



, - Casual Inference in ML ( https://ods.ai/tracks/causal-inference-in-ml-df2020/) – 2020 – -, - COVID-19 , .. , .




- Welche Schlussfolgerung wĂĽrden Sie zu ML-Modellen im Allgemeinen ziehen, nicht in Bezug auf dieses Problem? Ihre Aussage klingt so, als mĂĽssten Sie sich um Modelle "kĂĽmmern" ...



- Es gibt Aufgaben, die ein Computer viel besser löst als ein Mensch. Zum Beispiel war der letzte Wettbewerb, an dem ich teilgenommen habe, das Unified State Exam in russischer Sprache. Mein Modell war bei diesen Aufgaben besser als ich. Aber das ist Textverarbeitung ...



Warum gibt es in St. Petersburg und MSC so viele Kranke? Wir werden ausnahmslos getestet. Ich werde nicht sagen, dass sie in anderen Regionen so massiv testen. Zum Beispiel umfassen Statistiken 100 Personen. Was bedeutet das? Vor drei Wochen wurden sie infiziert. Infolgedessen prognostizieren wir nicht die Anzahl der Fälle, sondern eine andere Zahl. Und wie diese Zahl mit der Anzahl der Fälle korreliert, ist nicht sehr klar. Ein Computer kann normalerweise nichts vorhersagen, wenn wir ihm unverständliche Zahlen geben.



Wen kümmert es, hier ist meine Lösung: https://github.com/vlomme/sberbank-covid19-forecast-2020



, – 10, 100, 1000 (, , ).



. . , , , , , 2021.



, , .




* «Forecast the Global Spread of COVID-19»



All Articles