コロナで緊急事態宣言が出た昨今、皆様いかがお過ごしだろうか?
累計感染者数の推移をグラフ化すると指数関数的になると聞いて、今後の累計感染者数を予測してみた。
指数を算出するのに厚生労働省の定例報告の数値をベースにすると、
2020/4/8発表の4/7時点累計感染者数:4168
2020/4/9発表の4/8時点累計感染者数:4667
※参考:
新型コロナウイルスに関連した患者等の発生について(4月8日公表分) https://www.mhlw.go.jp/stf/newpage_10785.html
新型コロナウイルスに関連した患者等の発生について(4月7日公表分) https://www.mhlw.go.jp/stf/newpage_10724.html
「aをe乗するとbになる」と言う関係になる「e」が「指数」となるのだが、javascriptで算出するとこんな感じでできる。
const e= Math.log(b)/Math.log(a);
これを利用して、「4/7の国内累計感染者数をe乗すると4/8の国内累計感染者数になる」という「e」を基準となる指数として「days」日後までの累計感染者数を予測する関数がこちら。
const predict = (days,a=4168,b=4667,f=Math.log,e=f(b)/f(a))=>[...Array(days)].map(_=>~~(a=a**e));
console.log(predict(30)); // 30日後までの国内累計感染者数を計算してみる。
// [ 4667, 5233, 5878, // 4/9 - 4/10の予測値
// 6613, 7451, 8409, 9506, 10764, 12208, 13871, 15787, 17999, 20558, // 4/11-4/20の予測値
// 23524, 26966, 30969, 35633, 41078, 47446, 54908, 63671, 73980, 86134, //4/21 - 4/30の予測値
// 100491, 117487, 137648, 161617, 190173, 224269, 265070 ] // 5/1 - 5/7の予測値
緊急事態宣言が終わる予定の5/6時点でこれらの数字より感染者数が大幅に減っていたら、事態は収束に向かっていると言えるような気がする今日この頃、みんながんばろー。