みやぴら

みやぴら

大学院で非線形科学やってます。徒然。

感染症の(簡単な)数理モデルで遊ぶ奴

 

今日は、簡単な感染症モデルで遊んでみたいと思います。

 

まず、最も簡単なものとして「治療法がわからず、感染力も一定」である感染症を考えてみます。

感染者数をn、感染力(一人の感染者が単位時間に感染を広める割合)をa (> 0)とすると、感染者数の時間変化は、

 

\frac{dn}{dt}=an

 

と表されます。治療法がわからないので、罹患した人は回復しません(つまり、nは減少しません)。

これは簡単に解けて、解は

n(t)=n(0)e^{at}

 

となります。n(0)は時間t=0での感染者数、つまりnの初期条件です。

この関数は、a > 0よりt→\inftyn→\inftyとなってしまいます(つまり全人口が感染する)。

これを、図で理解すると以下のようになります。

 

 

f:id:miya_pirafu03:20201013140514p:plain

 いま、nは感染者数を表しているので、0以上の整数とします(おい、nは整数値なのに微分方程式で表していいのかよっていう批判はごもっともですがお預け)。

 

n(0)=0では、\frac{dn}{dt}=0となるので、nの値は0から時間変化しません。つまり、初めに感染者がいなければ永遠に感染者が発生しないということです。実際にはそんなことはなく、新しい感染症は発生します。例えば、今までヒトに感染しなかったウイルスが突然変異してヒトにも感染するようになった場合など。しかし、今回の数理モデルにはウイルスの突然変異の効果は明示的に取り入れていないので、このような結果になるのです(この場合、ウイルスの突然変異の効果は nの揺らぎとして与えるなどの方法があると思います)。

 

n(0) \neq 0のとき、\frac{dn}{dt} > 0であるから、nは増加し続けます(図中の赤矢印のように)。

つまり、図中の緑丸(n=0)は不安定固定点で、少しでも右にずれたら無限大まで大きくなってしまいます。これは、1人でも感染者が存在すれば、時間経過によって全人口が感染する現象を表しています。

 

 

 

 

これは理解は簡単なモデルですが、やや非現実的なのでもう少し改良を検討してみます。

改良点としては、

①感染した人は、一定の割合で回復する。

②人々の行動改善やワクチン開発により、感染力が低下する。

の2点を考慮したいと思います。

 

まず、①の改良については、回復率b > 0を定義すればいいでしょう。

②の改良については、非常に単純化して「感染者数が増えるほど感染力が低下する」と仮定して、今まで用いていた感染力aを、a-nに置き換えることにします。

 

このように考えると、感染者数の時間変化は、

 

\frac{dn}{dt} =(a-n)n - bn
        =-n^2+(a-b)n

 

と表されます(ロジスティック方程式)。

固定点(\frac{dn}{dt}=0となる点)は、n=0 ,n=a-bです。

これは、a-bの符号によってダイナミクスが異なります。

 

 

a-b > 0 のとき

 

f:id:miya_pirafu03:20201013143532p:plain

図のように、n=a-bが安定固定点(固定点から左右どちらかにわずかにずれても、また固定点に帰ってくる)になっています。すなわち、a-b > 0(感染力の方が回復力より大きい場合)では、感染者数はn=a-bという値に収束することになります(発散しない!)。

 

 

a-b < 0 のとき

f:id:miya_pirafu03:20201013144627p:plain

 

図のように、n=0が安定固定点になっています。 n=a-bの点は、不安定固定点になっていますが、今回はn > 0の範囲を考えているので気にしません。すなわち、a-b < 0(感染力の方が回復力より小さい場合)では、感染者数はn=0という値に収束することになります(発散しないし、感染もほとんど広がらない)。

(このような安定性の分岐を、トランスクリティカル分岐といいます。)

 

 

 

以上見てきたように、2つ目のモデルはそれなりに現実に即したモデルにも見えますが、実際はもっと考えるべき要素があると思います(人間社会の構造、クラスター、etc...)。

この記事のことは、あくまでもお遊びとして流していただけたらと思います。 

 

 詳しい方、感染症のモデルについて教えてください。