木走日記

場末の時事評論

中国モデルで日本の新型コロナウイルス感染者数を予測(訂正有り)

大変興味深い医学研究レポートが中国で報告されましたので、今回はこれを取り上げたいのです。

今後の日本の新型コロナウイルス感染者数を予測しているのです。

レポートはこちら。

CoVID-19 in Japan: What could happen in the future?
https://www.medrxiv.org/content/10.1101/2020.02.21.20026070v2.full.pdf+html

レポート自体PDFファイルで公開されています。

この論文はプレプリントであり、まだ正式な評価がされていないため、臨床診療の指針として使用すべきではないレポートであることをお断りした上でですが、この予測モデルは膨大な中国の実データを用いて、武漢や北京など中国各地(主要9都市)に適用して予測モデルの精度を高めています。

f:id:kibashiri:20200302143415p:plain
https://www.medrxiv.org/content/10.1101/2020.02.21.20026070v2.full.pdf+html

中国各地の感染者数を精度良く予測できるこのモデルを用いて、日本に適用して今後感染者数が増加することを予測しています。

この論文の興味深いところは、どのようなモデルで予測に必要なパラメータである感染率や隔離率がどのような値を用いたのか、すべて公表されていることです、上の表も9都市の感染者数を予測する上で採用した各パラメータです、これらを調整して予測値を実測値に限りなく近づけ予測モデルの精度を向上させたわけです。

モデルが採用した数式はこちら。

f:id:kibashiri:20200302145252p:plain
https://www.medrxiv.org/content/10.1101/2020.02.21.20026070v2.full.pdf+html

式の詳細などはどうでもよろしいのですが、ここで三つの式の左辺が重要です。
第一式:I(t+1)は「感染者累積数」、第二式:J(t+1)は「確認された感染者の累積数」、第三式:G(t+1)は「未確認の孤立した感染者の瞬間(累積ではない)の数」、またtは日数を意味します。

このモデルにおけるI、J、Gの関係は図のようになります。

f:id:kibashiri:20200302151801p:plain
https://www.medrxiv.org/content/10.1101/2020.02.21.20026070v2.full.pdf+html

確認も隔離もされていない感染者の式は上記式I、J、G、を用いて、I0(t):= I(t)-J(t)-G(t)で予測します。

重要なパラメータ、r:成長率、l:隔離率、f2(t):発症率、f4(t):入院率をどのような値をセットして予測するかで当然予測結果は大きく変動しますが、繰り返しますがこの論文の強みは中国9都市の実データを用いて予測精度を挙げたことです。

ではこのモデルで日本の感染者数(未確認者含む)を予測いたしましょう。

予測にはAIや機械学習で最近注目されているPython(パイソンと読みます)でプログラムしてそれを実行して結果をグラフ化してみます。

幸いこちらのサイトでPythonプログラムが公開されていますので利用させていただきましょう。

中国の最新論文の方式で日本のコロナウィルスの感染者数を予測してみた
https://qiita.com/KEN_KEN2/items/a1aae5eb4129e5fbd91f

プログラムで採用した各パラメータは次の通り。

r = 0.3 # 成長率
tl = 15 # 隔離開始日
l1 = 0.1 # 隔離開始日以前の隔離率
l2 = 0.5 # 隔離開始日以降の隔離率
j[0] = 21 # 2020/2/14
i[0] = j[0] * 10
g[0] = 0
# 発症率
t < 14:0.0〜0.2
t>=14:0.2
# 入院率
t < 14:0.0〜0.05
t>=14:0.05

結果のグラフです。

f:id:kibashiri:20200303031554p:plain
Pythonプログラム実行結果のCSVファイルより『木走日記』作成

3月2日現在の予測数値を見てみましょう。

f:id:kibashiri:20200303031613p:plain
Pythonプログラム実行結果のCSVファイルより『木走日記』作成

Jは「確認された感染者の累積数」ですが、423.5564人とあります。

NHKの速報値と比べてみると、980人とあります。

新型コロナウイルス 国内の感染確認980人(クルーズ船含む)
2020年3月2日 23時18分

各地の自治体や厚生労働省によりますと、2日はこれまでに、北海道、神奈川県、新潟県大阪府愛媛県高知県、それにクルーズ船の乗員1人の
合わせて19人の感染が新たに確認されました。

国内で感染が確認された人は、2日午後11時の時点で、
▽日本で感染した人や中国からの旅行者などが260人、
▽クルーズ船の乗客乗員が706人、
チャーター機で帰国した人が14人の合わせて980人となっています。
(後略)

https://www3.nhk.or.jp/news/html/20200302/k10012309381000.html

ただし、クルーズ船の乗客乗員が706人とありますので、980人からこれを除くと、国内感染者数274人となります。

予測モデルによれば、3月2日現在、日本における感染者累計は6719.631人と予測しています。

そして8日後の3月10日(グラフの最下行)には、確認済み感染者数が1945名、感染者累計が1万5638名と予測しています。

・・・

・・・

さて3月2日現在の「確認された感染者の累積数」ですが、モデル予測値423.5564人(≒424名)と、実測値274名の差に着目します。

この差を埋めるには、モデル予測値を下げる必要があります、「確認された感染者の累積数」を下げるには、そのひとつの方法として、現在0.05の入院率を下げれば確認する感染者数も下がります、そこで最適解をプログラムで求めて実行した結果、0.05を0.0315に、0.0185ポイント下げると、実測値274名に近い276.8988名が得られました。

この補正を行ったプログラムの実行結果、新しいグラフと3月2日現在の予測数値を見てみましょう。

f:id:kibashiri:20200303045438p:plain
f:id:kibashiri:20200303042640p:plain
Pythonプログラム実行結果のCSVファイルより『木走日記』作成

現実の実測値に合わせてモデルの予測を補正いたしました。

補正前には、8日後の3月10日(グラフの最下行)には、確認済み感染者数が1945名、感染者累計が1万5638名と予測していましたが、補正後は確認済み感染者数が1275名に減少、感染者累計が1万8043名に予測が増加していることが確認できます。(入院率が下がれば、病院で確認できる感染者数は減少し、未確認を含めた感染者累計は逆に増加することになります)

まとめます。

もとのレポートでは、日本の感染者数の予測を(A)〜(H)の8通りの予測をしています。

f:id:kibashiri:20200303061153p:plain
https://www.medrxiv.org/content/10.1101/2020.02.21.20026070v2.full.pdf+html

Figure 7の(A),(B),(E)3パターンは、日本における感染爆発を予測しています、指数関数的に増えるグラフに注目してください、
一方、他の(C)(D)(F)(G)(H)の5パターンは、対策を取って収束した場合のピークは3,000 - 20,000人程度 と収束を予測しています。

指数関数的に発散するか、1万人〜2万人前後で収束するのか、現段階で断定はできませんが、この予測モデルでも理解できるのは、現段階が今後の感染者数推移の動向に関して、時系列的に見て大きな分岐点であるだろうことです。

・・・

これはあくまで参考までにご紹介した、中国の数学者らによるモデル予測であり、上記サイトでも明確にうたわれていますが、予測結果を科学的に保証するものではありません。

ただ中国9都市の実データでモデルの精度を高めた上で、日本にモデルを適用している点が興味深かったのです。

本エントリーが読者の皆様の本件に関する考察の一助になれば幸いです。



<ここから訂正 2020.3.3>
プログラムの式に一ヶ所誤りがありました。プログラムを訂正して再予測いたしました。

f:id:kibashiri:20200303160708p:plain
f:id:kibashiri:20200303160717p:plain
Pythonプログラム実行結果のCSVファイルより『木走日記』作成

Koku Yoshinaga様
>当方でも確かめてみたのですが(VBA)、微妙に数が合いませんでした。
リンク先のコードを調べてみたのですが、Gの式の2項目を、間違って加算してないですか?

はい、間違って符号がーが+になっていました。訂正して再実行しました。
貴重なご指摘ありがとうございました。


(木走まさみず)