日本でも新型コロナウイルス COVID19 が広がってきました。特に東京では明らかに指数関数的に増えてきており、ニューヨークのニュースなどを見ていると、もはや他人事では無く状況がかなり緊迫してきていると思うのですが、いまだに呑気に外を出歩いている人も多く見かけます。実際、どれぐらいヤバい状況なのか、Excel で計算してみることにしました。
ちなみに、専門家が数値モデルを使って試算している記事 などは見かけるのですが、肝心のパラメータや具体的な予測値(4月の何日にどれぐらいの規模の感染者が予想されるのか)などがイマイチ分からなかったので、自分で試してみたというわけです。
1. 東京都の新型コロナウイルス感染者数のデータをダウンロード
東京都新型コロナウイルス陽性患者詳細データが ここから ダウンロードできます。
2. ピボットテーブルを使って、日ごとの感染者数を集計
Excel でピボットテーブルを使って、日ごとの感染者数を集計
3. 指数関数モデルを適当に作成
感染者の拡大モデルは、指数関数を使って表すことができると思われます。
キーとなるのはパラメータ a で、日々どれだけ早く広がっていくのかを表します。
入力変数 t は経過日数で、日が経つにつれ関数の出力値が指数関数的に増えていきます。
ただ、どの日付を「初日」(t=1) とするのが正解かは分かりませんので、とりあえず、以下のようにしてみました。
- 3/20 を初日 (t=1) としてみました。理由は、3/20 日以前の患者数は比較的少なく、「感染経路不明の患者が指数関数的に増えている」というモデルとはフィットしないと思ったからです。
- その任意性を消すために、パラメータ b を導入して、t をシフトできるようにしました。それにより、「初日」はその前後どの日でもモデル化できることになります。
このようにモデルを仮定し、実際の感染患者数にフィットするようなパラメータ a, b が求まれば、将来の感染者数の予測ができることになります。
4. Excel のソルバー機能で、誤差が最小になるようにパラメータを解く
自分はあまり数学には詳しくないので、基本にのっとり、単純に二乗誤差の合計を求めてみました。
その二乗誤差の合計が最小になるように、Excel ソルバー機能を使ってみました。
パラメータの初期値やソルバーの種類によって多少結果は変わるかもしれませんが、基本的に
- a = 1.15
- b = -18
ぐらいで落ち着くようでした。
5. 拡大係数 a = 1.15 の意味
指数関数 a^(t-b) で a = 1.15 ということは、つまり、東京都での新規の感染患者数は、日々約 1.15 倍ずつ増えているということになります。この倍率は、きっとイタリアやアメリカに比べてかなり小さめの値で、そのおかげで日本ではまだオーバーシュートという状況まではいたっていないのでしょう。おそらく、突然の学校休校から始まった自粛ムードや、マスクや手洗いなどの感染予防対策がそれなりに効果があったのだと思われます。
とはいえ、いくら a が小さくても指数関数は指数関数です。時間が経つにつれいずれは爆発的に増えていきます。
具体的には、5日で2倍、2週間ちょっとで約10倍になるペースです。ということは・・・このままの現状維持(緩やかな自粛モード)が続くだけでは、4月20日前後で、一日あたりの新規感染者数が1000人を突破する可能性が十分にありえることになります。
4月20日(下記グラフの横軸 t=32)あたりで一日あたりの新規感染者数が1000人を超えることが予想されます。
そしてゴールデンウィークの頃には・・・怖すぎて数字を書けません。(5日ごとに2倍ペースですからね・・・)。自分は数学の専門家でも無いですし、Excel のソルバーの使い方も今日初めて知ったばかりなので、この計算が間違っており、杞憂に終わればいいのですが・・・。
自分たちができること
感染拡大を抑えるには、a の値を小さくするが大事なわけです。
特に a を 1.0 以下に抑えることができれば、指数関数はいずれは収束して消えてしまいます。
つまり、それぞれが無駄な外出を控え、人との接触を減らすのが重要です。満員電車なんてもってのほか。そのためには、政府が強力な外出制限などを早急に打ち出すべきだと考えます。
今のまま状況が変わらないと(つまり a の値が小さくならないと)、状況は改善せず、むしろ悪化し続けて超長期戦になることが予想されます。日本ではまだ医療崩壊に至っておらず、感染者の隔離が今のところ比較的うまくいっているから現状のスローペースで済んでいるとも考えられるのです。今後感染者の自宅療養などが始まると、家族への感染可能性なども増え、感染スピードがさらに拡大していく(係数 a が大きくなっていく)ことも考えられます。
このままズルズルと超長期戦になってしまうと、子ども達は学習機会が奪われ、真面目に営業を自粛している人たちやお店ほど大ダメージを受けてしまいます。それよりは、ロックダウンといった強硬手段を執ったとしてでも、中国のように1~2ヶ月といった短期決戦で収束させ、その間の経済的損失は国がある程度サポートし、早く普段の生活に戻せるようにした方がトータルのダメージは少なくて済むのでは無いでしょうか?