新型コロナウイルスの感染者予測をシミュレーションした

動機

新型コロナウイルスの驚異に対して、世界では都市封鎖(ロックダウン)が行われ始めた。 日本ではまだそういった国による強制は行われておらず、無知な若者は知らぬうちにウイルスをバラまき続けている。

なぜか?と考えると、それは、数理的に感染拡大の危なさがわかっていないからだとおれは考えている。

東京都知事の小池百合子が「オーバーシュート」という横文字を使ってカイロ大出身アピールをした。 これは感染爆発というそうだが、我々理系の人間、とりわけプログラマの人間からするとこの「爆発」 という言葉はとても恐ろしい。それは直感的に「指数爆発」を連想させるからだ。

なので、おれはGAAラジオの中でも、指数の恐ろしさについて何度も語ってきたわけだが、 無知なアンチによる低評価攻撃や、理系的な難しいことを言われたことに対するアレルギー反応をコメントに残す人も現れたりして、 はっきりいって萎えはじめている。 しかし、ここで諦めるわけにはいかないのだ。京都大学工学部の学生には国費が4年で1000万円ほど使われているらしい。 おれは修士まで行ったのでさらに多くの投資をされたことになるのだ。栄光たる旧帝大の出身者たるもの、アンチの攻撃に負け、ここで屈してはならない。 学部時代に当時の学部長がいった言葉を思い出す。「君たちがだめだったら日本の電気電子はもう終わりなんだ。その自負を持って勉学に励むように」

そこで今回は、コロナウイルスの感染者予測をシミュレーションしてみた結果を報告する。 もし、今のままのペースで感染者が増え続けると今後全世界の感染者数はどうなるのか? そして、今全世界でロックダウンが行われ始めた理由は何なのか?

単純なモデル

今回行ったシミュレーションは極めて単純なものである。

実際に計算を行おうとすれば、致死率や隔離などさまざまな要因を考えなければならないがここではこれらは一切合切無視した。 しかし往々にしてシミュレーションというのは、単純化したモデルでもそれなりの結果をはじき出すものなのだ。

単純なモデルは以下を仮定する。

  • 一人の感染者は、全世界の非感染者に比例した率で他の非感染者を感染する
  • 感染者は14日で非感染者となり、二度と感染しない

前者は、一人の人が一日に濃厚接触する人数が決まっていて、 その中の非感染者の割合が、全世界の非感染者の割合に応じて決まるということを言っている。 もちろん実際には、おれのように一日中引きこもる人もいるし、 ひたすら濃厚接触を繰り返す人もいるのだが、全員が均一であることを仮定した。

プログラム

Pythonで書いてみた。グラフの描画にはGnuplotを使っている。

P = ???
N = 8000000000
D = 250
rem = N - 1
x = [1] * 14
for t in range(0,D):
    tot = sum(x)
    new = int(tot * P * rem)
    rem = max(rem-new,0)
    y = [0] * 14
    for i in range(0,13):
        y[i+1] = x[i]
    y[0] = new
    x = y
    cum = N-rem
    print("{} {}".format(t+1, cum))

現実の曲線とのフィッティング

中国以外の国の感染者数はわかっていて、ある程度妥当な曲線が得られているので、これにフィッティングして、 感染力に関する係数を選ぶことにする。

その曲線によると、一ヶ月前の感染者は10万人だったものの、現在では50万人になってるという具合の増加具合である。 曲線自体は序盤では指数的になることがわかっていて、関数の形自体は決まっているので、この2点だけでフィッティングを行った。

すると、

P = 0.000000000019

という恐ろしい数字になった。 思わず身震いがしたものだ。 やはり、人工ウイルスなのだろうか・・・。

https://d33wubrfki0l68.cloudfront.net/bc71663d6df2e6527782c91143b43af5b3a486e0/6eb98/images/1585285129.webp

これからどうなるか?

このままシミュレーションを続けるとどうなるか?

感染者数は爆発的に伸び、やがて非感染者の数が減少してくることから伸びが収まってくる。 これが俗に言う「集団免疫の獲得」という状況ではないかと考えられる。

https://d33wubrfki0l68.cloudfront.net/e55f1e7bd34f9aa0cc16cd8b670ccfc3fff6aed2/45099/images/1585285149.webp

我々はこのシミュレーション上でおよそ90日目にいる。その後、どうなるか?

  • 15日後: 感染者100万人
  • 30日後: 感染者1000万人
  • 50日後: 感染者1億人
  • 70日後: 感染者10億人
  • 90日後: 感染者40億人(人類の半分)

このように爆発的に伸びる。だから、今、なんとかして止めるしかないのである。 そのためにはロックダウンを、経済を犠牲にしてでもやらなければならないのだ。

実際にはもう遅いような気もしないでもない。 それに、教育レベルや経済レベルの高い国では完全なロックダウンが出来たとしても、 そうでもない国も世界にはたくさんある。結局、先進国ががんばったとしても、そこでは蔓延を防げないかもしれない。 それで結局、世界中に蔓延するかもしれない。 しかしそれでも、やらなければいけないのだ。

死亡率はどうなるか? これは言わずもがな、感染者が増えるほどに上がってくる。 なぜかというと、医療が崩壊するからだ。医療従事者にも感染が広がり、治療どころではなくなる。 当然、病院のベッドは定数しかないから速攻で一杯になり、治療を受けられないままに死ぬ人が増えてくる。

我々はどうすべきなのか?

新型コロナウイルスの驚異は、症状が出ない人が感染を拡げる点にある。 これをおれはアガサ・クリスティの名作「無実はさいなむ」にちなんで「無症状はさいなむ」と言っているが、 まさに同じことなのである。

あなたが今無症状だからといって、感染していないという保証はどこにもない。 そしてあなたがほっつき歩くことによって、あなたは他の誰かを期待値的な意味では殺しているのだ。 なにがナイトライフだふざけるな。こちとら何年も濃厚接触しとらんわ。

このことを自覚しなければいけない。


このエントリーをはてなブックマークに追加

See also