新型コロナウイルス感染症(COVID-19)に関する情報をまとめたWebサイトを作り、公開しました。
主に、日本の東京都の新型コロナウイルス感染者の性別や年齢の内訳などをグラフでまとめています。
以下は、サイトの一部の画像です。
このように患者数を年代別に男女の性別の積み上げグラフとして表示したりしています(今後、グラフの種類が変わる可能性はあります)。
作った動機
既に、新型コロナウイルス感染者の数などをまとめたWebサイトはいくつも公開されています。
それなのになぜ改めて作ろうと思ったのか、その動機は、既に公開されているWebサイトは、丸められた情報の提示が多く、本当に見たい感染者の動向を把握することができず、その問題を解消しようと思ったからです。
テレビ等の報道メディアが意図的なのか、データを見方を理解していないだけのか不明ですが、本来あるデータの傾向とは異なる見方をし、偏向報道をすることが多いです。
そして、間違ったデータ分析によって、一部の国民を批判していることがあります。
例えば、40代の新型コロナウイルス感染者は、以前から多い傾向があるのですが、ここ数日のデータだけを切り取って、「40代以下の感染者の割合が増加しているため、若者の感染者が増加している」と報道していることがありました。
実際は、40代以下の感染者の割合が多い日は以前にも何回かありました。
2020年3月29日に20代の感染者が急増しており、その性別の内訳は女性が大半という他とは異なった偏りがありましたが、これを男女性別一緒にして20代という集合にすると「20代の感染者が増加」という情報だけしか見えなくなってしまいます。
しかし、詳細に見ると「20代の女性の感染者が増加」です。
なぜ3月29日に女性の感染者が増加したのか、感染者の詳細な情報がないため不明ですが、この日の辺りは、「病院内の集団感染」や「夜の街クラスター」というのが話題になっていました。
つまり、可能性としては、病院は若い看護師が多く、20代の看護師が多く感染していたり、夜の街で働く20代の女性が多く感染していた可能性があります。
「20代」という集合だけで見た場合は、若者が自粛せず外で遊んでいて感染拡大させていると捉えられてしまうかもしれません。
しかし、「20代の女性」と見れば、院内感染や夜の街クラスターの可能性が出てきて、若者が遊んでいたわけではなく、一生懸命病院で働いている看護師が病院で感染したり、夜の街でお店に訪れたおっさんらにウイルスをうつされたりしていた可能性があると考えることもできるようになります。
以上のように、データは詳細に、色々な切り口で見ないと誤った推測をしてしまう可能性あり、またそれを悪意を持って利用することで、批判の材料にもされてしまうのです。
データ量が大きくなれば、丸めた情報だけ見ても傾向を読み取れ、信頼性が高い推測ができる場合もありますが、データ量が少ない場合は外れ値も出てくるため、丸めた情報だけ見ると信頼性が高い推測をすることができません。
このような問題を防ぎたいと考え、他のサイトとは異なる切り口で情報をまとめたWebサイトを作ろうと思い立ちました。
2020年3月時点では、新型コロナウイルスの検査の仕方自体が偏っているため、その生データそのものが偏っている可能性が高く、これを詳細に分析した所で偏った考察になる可能性があります。
ただ、今後検査が拡大し、検査する集団の偏りがなくなり、データが増えていけばその偏りも減ると考えられます。
作ったWebサイト「コロナに打ち勝て!」には、感染者の内訳グラフとは別の重要なものがあります。
それは、「エッグ・サイトウの疑問集」です。
これは、新型コロナウイルスに関連する事柄で私が日頃から疑問に思っていることをたらたら書くコーナーです。
Twitterで日頃から、新型コロナウイルス関連で色々なことをツイートしているのですが、Twitterの場合、書いたことが流れて行ってしまいます。
他の自称専門家等もTwitterなどで、その場その場で思いついたことを言って、何日か後には、逆の意見を言っていたりして、考えが整理されていないめちゃくちゃな状態です。
私は社会人になって企業で仕事をするようになって、「朝令暮改」をする上司らに何回も振り回されました。
その場その場で自分の都合が良いことを言ったり、深く考えずに適当なことを言ったりし、さらには、過去に自分が言った発言は振り返らずに何もなかったことにし、逆のことを言い出したりします。
今回は、WHOを含め、多くの自称専門家らがマスメディアやSNSを通して、この混沌とした状態を作り出しています。
そのため私は昔から、各自の考え、意思決定プロセスフローを見える化するツールを作りたいと考えています。
それらを見える化することで、混乱がなくなり、まともな議論がしやすくなります。
今回もそのツールを作って、WHOや自称専門家らの述べていることを全て見える化して、矛盾したことを述べたりしていないかなどを誰もが簡単に共有できる形で情報整理したいと考えていました。
しかし、そのツールを作るにしても、時間が掛かり大変なので、せめて私が新型コロナウイルス関連で日々考えていることをしっかり明記しようと思い、疑問集という形で公開しました。
現在の疑問集の内容以外にも考えていたことが色々ありましたが、いくつかは政府や自称専門家らの考えが変化して、疑問が疑問でなくなったため、それらを除いて、今すぐ思い出せる範囲で私の疑問を書いています。
可能なら、私の疑問に対して、専門家などから返答を頂き、その返答内容も記載したいと考えていますが、専門家がこの疑問集に気づくレベルまで「コロナに打ち勝て!」は流行らないと考えいています。
もしも運良く「コロナに打ち勝て!」がバズった場合は、疑問に返答しやすいような作りにするかもしれません。
日本の有名人・芸能人の新型コロナウイルス感染者リスト(一覧)は、おまけでつけました。
今後、有名人の感染者が多くなったら、更新が大変、かつ、もはや見る価値もなくなりますので、消すかもしれません。
グラフ生成に利用したデータについて
グラフを生成するために利用したデータは、「東京都オープンデータカタログサイト」というWebサイトで公開されている「東京都 新型コロナウイルス陽性患者発表詳細」のデータです。
このオープンデータを知ったきっかけは、「東京都 新型コロナウイルス感染症対策サイト」です。
このWebサイトはOSSとなっており、GitHubにMITライセンスで公開されています。
「東京都 新型コロナウイルス感染症対策サイト」にないグラフを「コロナに打ち勝て!」では載せています。
今後、東京都のサイトに私のサイトと同じグラフが出てきたら、私のサイトの価値がなくなりますw
私のサイトと東京都のサイトのデザインが似ていると思うでしょうが、最近のWeb開発は、有名なUIデザインのフレームワークを利用したり、有名なグラフ生成ライブラリ(Chart.js)を使ったりと、同じようなをフレームワーク・ライブラリを使うため、似たようなデザインのサイトになる傾向があります。
最近の流行りの傾向ですと、GoogleのWebサイトのようなデザインになることが多いです。
東京都のサイトには、「検査実施人数」のグラフもあるのですが、そちらのデータはオープンデータカタログサイトには公開されていません。
また、2020年4月14日現在、4月5日の検査実施数が62人に対して、陽性患者数が143人と検査実施数より陽性患者数が多いという謎のデータがあり、信頼性がある陽性率等を出せないため、最初は利用しようと思った検査実施人数は現状、使わないことにしました。
ちなみに、謎のデータになっているのは、おそらく「医療機関が保険適用で行った検査」を含むか含まないかなどのせいだと推測します。
東京都以外の他の都道府県についても、東京都のOSSを利用して、同じようなサイトが公開されています。
東京都のオープンソースを活用した新型コロナウイルス感染症対策サイトの紹介
この存在を「コロナに打ち勝て!」を作成してから気づき、これがあるなら東京都以外のデータも載せることができるじゃん!と思いました。
ところがどっこい、各都道府県のWebサイトを見たら、グラフ等はありますが、そのグラフ等を生成するためのデータがオープンデータとして公開されていない場合があるじゃないですか!
グラフの所にリンクがあったので飛んでみると、その都道府県のサイトに飛ばされて、そこにはPDFで感染者が報告されている場合もあれば、感染者情報が見当たらない場合もありました。
北海道はオープンデータとして公開しているのですが、東京都とデータのフォーマットが異なるため、使うとしてもプログラムの修正が必要です。
私が作ったWebサイトは、東京都のデータを読み込んで自動でグラフを生成するようにしているため、全ての都道府県が同じフォーマットでデータを公開してくれたら、他の都道府県の感染者の内訳のグラフも自動で生成することができます。
なぜ、こうも都道府県によってデータの公開の仕方がバラバラなのか…
「オープンデータ」という言葉が出始めて何年も経ちますが、未だに日本政府、行政がこのレベルなのは、非常にがっかりです。
東京都のデータに関しても、「男性」、「男」と表記揺れがあり、これらの表記揺れの対応処理が必要になりました。
情報を利活用させる気があるのだろうか。
せめて今回は、新型コロナウイルスという国・世界の危機、緊急事態のため、最低限感染者データくらいは全都道府県で共通してプログラムで処理しやすい形で整理して公開して欲しいと思いました。
日本のIT政策担当大臣はこの緊急時にいったい何をやっているのやら…
ちなみに、オープンデータなどの表記揺れについては、昔から課題になっており、表記揺れなどを自動で修正する研究やITツールがあります。
AIなどでデータを利用するときは、表記揺れなどを加工・整理するデータの前処理が大変なので、それをいかに自動化できるかが重要になってきます。
サイト名、ロゴについて
今回作ったWebサイトの名前は「コロナに打ち勝て!」ですが、この名前にした理由は、特にありません。
サイト名を少し考えたのですが、良いサイト名が思いつかず、サイト名を考えていたらプログラムの実装が始まらないと思い、すぐ思いついた適当なものをサイト名にしました。
後からゆっくりサイト名を再考しようと思っていたのですが、再考するのも面倒だったため、このええ加減なサイト名になりました。
そのため、今後、サイト名を変更する可能性があります。
Webサイトのロゴのひょろっとしたハートマークについてもサイト名と同様に、すぐに良いロゴが思いつかず、考えていたらWebサイトの公開が遅れると思い、「命」や「心」、「助け合い」という感じがし、描きやすく、わかりやすそうだったからハートでいいかと思い、深く考えずにハートにしました。
家にペンタブがあるのですが、ペンタブを出してくるのも面倒だったため、Windowsのペイントツールでマウスで適当に描いたものをそのままロゴにしました。
こちらのロゴも今後変更する可能性があります。
プログラムについて
静的サイトになっています。
JavaScriptのフレームワークは使っていません。
Nuxt.jsを使ったことがないので、勉強がてらNuxt.jsを利用したサーバサイドレンダリングのサイトを作ろうと思いました。
しかし、利用しているサーバが貧弱なのか、最適化できていないのか、すぐに重たくなってくるため、Node.jsなどをサーバ上で動かしたくありませんでした。
そのため、Nuxt.jsをやめ、ただし、Vue.jsくらいは使うかと思いましたが、Vue.jsの開発はまだ慣れてなく、今すぐサイトを公開したいという考えがあったため、Vue.jsも使わずに、とりあえずJavaScriptをガリガリ書いて作りました。
今後、余裕があって、かつ、モチベーションが保てるくらいのサイトのアクセス数があれば、Nuxt.jsやVue.jsで書き直すかもしれません。
最後に
皆で助け合いながら新型コロナウイルスに打ち勝ちましょう!
コメント