[PYTHON] Tag 71 Ich habe versucht vorherzusagen, wie lange diese Selbstbeherrschung mit dem SIR-Modell anhalten wird

Ich habe das SIR-Modell berechnet.

Wie lange wird der neue Corona-Trend anhalten? Das gestrige NHK-Special "Neuer Corona-Virus-Grenzschutz- und Verteidigungsbericht von der Front zur Verhinderung der Ausbreitung von Infektionen" Ich habe es mit Bezug auf berechnet.

Was ist SIR-Modell?

Eine Gleichung zur Berechnung der Epidemie-Konvergenz von Infektionskrankheiten.

Implementieren Sie das SIR-Modell in Python

Der in Python implementierte Code befand sich auf scipython.com, also habe ich ihn verwendet.

The SIR epidemic model

SIR.py


import numpy as np
from scipy.integrate import odeint
import matplotlib.pyplot as plt

# Total population, N.
N = 1000
# Initial number of infected and recovered individuals, I0 and R0.
I0, R0 = 1, 0
# Everyone else, S0, is susceptible to infection initially.
S0 = N - I0 - R0
# Contact rate, beta, and mean recovery rate, gamma, (in 1/days).
beta, gamma = 0.2, 1./10 
# A grid of time points (in days)
t = np.linspace(0, 160, 160)

# The SIR model differential equations.
def deriv(y, t, N, beta, gamma):
    S, I, R = y
    dSdt = -beta * S * I / N
    dIdt = beta * S * I / N - gamma * I
    dRdt = gamma * I
    return dSdt, dIdt, dRdt

# Initial conditions vector
y0 = S0, I0, R0
# Integrate the SIR equations over the time grid, t.
ret = odeint(deriv, y0, t, args=(N, beta, gamma))
S, I, R = ret.T

# Plot the data on three separate curves for S(t), I(t) and R(t)
fig = plt.figure(facecolor='w')
ax = fig.add_subplot(111, axis_bgcolor='#dddddd', axisbelow=True)
ax.plot(t, S/1000, 'b', alpha=0.5, lw=2, label='Susceptible')
ax.plot(t, I/1000, 'r', alpha=0.5, lw=2, label='Infected')
ax.plot(t, R/1000, 'g', alpha=0.5, lw=2, label='Recovered with immunity')
ax.set_xlabel('Time /days')
ax.set_ylabel('Number (1000s)')
ax.set_ylim(0,1.2)
ax.yaxis.set_tick_params(length=0)
ax.xaxis.set_tick_params(length=0)
ax.grid(b=True, which='major', c='w', lw=2, ls='-')
legend = ax.legend()
legend.get_frame().set_alpha(0.5)
for spine in ('top', 'right', 'bottom', 'left'):
    ax.spines[spine].set_visible(False)
plt.show()

Im Falle einer Influenza

Schauen wir uns zunächst die Influenza an, die als Beispiel diente.

Influenza (keine Immunität)

N  =1000 #Die Bevölkerung von 1000 ist pro Schule, Firma oder Nachbarschaftsverband?
I0 =1    #Infizierte Person. Zuerst eine Person.
R0 =0    #Eine Person, die sich erholt und Immunität erlangt hat. Zuerst 0 Leute
S0 =N - I0 - R0 #Menschen, die nicht immun und anfällig für Infektionen sind. Erst ein-I0-R0 Leute
beta =0.2       #Anzahl der an einem Tag zu infizierenden Personen
gamma =1./10    #Erholungsrate
t =160          #Zeitraum(Tage) 

Eine infizierte Person infiziert täglich 0,2 Personen. Die Infektionsdauer beträgt 10 Tage. Sobald Sie sich erholt haben und Immunität erlangt haben, werden Sie nach diesem Kontakt nicht mehr infiziert. Wenn die Immunität mehr als die Hälfte beträgt, konvergiert sie.

i0.png

67 Tage von einem Träger bis zum Gipfel, 15,3%, 153 Menschen waren infiziert und konvergierten. Es ist so, wenn die Klasse wegen Influenza geschlossen ist.

Influenza (Immunität 20%)

Betrachten Sie den Fall einer Immunität durch Impfung vor der Influenza-Saison. Die erste ist, wenn eine Influenza-Epidemie auftritt, bei der 20% der Menschen Immunität erworben haben.

# Initial number of infected and recovered individuals, I0 and R0.
#I0, R0 = 1, 0
I0, R0 = 1, (N*0.2)

i2.png

Nur 20% der Menschen haben Immunität und die Epidemie wurde erheblich unterdrückt. Der Impfstoff ist unglaublich.

Influenza (Immunität 50%)

Die regelmäßige Inokulationsrate von Influenza-Impfstoffen betrug 2019 50%.

# Initial number of infected and recovered individuals, I0 and R0.
#I0, R0 = 1, 0
I0, R0 = 1, (N*0.5)

i1.png

Es wird vollständig unterdrückt. Es ist sicher, wenn dies passiert.

Für COVID-19

Betrachten Sie den Fall der neuen Corona. Unter der Annahme einer Stadt mit 10 Millionen Einwohnern wie Tokio und Wuhan wurde die Infektionsdauer auf 3 Wochen (21 Tage) festgelegt. Andere Eigenschaften sind die gleichen wie Influenza.

COVID-19 (keine Immunität)

N  =10000000 #Bevölkerung 10 Millionen(Angenommen, Tokio und Wuhan)|
I0 =1        #Infizierte Person. Zuerst eine Person.
R0 =0        #Eine Person, die sich erholt und Immunität erlangt hat. Zuerst 0 Leute
S0 =N - I0 - R0 #Menschen, die nicht immun und anfällig für Infektionen sind. Erst ein-I0-R0 Leute
beta =0.2       #Anzahl der an einem Tag zu infizierenden Personen
gamma =1./21    #Die Umkehrung der Anzahl der Tage, die für die Wiederherstellung erforderlich sind
t =160          #Zeitraum(Tage) 

c0.png

Mit nur 21 Tagen Infektion betrug die maximale Anzahl infizierter Menschen 42% oder 4,2 Millionen, und es hat sich zu einem bösartigen Virus entwickelt. Davon entwickeln sich 20% und 1% sterben ... 840.000 Menschen werden betroffen sein, 42.000 werden sterben und es wird in 228 Tagen gelöst sein.

Es ist die Hölle.

Nachdem ich diese Grafik gesehen hatte, ging sie einige Tage lang zurück.

Als ich diesen Tweet sah, dachte ich jedoch, dass es Hoffnung geben könnte.

Ergebnisse der Wirkungsumfrage ... Im Landkreis Heinsberg, wo der erste Ausbruch der neuen Korona in Deutschland stattfand, wurde eine immunologische Untersuchung an etwa 500 Personen durchgeführt, von der etwa 15% infiziert waren. Die Anzahl der Infizierten pro 100.000 Einwohner im Heinsberg-PCR-Test betrug 604,4, und die bekannte Sensitivitätsrate betrug nur 0,6%. https://twitter.com/R3000C/status/1248594913589002240

COVID-19 (Immunität 15%)

In Japan sind heute bereits 15% der Menschen infiziert. 89 Tage bis 15% der Menschen infiziert sind.

Sperren Sie am 89. Tag, um den Trend zu stoppen.

Angenommen, nach einem Monat erholen sich alle Menschen und 15% haben Immunität. Lösen Sie die Sperre. Die Mode entzündet sich wieder, aber ...

c1.png

Die Kurve der zweiten Welle wurde durch 15% Immunität gelockert.

Kurz vor dem Höhepunkt werden wir mit einer Infektionsrate von 15% abschließen. Diesmal war es der 119. Tag.

Nach einem Monat erholt sich jeder und erlangt Immunität, wobei insgesamt 30% Immunität haben.

COVID-19 (Immunität 30%)

c2.png

Die dritte Welle erreicht ihren Höhepunkt in 178 Tagen. Die Infektionsrate beträgt bis zu 20%. Es dauerte 149 Tage, um eine Infektionsrate von 15% zu erreichen.

COVID-19 (Immunität 45%)

Die vierte Welle hat einen Peak von 252 Tagen und eine Infektionsrate von bis zu 11%.

c3.png

Wenn Sie an diesen Punkt kommen, können Sie ihn mit loser Selbstbeherrschung überwinden.

Wie lange wird diese Selbstbeherrschung dauern?

15% Infektion → Lockdown → Wiederherstellung → Freisetzung in 3 Sätzen (89 Tage + 30 Tage) + (119 Tage + 30 Tage) + (149 Tage + 30 Tage) = 447 Tage

Sie müssen einen Weg finden, um 447 Tage zu überleben, aber die Anzahl der Opfer wird gering sein.

Wenn es eine Strategie ist, die Wirtschaft zu infizieren und gleichzeitig die Wirtschaft zu drehen, werden 99% der Leben nicht anders sein und es wird 228 Tage dauern. Einige Menschen sind möglicherweise nicht in der Lage, der Versuchung des Teufels zu widerstehen.

Wuhan City hob die Blockade am 7. April auf. Selbst wenn die zweite Welle kommt, sollte sie nicht so groß sein wie diesmal. Ich bin besorgt über die Immunitätserwerbsrate. Eine gründliche Behandlung kann die Epidemie erheblich reduzieren. In diesem Fall wird der erste Wiederaufbau der Welt in Wuhan City stattfinden, und von nun an wird SF sein?

Und Impfstoff. Damit wird die Situation sofort umgestürzt. Handwäsche, Gurgeln, soziale Distanz. Die Kurve wird stark unterdrückt. Dann Inspektion. Wenn die Hälfte der Bevölkerung Immunität erlangen kann, kann dies vollständig unterdrückt werden.

Es wird ein langer Kampf.

Recommended Posts

Tag 71 Ich habe versucht vorherzusagen, wie lange diese Selbstbeherrschung mit dem SIR-Modell anhalten wird
Ich habe versucht, das Verhalten des neuen Koronavirus mit dem SEIR-Modell vorherzusagen.
Ich habe versucht, die Pferde vorherzusagen, die mit LightGBM unter den Top 3 sein werden
Ich habe versucht zu simulieren, wie sich die Infektion mit Python ausbreitet
Ich habe versucht, die Infektion mit einer neuen Lungenentzündung mithilfe des SIR-Modells vorherzusagen: ☓ Wuhan ed. ○ Hubei ed.
Ich habe versucht, die Anzahl der im Inland infizierten Menschen der neuen Korona mit einem mathematischen Modell vorherzusagen
Ich habe versucht, das Modell mit der Low-Code-Bibliothek für maschinelles Lernen "PyCaret" zu visualisieren.
Ich habe versucht, nächstes Jahr mit AI vorherzusagen
Ich habe versucht, das Überleben der Titanic mit PyCaret vorherzusagen
Ich habe versucht, ein Modell mit dem Beispiel von Amazon SageMaker Autopilot zu erstellen
Ich habe versucht, die Sündenfunktion mit Chainer zu trainieren
Ich habe versucht, das Spiel in der J League vorherzusagen (Datenanalyse)
Ich habe versucht, Soma Cube mit Python zu lösen
Ich habe versucht, das Problem mit Python Vol.1 zu lösen
Ich habe untersucht, wie der Arbeitsablauf mit Excel x Python optimiert werden kann
Ich habe versucht, mit dem Seq2Seq-Modell von TensorFlow so etwas wie einen Chatbot zu erstellen
Ich habe untersucht, wie der Arbeitsablauf mit Excel x Python ④ optimiert werden kann
Ich habe versucht herauszufinden, wie der Arbeitsablauf mit Excel x Python optimiert werden kann
Ich habe untersucht, wie der Arbeitsablauf mit Excel x Python optimiert werden kann
Ich habe untersucht, wie der Arbeitsablauf mit Excel x Python optimiert werden kann
Beim 15. Offline-Echtzeitversuch habe ich versucht, das Problem des Schreibens mit Python zu lösen
Ich habe versucht, Überlebende der Titanic mit Kaggle vorherzusagen und einzureichen
Ich habe versucht, die Entropie des Bildes mit Python zu finden
Ich habe versucht, die Emotionen des gesamten Romans "Wetterkind" zu analysieren
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, das Problem von F02 zu lösen, wie man mit Python offline in Echtzeit schreibt
Ich habe versucht, die Zugverspätungsinformationen mit LINE Notify zu benachrichtigen
Verwenden Sie die Swagger-Benutzeroberfläche. Wenn Sie einen Swagger-UI-ähnlichen Stil wünschen, kopieren Sie einfach die gesamte Datei unter / dist unter https://github.com/swagger-api/swagger-ui. Danach schreiben Sie einfach hier in index.html die URL der yml-Datei um. Wenn Sie der Meinung sind, dass Sie @ApiModel oder @ApiModelProperty nicht finden können, wurden übrigens anscheinend alle Anmerkungen zur Schemadefinition in @Schema integriert. Emotionsanalyse mit Java, Swagger, OpenAPI, Micronaut Natural Language Processing! Ich habe versucht, die Bewertung anhand des Überprüfungstextes vorherzusagen
Ich habe versucht, den Immobilienpreis in Boston mit PyCaret vorherzusagen
Ich habe versucht, in einem tief erlernten Sprachmodell zu schreiben
Ich habe versucht, den Verkauf von Spielesoftware mit VARISTA anhand des Artikels von Codexa vorherzusagen
Ich habe versucht, SSD jetzt mit PyTorch zu implementieren (Modellversion)
Ich habe versucht zusammenzufassen, wie das EPEL-Repository erneut verwendet wird
Ich habe versucht herauszufinden, wie ich den Arbeitsablauf mit Excel × Python, meiner Artikelzusammenfassung ★, optimieren kann
Ich habe versucht, den Datenverkehr mit WebSocket in Echtzeit zu beschreiben
Ich habe versucht, die Anfängerausgabe des Ameisenbuchs mit Python zu lösen
Ich habe versucht, die Bewässerung des Pflanzgefäßes mit Raspberry Pi zu automatisieren
Ich habe versucht, das Bild mit OpenCV im "Skizzenstil" zu verarbeiten
Ich habe am Wochenende versucht, mit Bitcoin Systre zu beginnen
Ich ließ RNN Sin Wave lernen und versuchte vorherzusagen
Ich habe versucht, das Bild mit OpenCV im "Bleistift-Zeichenstil" zu verarbeiten
Ich habe versucht, die Größe des logischen Volumes mit LVM zu erweitern
Ich habe versucht, die Effizienz der täglichen Arbeit mit Python zu verbessern
Ich habe versucht, den Ball zu bewegen
Ich habe versucht, den Abschnitt zu schätzen.
[Python] Ich habe versucht, die Nacht der Galaxienbahn mit WordCloud zu visualisieren!
Wie man offline in Echtzeit schreibt Ich habe versucht, E11 mit Python zu lösen
Ich habe versucht, die Genauigkeit meines eigenen neuronalen Netzwerks zu verbessern
765 Ich habe versucht, die drei Berufsfamilien durch CNN zu identifizieren (mit Chainer 2.0.0).
Ich habe versucht, den Authentifizierungscode der Qiita-API mit Python abzurufen.
Ich habe versucht, die Bewegungen von Wiire-Playern automatisch mit Software zu extrahieren
Ich habe versucht, den Winkel von Sin und Cos mit Chainer zu lernen
Ich habe es mit den Top 100 PyPI-Paketen versucht.> Ich habe versucht, die auf Python installierten Pakete grafisch darzustellen
Ich habe versucht, die Negativität von Nono Morikubo zu analysieren. [Vergleiche mit Posipa]
Ich habe versucht, die Standardrolle neuer Mitarbeiter mit Python zu optimieren
Ich habe versucht, den Text des Romans "Wetterkind" mit Word Cloud zu visualisieren