ウイルス感染者数を数学的に考える

新型コロナ,SARS,エボラ出血熱など,人類にとって大きな脅威となる感染症のニュースを度々耳にする。

この記事ではこうした感染症の「感染者数」を数学的に考え,ニュースで聞いた話を検証してみる。


数学的に考える上で欠かせないのが「モデル化」。

要するに,世の中の出来事の内,計算に関係する最も重要なところだけを切り取る作業が必要だ。

従って,計算に与える影響が少ないと思われるものは計算には含めない。

それと「仮説」。

確証は無いもののおそらくこうだろうという考えもモデル化のために使っていく。従って,出てくる結果に筆者は何の責任も負えないことをお断りしておく。


モデル化

感染を次のようにモデル化する。

  • 感染者数を\(y\)とする。
  • 経過日数を\(k\)とする。
  • 世界の総人口を\(N\)とする。
  • 感染経路は人から人のみ。
  • 感染者に一度でもなった人はその後ずーっと感染者。
  • 感染者は1日平均\(a\)人と接触し,接触した相手が未感染者の場合は\(e\)(\(0\leq e\leq 1\))の確率で感染する。
  • 初日,感染者数は1とする。

このとき,感染者数は次の漸化式で表せる。

$$y_{k+1}=\left(1+ae\right)y_{k}-\frac{ae}{N}y^{2}_{k},\\y_{0}=1$$

この式を元に,日数の経過に伴う感染者数の増加の様子をグラフで表現したものがこれ。

グラフから分かること:

  • 感染者数はねずみ算式(指数関数的)に増加する。
  • 未感染の人が少なくなってくると,増加のペースも急激に衰えてくる。
  • 人が1日に接触する人数を1人減らすと,感染者数の増加をかなり抑制できるが,何も策を講じなければいずれ急激に増加する。
  • 感染を予防すると,感染者数の増加をかなり抑制できるが,何も策を講じなければいずれ急激に増加する。

つまり,パンデミックの被害を最小限に抑えるためには次のことが大事になる。

  • なるべく人と接触しない,させない。
  • 手洗い,うがい,マスクなどの予防策を徹底する。
  • 予防策で感染者数増加を抑えている間に専門家がワクチンをちゃっちゃと開発する。

ニュースについて思う

ところで,最近は新型コロナウイルスについてニュースで時折こんなことを聞く。

中国本土の外側では感染者数が上手く抑えられている。中国政府の対策が効果をあげているのだ。

本当か?

何をもって「抑えられている」と言っているのかは分からないが,感染者数の実際の推移から調べることはできる。

米国のジョンズ・ホプキンズ大学が公開しているサイトに,これまでの感染者数などの推移データが載っている。

https://gisanddata.maps.arcgis.com/apps/opsdashboard/index.html#/bda7594740fd40299423467b48e9ecf6

中国本土のデータは中国政府が公開したものなのでそもそも信用ならないという問題もあるが,これを元に中国本土とそれ以外で感染者数の増加率を比較して「抑えられている」のかを検証できる。

ひとまず,感染者数データをグラフにおこすとこうなる。サイトに載っているデータまんま。

先ほどのシミュレーションの通りだとすると感染者数はねずみ算式,つまり「指数関数的」に増加する性質があるので,増加率を見るためにグラフの縦軸を対数スケールに変換してみる。

グラフの傾きをそのまま増加率と見なすことができる。

お分かりになるだろうか。傾きにほとんど差はない。

つまり,中国本土でもそれ以外の国々でも,ほぼ同じ増加率で感染者が増加しているのだ。

「抑えられている」とはとても言えない。

1月20日時点の中国本土の感染者数は278人。一方,17日が経過した2月6日時点で中国本土以外の感染者数はこれとほぼ同じ265人に達しているので,

中国本土の感染者数 = 17日後の中国本土以外の感染者数の合計

という予測が立つ。

ただこれはあくまで「誰も何も対策しなかった場合」の話なので,例えばどこかの国で出入国条件を厳しくしたり,ワクチンが開発されたりしたら,当然状況は変わるはずだ。

コメントする