[PYTHON] Ich habe versucht, die Infektion mit einer neuen Lungenentzündung mithilfe des SIR-Modells vorherzusagen: ☓ Wuhan ed. ○ Hubei ed.

In letzter Zeit ist eine neue Lungenentzündung populär geworden. Ich hatte zuvor mit einem mathematischen Modell von Infektionskrankheiten, dem SIR-Modell, geforscht und es auf ein neues Modell der Lungenentzündung angewendet. Mathematische Modelle können verwendet werden, um die Zukunft von Infektionskrankheiten vorherzusagen.

Dieses Mal konzentrieren wir uns auf ~~ Wuhan ~~ *** Hubei Province *** (Provinz einschließlich Wuhan), das Zentrum des Ausbruchs, um Infektionskrankheiten zu modellieren und die Zukunft von Infektionskrankheiten vorherzusagen.

keyword Epidemiologie, SIR-Modell, nCoV-2019, neue Lungenentzündung, neues Coronavirus

SIR-Modell

Das SIR-Modell ist ein Modell, das den Übergang der Anzahl infizierter Personen als Differentialgleichung ausdrückt (ebenfalls leicht verständlich in [Wikipedia] analysiert (https://ja.wikipedia.org/wiki/SIR-Modell)). Im SIR-Modell wird angenommen, dass eine Person drei Infektionszustände hat.

  1. Menschen, die infiziert werden können: S.
  2. Infizierte Person: I.
  3. Diejenigen, die sich von der Infektion erholt und Immunität erlangt haben oder gestorben sind: R.

Das SIR-Modell basiert auf den Notationen S (t), I (t) und R (t) für diejenigen, die zum Zeitpunkt t infiziert sein können, diejenigen, die infiziert sind, und diejenigen, die von der Infektion geheilt wurden.

\dot{S}(t) = -\beta S(t)I(t),\\ \dot{I}(t) = \beta S(t)I(t) - \gamma I(t)\\ \dot{R}(t) = \gamma I(t)

Es wird beschrieben als. Hier steht β für die Infektionsrate und γ für die Wiederfindungsrate (+ Sterblichkeitsrate). Die Zunahme der Anzahl infizierter Personen ist proportional zur Infektionsrate β, der Person S (t), die möglicherweise infiziert ist, und der Person I (t), die infiziert ist.

Bitte beachten Sie, dass Menschen, die sterben, keine Infektion verursachen. Sie werden daher mit denen gleichgesetzt, die von der Infektion geheilt wurden.

Hier, $ S(t) + I(t) + R(t) = N $ Ist konstant und entspricht der Bevölkerung des Gebiets. Dieses Mal werden wir die Bevölkerung der Provinz ~~ Wuhan ~~ Hubei verwenden.

~~ Wuhan ~~ Anhand der Infektionsdaten der neuen Hepatitis in der Provinz Hubei werden wir die Infektionsrate β und die Genesungsrate γ ermitteln und die Zukunft von Wuhan vorhersagen.

Verwendete Daten

Die Infektionsdaten stammen aus hier, das auf kaggle veröffentlicht wurde. Darüber hinaus verwenden die Bevölkerungsdaten der Provinz ~~ Wuhan ~~ Hubei die in hier beschriebenen Bevölkerungsstatistiken von 2017.

Lernparameter mit dem SIR-Modell

~~ Wuhan ~~ Der Übergang der Infektion vom 22. Januar zum 4. Februar 2020 in der Provinz Hubei ist wie folgt.

Hubei_time_dose.png

Die blaue Linie ist die Anzahl der Infizierten, die orange Linie ist die Anzahl der Todesfälle und die grüne Linie ist die Anzahl der Menschen, die sich erholt haben. Ist es ein bisschen seltsam, dass die Anzahl der Menschen, die sich erholt haben, und die Anzahl der Todesfälle ungefähr gleich sind? Ich denke.

Ich habe versucht, mich an das SIR-Modell anzupassen, damit diese Daten ausgedrückt werden können.

SIR_model_Hubei.png

Genesene Menschen sind die Summe aus der Anzahl der Menschen, die sich erholt haben, und der Anzahl der Todesfälle. Außerdem ist der blaue Punkt die Anzahl der tatsächlich beobachteten infizierten Personen, und die blaue Linie ist das Ergebnis der Annäherung durch das SIR-Modell. Die orangefarbenen Punkte und orangefarbenen Linien sind die gemessenen und vorhergesagten Werte der Anzahl der Personen, die sich erholt haben.

Es scheint, dass es ausreichend angenähert werden kann.

~~ Wuhan ~~ Vorhersage der Zukunft der Infektion in der Provinz Hubei

Da es scheint, dass es ausreichend angenähert werden kann, habe ich versucht, die Zukunft der Infektion in der Provinz Hubei anhand der erlernten Parameter vorherzusagen.

Die folgende Abbildung zeigt die Prognose für 10 Tage ab dem 4. Februar.

Hubei_10days_future.png

Die Punkte sind die gemessenen Werte und die Linien sind die vorhergesagten Werte.

Als nächstes folgt die Prognose für ein Jahr ab dem 4. Februar.

Hubei_365days_future.png

Die Infektion scheint überhaupt aufzuhören.

Erwägung

Zukünftige Aufgaben

Als nächstes möchte ich die Ausbreitung der Infektion in ganz China anhand des Verkehrsaufkommens vorhersagen.

Nachtrag: Grundreproduktionsnummer R0

Die Infektiosität der Krankheit wird anhand der Grundreproduktionsnummer R0 bewertet. R0 ist gegeben durch das Verhältnis der dimensionslosen Infektionsrate β_hat zur dimensionslosen Wiederfindungsrate γ_hat. Daher lautet die Grundreproduktionsnummer R0 in der Provinz Hubei

R_0 = \frac{\hat{\beta}}{\hat{\gamma}} = \frac{\beta N^2}{\gamma N} \approx 17.54

Es wird. Dieser Wert entspricht in etwa den durch die Luft übertragenen Krankheiten wie Masern. Es wird angenommen, dass die Stärke dieser Infektiosität darin besteht, dass die Wiederherstellungsrate wie in der Diskussion erwähnt unterschätzt wird.

Code

https://github.com/yuji0001/2020nCoV_analysis

Recommended Posts

Ich habe versucht, die Infektion mit einer neuen Lungenentzündung mithilfe des SIR-Modells vorherzusagen: ☓ Wuhan ed. ○ Hubei ed.
Ich habe versucht, das Verhalten des neuen Koronavirus mit dem SEIR-Modell vorherzusagen.
Ich habe die übliche Geschichte ausprobiert, Deep Learning zu verwenden, um den Nikkei-Durchschnitt vorherzusagen
Ich habe versucht, die Anzahl der im Inland infizierten Menschen der neuen Korona mit einem mathematischen Modell vorherzusagen
Ich habe versucht, die Verschlechterung des Lithium-Ionen-Akkus mithilfe des Qore SDK vorherzusagen
Ich habe versucht, den Sieg oder die Niederlage der Premier League mit dem Qore SDK vorherzusagen
Ich habe versucht, das CNN-Modell von TensorFlow mit TF-Slim umzugestalten
Tag 71 Ich habe versucht vorherzusagen, wie lange diese Selbstbeherrschung mit dem SIR-Modell anhalten wird
Ich habe versucht, den Index der Liste mithilfe der Aufzählungsfunktion abzurufen
Ich habe versucht, PDF-Daten der medizinischen Online-Versorgung zu verwenden, die auf der Ausbreitung einer neuen Coronavirus-Infektion basieren
Ich habe versucht, die Höhen und Tiefen des Schlusskurses des Aktienkurses von Guru Navi mit TensorFlow vorherzusagen (Fortschritt)
Ich habe versucht, die Trefferergebnisse von Hachinai mithilfe der Bildverarbeitung zu erhalten
Ich habe versucht, die Ähnlichkeit der Frageabsicht mit Doc2Vec von gensim abzuschätzen
Ich habe versucht, die Phase der Geschichte mit COTOHA zu extrahieren und zu veranschaulichen
Ich habe versucht, die Standardrolle neuer Mitarbeiter mit Python zu optimieren
Mit COTOHA habe ich versucht, den emotionalen Verlauf des Laufens von Meros zu verfolgen.
Ich habe versucht, die Neujahrskarte selbst mit Python zu analysieren
Ich habe versucht, die Trapezform des Bildes zu korrigieren
Ich habe versucht, den Bildfilter von OpenCV zu verwenden
Ich habe versucht, die Texte von Hinatazaka 46 zu vektorisieren!
Ich habe versucht, das Update von "Hameln" mit "Beautiful Soup" und "IFTTT" zu benachrichtigen.
[Python] Ich habe versucht, das Mitgliederbild der Idolgruppe mithilfe von Keras zu beurteilen
Ich habe versucht, den Grad der Koronavirusinfektion auf der Seekarten-Wärmekarte anzuzeigen
Ich habe versucht, ein Modell mit dem Beispiel von Amazon SageMaker Autopilot zu erstellen
Ich habe versucht, die Literatur des neuen Corona-Virus mit Python automatisch an LINE zu senden
Ich habe versucht, das Spiel in der J League vorherzusagen (Datenanalyse)
Ich habe versucht, die Sündenfunktion mit Chainer zu approximieren
Ich habe versucht, die API von Sakenowa Data Project zu verwenden
Ich habe versucht, die Spacha-Informationen von VTuber zu visualisieren
Ich habe versucht, den negativen Teil von Meros zu löschen
Ich habe versucht, die Sprache mit CNN + Melspectogram zu identifizieren
Ich habe versucht, das Wissensdiagramm mit OpenKE zu ergänzen
Ich habe versucht, die Stimmen der Sprecher zu klassifizieren
Ich habe versucht, das Bild mithilfe von maschinellem Lernen zu komprimieren
Ich habe versucht, die String-Operationen von Python zusammenzufassen
Ich habe versucht, mit dem Seq2Seq-Modell von TensorFlow so etwas wie einen Chatbot zu erstellen
Ich habe versucht, das Update von "Werde ein Romanautor" mit "IFTTT" und "Werde ein Romanautor API" zu benachrichtigen.
Python-Übung 100 Schläge Ich habe versucht, den Entscheidungsbaum von Kapitel 5 mit graphviz zu visualisieren
Ich habe versucht, den Text in der Bilddatei mit Tesseract der OCR-Engine zu extrahieren
Ich habe versucht, die Eigenschaften der neuen Informationen über mit dem Corona-Virus infizierte Personen mit Wordcloud zu visualisieren
Ich habe versucht, die Entropie des Bildes mit Python zu finden
[Pferderennen] Ich habe versucht, die Stärke des Rennpferdes zu quantifizieren
Ich habe versucht zu simulieren, wie sich die Infektion mit Python ausbreitet
Ich habe versucht, mit TensorFlow den Durchschnitt mehrerer Spalten zu ermitteln
[Einführung in das SIR-Modell] Prognostizieren Sie die Endzeit jedes Landes mit der COVID-19-Datenanpassung ♬
Ich habe versucht, die Anzeigenoptimierung mithilfe des Banditenalgorithmus zu simulieren
Ich habe versucht, die Genauigkeit von Modellen für maschinelles Lernen mit Kaggle als Thema zu vergleichen.
Ich habe eine Funktion erstellt, um das Modell von DCGAN zu überprüfen
[Python] Ich habe versucht, die folgende Beziehung von Twitter zu visualisieren
[TF] Ich habe versucht, das Lernergebnis mit Tensorboard zu visualisieren
[Maschinelles Lernen] Ich habe versucht, die Theorie von Adaboost zusammenzufassen
[Python] Ich habe versucht, Daten mit der API von Wikipedia zu sammeln
Ich habe versucht, das Musikgenre anhand des Songtitels im Recurrent Neural Network vorherzusagen
Ich habe versucht, das lokale Minimum der Goldstein-Preis-Funktion zu bekämpfen
Ich habe versucht, die Sündenfunktion mit Chainer zu approximieren (Re-Challenge)