2020/05/13

COVID-19感染者数へのロジスティック関数の最適化

COVID-19感染者数へのロジスティック関数の最適化

2020年5月12日

このような解析では門外漢ですが,徒然なるがままに,日本国内の感染者数のデータにロジスティック関数を最適化してみました。

図のように,日々の感染者数は曜日,休日などの影響を反映してかなりばらついています。それでも,累計の感染者数のトレンドを関数はとてもよく反映しています。

ロジスティック関数はわずか3つの値で表されます。図から,過去の増加数のピークと,今後の感染者数の最大数と増加数を読み取ることができます。ロジスティック関数の近似の良好さと,最大値は何を意味しているかを考えると,今後の感染への対策へのヒントを与えてくれます。

感染はローカルな小さなクラスターで発生し,クラスター間の相関が小さく,各クラスターではロジスティック方程式がはぼ成り立つようです(「感染者数の時系列」のページをご覧ください。地域ごとに感染者数と時期がかなり違っています)。

より大きな集団(たとえば全国)としては,これらクラスターの和となっているのでしょう(環境収容力が異なっていても,内的自然増加率がほぼ同じならば,ロジスティック関数の和の関数をロジスティック関数で表されそうです)。1つの感染の集団が大きいならば,環境収容力も大きいことになり,感染も爆発的に大きくなるはずです。しかし,最適化した環境収容力は小さいものです。

ここに挙げたグラフは,感染者数が世界的には少ないという日本の状況と対策の有効性を表していると思います。
Data Source: 朝日新聞に掲載されている国内の感染者数

ロジスティック関数は,
   N = K/{1+exp[-r(t-T)]}
で表されます(Wikipediaの日本語と英語のサイトを参考にしました)。

N はある時刻 t での個体数。
K は環境収容力とよばれ,ここでは最大となる感染個体数を表します。
r は内的自然増加率とよばれ,1個体がとりうる最大の増加率を示します。 
T は変曲点(N K の半分となる,または増加数が最大となる点)の時刻です。

ロジスティック関数は,関数の微分の形であるロジスティック方程式
   dN/d = r N (1-N/K)
の微分方程式の解です。ここでは,時刻を日の単位としているので,ロジスティック方程式の値は各時刻(日)における増加数を表しています。

私の見積もりでは,累計の感染者数のデータに N をよく合致させるため,残差の2乗が最小となるように KrT の3つの値を最適化しました。

ロジスティック関数の最大値は漸近的に環境収容力 K に等しくなります。また,増加数が峠となった変曲点の時刻は T です。

ロジスティック関数は変曲点に関して奇関数,ロジスティック方程式は偶関数です。したがって,将来の値は,変曲点を挟んで反対側の時刻を遡ると,知ることができます。国内の感染者数の変曲点の時刻は4月14日なので,5月12日とその先は,3月16日とその前の値を見れば知ることができます。なお,ここでの内的自然増加率は0.123です。


東京の感染者についても掲載します。


日本国内のデータよりも曜日,休日などによって大きくばらついています。それでもロジスティック関数はよい近似となっています。

Data Source: 東京都新型コロナウイルス感染症対策本部報の公開データ

変曲点の時刻は4月15日,内的自然増加率は0.129です。

0 件のコメント:

コメントを投稿