Wenn Sie den Übergang der Anzahl der mit der neuen Coronavirus-Infektion (COVID-19) infizierten Personen auf Karte der neuen mit Coronavirus infizierten Personen nach Präfektur usw. überprüfen Ab dem 7. März 2020 gibt es eine beträchtliche Anzahl von Menschen vor Ort, darunter 98 in Hokkaido und 21 in Sagamihara City, 73 in Tokio, 41 in Osaka und 8 in Kyoto. Es ist der Eindruck, dass es in städtischen Gebieten relativ wenige gibt, in denen viel Verkehr herrschen sollte. Die Zahl der Infizierten ist in städtischen Gebieten überraschend gering, obwohl Hunderttausende oder Millionen Menschen jeden Tag zur Arbeit pendeln, zur Schule gehen oder Sightseeing machen und in dicht besiedelten Gebieten in Kontakt miteinander arbeiten. Es ist sehr seltsam, nicht wahr? Daher habe ich in diesem Artikel eine Hypothese aufgestellt und getestet, ob der Grund mit einem mathematischen Modell erklärt werden kann. Die grundlegenden Werkzeuge finden Sie unter Artikel, der neulich veröffentlicht wurde.
Wie ich in Vorheriger Artikel geschrieben habe, werde ich die grundlegenden Begriffe überprüfen.
Verwenden Sie außerdem die folgenden Parameter.
Die in diesem Artikel vorgeschlagene Hypothese ist, kurz gesagt, der Reinigungseffekt von Bedtown. Bitte sehen Sie zunächst die folgende Abbildung. Definieren Sie zunächst die Wörter.
Wie in der Abbildung gezeigt, pendeln S1-Personen in den Vororten zur Arbeit und zur Schule, und S2-Personen im Stadtgebiet schließen sich derselben Schule oder demselben Arbeitsplatz an. Dort wird es von der infizierten Person I übertragen und wird zu E1 bzw. E2. Übergang von E1 und E2 zu I1 bzw. I2 und schließlich zu R1 und R2. Von den in den Vororten lebenden I1 pendeln jedoch nur diejenigen mit einem bestimmten Prozentsatz r $ (0 \ leq r \ leq 1) $ wieder zur Arbeit oder zur Schule im Stadtgebiet. Das verbleibende Verhältnis 1-r Personen darf nicht in städtische Gebiete ziehen, indem sie zu Hause warten oder ins Krankenhaus eingeliefert werden. Aus diesem Fluss habe ich die folgende Hypothese gemacht.
Die obige Hypothese wird durch das SEIR-Modell modifiziert und als Formel ausgedrückt. Schauen wir uns das an.
\frac{dS_1}{dt}
= - \frac{R_0}{ip} (I_2 + r I_1) \frac{S_1}{S_1 + S_2} , S_1 \geq 0
\\
\frac{dS_2}{dt}
= - \frac{R_0}{ip} (I_2 + r I_1) \frac{S_2}{S_1 + S_2}, S_2 \geq 0
\\
\frac{dE_1}{dt}
= -\frac{dS_1}{dt} - \frac{1}{lp} E_1 \\
\frac{dE_2}{dt}
= -\frac{dS_2}{dt} - \frac{1}{lp} E_2 \\
\frac{dI_1}{dt}
= \frac{1}{lp}E_1 - \frac{1}{ip} I_1 \\
\frac{dI_2}{dt}
= \frac{1}{lp}E_2 - \frac{1}{ip} I_2 \\
\frac{dR_1}{dt}
= \frac{1}{ip} I_1 \\
\frac{dR_2}{dt}
= \frac{1}{ip} I_2
In den ersten beiden Formeln wird die von der infizierten Person produzierte sekundär infizierte Person (I2 + rI1) nach S1 und S2 aufgeteilt. Andere Formeln sind die gleichen wie beim SEIR-Modell.
Berechnen wir die obige Hypothese in Python. Importieren Sie die Bibliothek.
import numpy as np
import matplotlib.pyplot as plt
Definieren Sie eine Funktion, die R0 berechnet.
def COVID19R0(er):
if np.random.rand() < er:
# good environment
if np.random.rand() < 0.8:
R0 = 0
else:
R0 = np.random.randint(1,4)*1.0
else:
# bad environment
R0 = np.random.randint(0,12)*1.0
return R0
ODE definieren.
def seir_eq6(v,t, keys):
er = keys['er']
lp = keys['lp']
ip = keys['ip']
r = keys['r']
#
R0 = COVID19R0(er)
#
s1 = v[0]; s2 = v[1]
e1 = v[2]; e2 = v[3]
i1 = v[4]; i2 = v[5]
r1 = v[6]; r2 = v[7]
#
ds1 = - R0/ip * (i2 + r * i1) * (s1/(s1 + s2)) if s1 >= 0 else 0 # note: s1 >= 0
ds2 = - R0/ip * (i2 + r * i1) * (s2/(s1 + s2)) if s2 >= 0 else 0 # note: s2 >= 0
de1 = -ds1 - (1/lp) * e1
de2 = -ds2 - (1/lp) * e2
di1 = (1/lp)*e1 - (1/ip)*i1
di2 = (1/lp)*e2 - (1/ip)*i2
dr1 = (1/ip)*i1
dr2 = (1/ip)*i2
return [ds1, ds2, de1, de2, di1, di2, dr1, dr2]
Definieren Sie eine Funktion zum Lösen von ODE.
def my_odeint(deq, ini_state, tseq, keys):
sim = None
v = np.array(ini_state).astype(np.float64)
dt = (tseq[1] - tseq[0])*1.0
for t in tseq:
dv = deq(v,t, keys)
v = v + np.array(dv) * dt
if sim is None:
sim = v
else:
sim = np.vstack((sim, v))
return sim
Zum Schluss der Code für Simulation und Anzeige.
ini_state=[430, 999, 0, 0, 0, 1, 0, 0]
t_max=180
dt=0.01
t=np.arange(0,t_max,dt)
#
keys = {'er':0.5, 'lp':5.5, 'ip':8, 'r':0.01 }
sim = my_odeint(seir_eq6, ini_state, t, keys)
#
plt.rcParams["font.size"] = 12
fig, ax = plt.subplots(figsize=(10,5))
ax.plot(t,sim[:,[4,5]]) # extract Infected1, Infected2
ax.set_xticks(np.linspace(0,t_max,19))
yw = 100; yn = int(500/yw)+1
ax.set_yticks(np.linspace(0,yw*(yn-1), yn))
ax.grid(which='both')
ax.legend(['Infected1(Outside)','Infected2(in City)'])
ax.set_xlabel('date')
plt.show()
Berechnen wir einige Muster, indem wir die S1- und S2-Teile von init_state ändern. Das Verhältnis r wird mit 0,01 angenommen. Darüber hinaus sind andere Parameter dieselben wie im vorherigen Artikel (https://qiita.com/oki_mebarun/items/60592c703dd4e8d1ff72).
Wir gehen von dem Staat aus, in dem 1000 Menschen im Stadtgebiet leben und am 0. Tag eine infizierte Person (S2 = 999, I2 = 1). 1000 Personen sind ein vorläufiger Wert für eine einfache Berechnung.
Die Zahl der infizierten I2 in städtischen Gebieten erreichte am 62. Tag einen Höchststand von etwa 320.
Ich habe mit S1 = 500 angefangen. Die Zahl der infizierten I2 in städtischen Gebieten erreichte am 102. Tag einen Höchststand von etwa 260. Mit anderen Worten, der Peak ist um ungefähr 40 Tage verzögert, und die Anzahl der Peak-Infizierten ist um ungefähr 19% verringert. Übrigens laut Tokyo Metropolitan Press Material die Volkszählung 2015 Als Ergebnis von
Daher beträgt das Verhältnis von S1 und S2 als Richtwert 430: 1000.
Es begann bei S1 = 800. Die Zahl der Infizierten I2 in städtischen Gebieten erreichte am 142. Tag einen Höchststand von etwa 210. Mit anderen Worten, der Peak ist um ungefähr 80 Tage verzögert, und die Anzahl der Peak-Infizierten ist um ungefähr 34% verringert. Es scheint eine Menge von 80% zu geben, aber laut dieser Seite, "Im Jahr 2018 Die Zahl der ausländischen Touristen, die Tokio besuchen, betrug ungefähr 14,24 Millionen, und die Zahl der japanischen Touristen betrug ungefähr 536,5 Millionen. “Nach einfacher Berechnung werden also täglich 1,5 Millionen Menschen einströmen. Ich werde. Überlegung Aus den obigen Ausführungen können die folgenden Trends aus der Simulation in Bezug auf die maximale Infektionsschwankung aufgrund der in den Vororten lebenden infizierten Person (zu Hause warten / in den Vororten ins Krankenhaus eingeliefert) abgeleitet werden, während die Bevölkerung von der Vorstadtbettstadt in das Stadtgebiet fließt. + Wenn der Zustrom aus den Vororten 50% der städtischen Bevölkerung beträgt, verzögert sich der Höchststand um etwa 40 Tage und die Höchstzahl der Infizierten um etwa 19%.
Daher scheint der ** Reinigungseffekt von Bedtown ** angemessen zu sein.
Ich habe auf die folgende Seite verwiesen Karte der mit dem neuen Koronavirus infizierten Personen nach Präfektur Überblick über die Tagesbevölkerung in Tokio (Bevölkerung nach Arbeitsort / Schule) Umfrage zur Anzahl der Touristen, die Tokio im Jahr 2018 besuchen SEIR-Modell Beginn des mathematischen Modells für Infektionskrankheiten: Überblick über das SEIR-Modell von Python und Einführung in die Parameterschätzung Überprüfen Sie die Auswirkung des Urlaubs als Gegenmaßnahme gegen das neue Koronavirus mit dem SEIR-Modell
Recommended Posts