SIRモデル

はじめに

SIRはSusceptible, Infected, Recoveredの頭文字をとったもので、1回かかると免疫を獲得して2回めはかからない病気の数理モデルである。
(まだ感染していない人:感受性保持者(Susceptible)、感染者(Infected)、回復した人:免疫保持者(Recovered))
感染症の何に気をつければ良いのを理解するため、今日は、SIRモデルの挙動について調べることにする。

計算結果

まず、計算の話は後回しにして、SIR法の計算結果を示す。計算において、人口10,000人の町に感染者100人が入ったと仮定する*1。感染者は平均12日で回復し、その後は免疫を獲得して病気にはかからないものとする。感染者が感染から回復までの間に平均何人の人に感染させるか(基本再生産数) {R_0}を変化させて、感染者数の推移をみた。
以下の図において、横軸は経過日数、S,I,Rはそれぞれ、非感染者、感染者および回復者数を示す。

基本再生産数 R_0=5の場合

f:id:mokada68:20200330154302g:plain


この場合、20日ほどで感染者数が5000人に急増し、「感染爆発」が生じている。その後、回復する人が増加し、50日には
90%を超える人が免疫を獲得し、収束する事がわかる。

基本再生産数 R_0=2の場合

f:id:mokada68:20200330160722g:plain
この場合も感染者数のピークができるが、ピークは R_0=5のときよりも遅く、50日ころになる。また、ピーク時の感染者数も2000人弱とだいぶ減っている。

基本再生産数 R_0=1.5の場合

f:id:mokada68:20200330161127g:plain
さらに、感染者数のピークが遅れて現れ、ピーク時の感染者数も1000人を切っている。200日頃には回復者数6000人、非感染者数4000人に収束している。 R_0=1.5であれば、40%程度の人は感染せずにすむことになる。

基本再生産数 R_0=1.0の場合

f:id:mokada68:20200330162718g:plain

変化が緩やかになるので、1000日後まで変化を見ることにする。上3つのグラフと横軸が異なるので注意。グラフでは見にくいが、感染者数は増加することなく単調減少し、0に近づいている。回復者は約1500人、非感染者数は8500人程度に収束している。基本再生産数をおさえることで85%の人は感染せずに済むことになる。

基本再生産数 R_0=0.5の場合

f:id:mokada68:20200330163356g:plain

 R_0=0.5では、ほとんどの人は感染せずに済むことがわかる。

S-I曲線

 R_0 \leq 1では、スケールが小さくて本当に感染者のピークが分かりづらいので、横軸に非感染者数、縦軸に感染者数を取り、その変化を確認する。

f:id:mokada68:20200330171435g:plain
 S-I曲線

この図は最初の状態は s(0)=10000 i(0)=100(グラフの右はし)で、ここから、時間とともに s(t) i(t)が変化する。 s(t)は時間とともに単調に減少するので、時間とともに右から左へと状態が変化することになる。
このグラフより、 R_0 \leq 1では、 i(t)は初期状態の100を超えて増加することはなく、減少していることがわかる。

考察

これより、感染者数の増加は基本再生産数 R_0に大きく依存する。感染者数を増加させないためには、 R_0 \leq 1とする必要がある。 R_0 = 1.5でも感染者数のピークは抑えられるので、 R_0が対策の鍵であることがこのことからもわかる。

解析手法


時刻 {t}における非感染者数  {s(t)}、感染者数 {i(t)}、回復者数(免疫を獲得した人の数) {r(t)}とする。SIRモデルでは、感染者数の増加は、非感染者数 {s(t)}と感染者数 {i(t)}の積 {s(t)i(t)} に比例すると考える。感染は、非感染者と感染者の接触により生じるので、この仮定は妥当なものであると考えられる。また、感染者数は、一定の割合で回復すると仮定する。このようなモデルを微分方程式で表すと下記のように書くことができる。


 {\displaystyle \frac{ds(t)}{dt}=-A s(t)i(t)}

 {\displaystyle \frac{di(t)}{dt}=A s(t)i(t)-Bi(t)}

 {\displaystyle \frac{dr(t)}{dt}=Bi(t)}

ここで、 {A}は、感染率(初期状態 {t=0}において、一人の感染者が単位時間当たり何人感染させるか)である。また、 {B}
回復率(単位時間当たりに回復する人の割合)である。ちなみに、 {\tau=1/B}は平均治癒時間を表している。

基本再生産数(一人の感染者が回復するまでに何人の人を感染させるか)は

 {\displaystyle R_0 = As(0)\tau = \frac{As(0)}{B}}

となる。

*1:人口の1%もの感染者が一度に入ってくるというのは現実には考えにくいが、最悪値ということでこの値に設定した。