【SIRモデル解析】日本各地の感染数ピークアウト♬


生データを探していたが、やっと厚労省のページを見つけたので、早速解析してみました。
今回も計算はSIRモデルを前提にそれを頼りに素人が計算・解釈しています。
ご判断は自己責任でお願いします。
データはpdfで提供されているので読み取らないといけないので少し苦労しました。昨日の資料を参考に上げます。ここからリンクしている参考②のpdfを利用しました。
【参考】
新型コロナウイルス感染症の現在の状況について(令和2年4月19日版)@厚労省
国内事例における都道府県別の患者報告数(2020年4月19日掲載分)

やったこと

・データ処理
・コード解説
・日本、東京の状況
・その他気になる地域の状況

・データ処理

手順は以下のとおり
・上記のpdfから、メモ帳にコピペ
・フォーマットを" "区切りから、","に変更
・拡張子をtxtから、csvに変更
・都市の昇順に並び替えて抜け漏れチャック、この時日によって県名が入る場合と入らない場合があるのでそろえる。
・成形して1データ(1日分)を作成終わり
・上記の日々データを、以下のプログラムで一括読込して3つのcsvに出力
 3つとは、confirmed, recovered, deathsのファイルで、構成は縦に都市名、横軸が日付としました
・作成した3つのファイルを以下の置きました。
COVID-19_Japan/data/

・コード解説

1日ずつ読み込んで、3つのファイルに追加して出力するプログラムは以下に置きました。
COVID-19_Japan/test_pd.py
以下では1ファイル出力分を解説します。
ほぼ、pandasの応用問題みたいなプログラムです。

import pandas as pd

test0 = pd.read_csv('COVID-19/csse_covid_19_data/japan/test_confirmed.csv') #,encoding="cp932")
day_list={326,327,328,329,331,401,402,403,404,405,406,407,408,409,410,411,412,413,414,415,416,417,418}

最初に大元のファイルtest0を読み込んでこのファイルに追記していきます。
読込のときencoding="cp932"をつけるかどうかは、最初は必要ですが一度ファイルができると必要ない(エラーになる)ようです。
ここで、day_listが読み込むファイルを示していて、以下で401.csvなどを読込ます。

for day in day_list:
    #original data input
    data = pd.read_csv('COVID-19/csse_covid_19_data/japan/{}.csv'.format(day),encoding="cp932")
    data.to_csv('COVID-19/csse_covid_19_data/japan/tokyo_confirmed.csv',  columns=['Region','cases'], index=False)

このコードは、一つずつファイルを読み込んで当該columns=['Region', 'cases']のみをtokyo_confirmed.csvへ格納します。

    test0_ = pd.read_csv('COVID-19/csse_covid_19_data/japan/tokyo_confirmed.csv')

次にデータ名を変更してtest0_に読み込みます。これでdataからtest0_に当該データのみ読込ました。
※こんな面倒なことしなくても出来そうですが、...
以下で、大元のファイルtest0に新たな"401"などのcolumnを追加してデータtest0_['cases']を書込みます。
これを最後にtest_confirmed.csvに書き出して終了します。
なお、この過程をcases, recovered, deathsに対して実施したのがリンク先のコードです。

    #列の追加
    s=str(day)

    test0['{}'.format(s)] = test0_['cases']

    test0.to_csv('COVID-19/csse_covid_19_data/japan/test_confirmed.csv',index=False)

・日本、東京の状況

今回解析アプリもリンクのように少し変更しています。
すなわちバーグラフは日々の新規感染者を表示するようにしました。
COVID-19_Japan/fitting_japan.py

・日本の状況

これは世界の状況で見たのと同じですが、今回も見てみます。
やはり、あと2週間で2万位になりそうです。

感染数ピークはあと1週間位で来そうですが、感染率は土日毎に下がっており、このまま0になるかは予断を許さない状況です。

そのことは以下のグラフを見れば、青プロットが所謂実効再生産数で、これが10辺りで一向に下がってきません。本来はこの値が1になって終息に向かいます。
日本はなぜか治癒数が上がってきていません。これが原因で$\gamma$が下がってきて上記の感染率が下がったように見えているようです。
やはり、今後治癒数が増えて来ないと終息とは言えないと思います。
また、そうでないと無限に病床があるわけではないのでどこかで医療崩壊に繋がりかねません。そういう意味では、上図のI/(R+D)が高どまりしていて危険です。

・東京の状況

本邦初の絵だと思います。
東京の傾向はほぼ全国の傾向と同様です。

やはり、全国と同様、すぐにピークに達しそうですが、原因が$\gamma$にあるので、0までは行けないでしょう。

東京は全国より酷くて実効再生産数100近傍です。なぜ、治癒数(約5%)が全然増えないのか不思議です。治癒がなければ確実に医療崩壊してしまいます。感染数は少し飽和傾向ではありますが上記のグラフを見ると1万人が二週間後に迫っているようにも見えます。
※たぶん感染数は現在の人出の減少傾向を見るとそんなことはないと思いますが治癒数は別の話です
そういう意味では、上図のI/(R+D)が上昇していて危険です。
そして日々の新規感染数(棒グラフ)を見ると、ほんとに横ばいであることが分かります。(フィッティング線はわずかに増加)

・その他気になる地域の状況

・大阪

大阪は感染者が1000人を超えてまだ増加しています。そして2週間後に2000人位になりそうです。

しかし、感染数ピークが1週間位で来そうなので、飽和してくれるかもしれないという瀬戸際です。

東京と異なり治癒数が少し増加に転じており、I/(R+D)も減少傾向になりそうです。しかし、実効再生産数はまだまだ約7はありそうです。ということで予断を許さない状況と言えます。

・神奈川

増加率は減少しました。しかし、1000人は目前です。しかし、治癒数も増加しそうです。I/(R+D)も減少しそうです。

ピーク来そうですが予断を許さない状況です。

実効再生産数がまだまだ10を超えており、感染率を下げているのは$\gamma$が下がっているからで、終息できるかどうかは予断を許さない状況です。

・千葉

だらだらしていて、感染ピークは見えていない。1週間で1000人位になり、非常に危険な状況なようだ。治癒数が増加の気配があり、本物になれば改善しそうである。


・埼玉

増加率は小さくなったが、千葉より傾きが大きく1週間で1000人に達しそうである。日々の新規感染数の増加傾向もあるので予断を許さない状況です。


・沖縄

2週間前に感染数が急増しており、傾きが大きいので危険な状況です。


・北海道

北海道も2週間前に感染数が急増しているように見えます。
当然まだまだピークにはなりません。沖縄同様注視していく必要があります。


まとめ

・日本は3月下旬に急に第二段階に入って3週間ほど経過した段階であり、まだまだ終息と言える状況ではない
・東京は少しだけ感染数ピークが見えそうな状況がある。しかし、治癒数が極端に少なくこのままでは医療崩壊が発生しそうで心配な状況である
・北海道と沖縄は今感染が拡大期に差し掛かったようであり、予断を許せない状況
・その他の地域もまだまだ感染数ピークは見えていない

・やはり、微分方程式を再度解いて全体の感染伝播の様子を見たいと思う