COVID-19 in Japan (Version 2.0)
2020年、新型コロナウイルス感染症(COVID-19)が世界中に広がりました。今でこそ情報が充実していますが、当時(2020年3月)は状況を判断するための数値を時系列で追うことが難しい状況にありました。そこで、厚労省の公表する数値をベースに、COVID-19の日次データの掲載を開始しました(2020年4月)。その後、感染の勢いを把握するために、簡易性と速報性を重視した実効再生産数の掲載を開始しました(2020年6月)。
本サイトのアクセス数ですが、2020年末から年始にかけては、それまでの30倍程度に跳ね上がりました。アクセスいただいた方にとって、少しでもお役に立っていれば幸いです。
サイトを開設してから、早いもので一年が経過しようとしています。そこで、改めてサイトの内容について、振り返ってみたいと思います。遅くなりましたが、コロナ禍が続く中、皆様の健康と安全をお祈りします。
サイト開設の経緯
厚生労働省は、「新型コロナウイルス感染症の現在の状況と厚生労働省の対応について」にて、COVID-19の国内感染状況を公表しています。このサイトでは、全国並びに都道府県別の数値が掲載されており、大変有益なサイトとなっています。一方、日次の断面情報であり、時系列でトレンドを見ることが出来ないという問題があります。そこで、とりあえず、トレンドを見られるようにしようというのが、動機でした。
データを集める & なんちゃってRPA
データの収集は、厚生労働省が公表する「新型コロナウイルス感染症の現在の状況と厚生労働省の対応について」から行いました。既に公表済みのデータは主に手作業で収集し、その後日次で公表されるデータはVBAで処理することにしました。
グラフ描画
グラフ描画は、C3.jsを採用しました。C3.jsを採用した理由は特にありませんが、別件でD3.jsを使っていたこと、動作が軽い(のではないか)と判断したためです。もっとも、サイトの裏側でデータベース(mySQL等)を使わなかったので、読み込みに時間がかかっています。現在は、日次で更新するcsvファイルでデータを保持しています。今後、データベースを導入するかは要検討です。
C3.js D3-based reusable chart library
実効再生産数
実効再生産数は、ざっくり表現すると「感染の勢い」になります。当該値が1未満になると、「Good!」とお考えください。算出方法の検討に当たっては、とにかく簡単に計算できて、直感的に理解できることに軸足を置きました。
毎日の計測時点で感染者1人から感染可能な何人に感染が広がるのかを示しており、当該値が1未満に維持されることが感染抑制の目安になります。
(COVID-19 in Japan (Version 2.0)抜粋)
算出方法
現在、足許の感染状況を把握するため、速報性の高い実効再生産数の算出に関して多くの方法が検討・提案されています。今回、簡易性(計算負荷が軽い)と速報性を考慮した方法により、実効再生産数を日次で算出することを試みました。
1. SIR感染症モデルに基づき、データセット(注1)から感染率(β)及び回復率(γ)をSUR(Seemingly Unrelated Regression)で推計。
2. 日次の感染率(βt)を収束計算で推計。 3. 感染可能人口(S)、日次の感染率(βt)、回復率(γ)から実効再生産数を算出(注2)。
注1) データセットは、都道府県別の人口、陽性者数(日次、累積)、回復者数(日次、累積)を使用した。(出所:人口推計 平成30年10月1日現在人口推計 (https://www.e-stat.go.jp/dbview?sid=0003312316), 新型コロナウイルス感染症の現在の状況と厚生労働省の対応について (厚生労働省))
注2) 日次の算出では回復率(γ)の再推計は行っていない。医療体制及び水準は、短期的に大きな変化がないという強い仮定を置いていることに留意が必要。
COVID-19 in Japan (Version 2.0)
もう少し具体的な算出方法について
「感染率(β)及び回復率(γ)」は、2020年5月時点における都道府県別の過去データから、平均的な感染率と回復率を求めています。ただ、ここで必要なのは回復率の方になります。感染率は日次で推計し直すことなりますが、回復率は固定値とするために、平均的な回復率を求めました。もっとも、都道府県で回復率に差があるのかは、「医療体制」なのか「偶然なのか」は考察していません。データに基づくと差が確認されたという程度です。今、計算し直すと数値も変わるかもしれんが、医療体制及び水準は短期的に大きく変化しないという仮定はそんなに違和感はないのではないでしょうか。
「日次の感染率(βt)」は、日々公表される厚生労働省のデータを使用して求めています。エクセルのソルバー機能を使用して、都道府県別に計算をしています。ここでもなんちゃってRPAが活躍しています。VBAのループ処理万歳ですね。もっとも、なんちゃってRPAを使わないと毎日更新することは物理的に難しいです。
やはりPCスペックは重要だ
はい。甘く見ていました。作業の生産性を上げるためにはPCスペックが重要です。重要なことなので、もう一度言いたいと思います。生産性を上げたければ、黙ってハイスペックPCを入手することです。つい最近まで、CPUにPentium Gold G5420を使用していましたが、残念ながらソルバーの計算エラーが非常に多くありました。エラーが発生するのはエクセルの仕様だと思って諦めていましたが、core i7-9700に換装したところ、処理時間半分、しかも計算エラーなし。完璧な仕事っぷりでした。参りました。
今後のプラン
正直なところ、ノープランですが、サイトの更新は続けます。毎日、株価や金利をノートにメモするのと同じ感覚です。書いて覚える、頭に数値を叩き込む。そして何かの役に立つ、きっと役に立つ、という感じです。
当サイトにご関心、ご興味がございましたら、お気軽にご連絡をいただければと思います。最後までお読みいただき、ありがとうございました。
この記事が気に入ったらサポートをしてみませんか?