DatabricksにおけるCOVID-19データセットの活用: データコミュニティで何ができるのか

[COVID\-19 Datasets Now Available on Databricks: How the Data Community Can Help](https://databricks.com/blog/2020/04/14/covid-19-datasets-now-available-on-databricks.html)の翻訳です。

*本記事の初稿は2020/4/14に公開されましたが、2020/4/21に改訂されています。*

> 本記事で言及されている[サンプルノートブック](#サンプルノートブック)を日本語に翻訳しています。

現在も続いているCOVID-19の感染拡大に対して、多くのデータエンジニア、データサイエンティストは自問しています。「データコミュニティで支援できることはないのか？」と。データコミュニティは既に短期間で素晴らしい取り組みを行なっています。その中で最も頻繁に使用されているCOVID-19のデータソースは[Johns Hopkins CSSEによる2019年の新型コロナウィルスCOVID-19(2019-nCOV)データリポジトリ](https://github.com/CSSEGISandData/COVID-19)です。以下のアニメーションGIFは3/22から4/14の期間における感染確認のケース(郡レベル)、死者数(円)を可視化したものです。
<iframe width="560" height="315" src="https://www.youtube.com/embed/QjFZQyK2i2w" title="YouTube video player" frameborder="0" allow="accelerometer; autoplay; clipboard-write; encrypted-media; gyroscope; picture-in-picture" allowfullscreen></iframe>
他の取り組みとしては、リアルタイムで病原体の拡大をトラッキングした様子を可視化した新型コロナウィルスの[遺伝学的疫病学](https://nextstrain.org/ncov/2020-04-03)が挙げられます(クリックをすることで[系統発生学と伝染の様子を再生](https://nextstrain.org/ncov/global)できます)。
![](https://databricks.com/wp-content/uploads/2020/04/genomic-epidemiology-of-covid-19-min.jpg)
図2: ソース: 新型コロナウィルスの遺伝学的疫病学(2020-04-08以降)

病院リソース利用率モデリングの強力な事例としては、[University of Washington’s Institute of Health and Metrics Evaluation \(IHME\) COVID\-19 projections](https://covid19.healthdata.org/united-states-of-america)が挙げられます。以下のスクリーンショットは、2020/3/28のピークを強調し、予測された病院リソース使用量のメトリクスを表示しています。
![](https://databricks.com/wp-content/uploads/2020/04/ihme-italy-min.jpg)
図3: [IHME COVID\-19 projections for Italy](https://covid19.healthdata.org/united-states-of-america)(2020-04-08以降)

# でも、どうやって支援できるのでしょうか？

COVID-19に打ち勝つことは、現時点では世界にとって最も困難な課題であり、重要な意思決定を行うためには、背後にあるデータを理解することが重要であると信じています。このことを受けて我々は、多くの皆様、データ探索の初心者からデータのプロフェッショナルまでが、この取り組みに参画できるような一歩を踏み出しました。

3月末に、[Analyzing COVID\-19: Can the Data Community Help?](https://www.youtube.com/watch?v=A0uBdY4Crlg)における技術的セッションにおいて、COVID-19データセットに対するデータ分析入門から我々は活動を開始しました。このセッションでは、[Apache Spark™](https://databricks.com/glossary/what-is-apache-spark)、[Python](https://www.python.org/)、[pandas](https://pandas.pydata.org/)、[BERT](https://arxiv.org/abs/1810.04805)などの様々なオープンソースプロジェクトを活用して、探索的データ分析と自然言語処理(NLP)をお見せしました。この際に使用したノートブックは公開されており、ローカルのPythonの仮想環境やクラウド環境、[Databricksコミュニティエディション](https://databricks.com/try-databricks)などのご自身の環境にダウンロードできます。

例えば、このセッションでは[COVID\-19 Open Research Dataset Challenge \(CORD\-19\)](https://www.kaggle.com/allen-institute-for-ai/CORD-19-research-challenge)を分析し、以下の洞察を得ました。

- 数千のJSONファイルがあり、それぞれは参照情報を含む研究論文テキストが含まれている。JSONスキーマの複雑性はデータ処理を複雑なものにする官能性がある。幸運にも、Apache Sparkは自動的かつ高速にJSONファイルのスキーマを推定し、この[ノートブック](https://github.com/taka-yayoi/public_repo/blob/main/covid-19/1.%20JSON%E3%83%87%E3%83%BC%E3%82%BF%E3%82%BB%E3%83%83%E3%83%88%E3%81%AE%E8%AA%AD%E3%81%BF%E8%BE%BC%E3%81%BF.html)を用いることで、数千のJSONファイルを数個のParquetファイルに変換でき、後段の探索的データ分析を容易にします。
- テキストの多くは構造化されておらず、筆頭著者の国を正確に識別することが困難などのデータ品質に関する課題が存在します。この[ノートブック](https://github.com/taka-yayoi/public_repo/blob/main/covid-19/2.%20CORD-19%E3%83%87%E3%83%BC%E3%82%BF%E3%82%BB%E3%83%83%E3%83%88%E3%81%AE%E5%88%86%E6%9E%90.html)を用いることで、データをクレンジングし、あとで筆頭著者の属する国のカウントを地図にマッピングできるように、ISO Alpha 3の国コードを識別できるようにしました。
![](https://databricks.com/wp-content/uploads/2020/04/cord-19-paper-source-map-min.jpg)
図4: [Analyzing COVID\-19: Can the Data Community Help?](https://www.youtube.com/watch?v=A0uBdY4Crlg)で説明された、COVID-19関連論文の筆頭著者の属する国の数
- データをクレンジングすることで、データから洞察を得るために様々なNLPアルゴリズムを適用できます。この[ノートブック](https://github.com/taka-yayoi/public_repo/blob/main/covid-19/3.%20%E8%87%AA%E7%84%B6%E8%A8%80%E8%AA%9E%E5%87%A6%E7%90%86%E3%82%92%E7%94%A8%E3%81%84%E3%81%9FCORD-19%E3%83%87%E3%83%BC%E3%82%BF%E3%82%BB%E3%83%83%E3%83%88%E3%81%AE%E6%8E%A2%E7%B4%A2.html)では、論文のアブストラクトを一般化(論文ごとに7800から1100の文字列)し、研究論文のタイトルに基づいて以下のワードクラウドを作成しました。
![](https://databricks.com/wp-content/uploads/2020/04/cord-19-wordmap-min.jpg)

図5: [Analyzing COVID\-19: Can the Data Community Help?](https://www.youtube.com/watch?v=A0uBdY4Crlg)で説明されたCOVID-19関係の論文から作成したワードクラウド

# データを見てみましょう！

探索的データ分析においてはデータの品質が非常に大きな影響を与えると、多くのデータアナリスト、データエンジニア、データサイエンティストは口を揃えて証言することでしょう。[A Few Useful Things to Know about Machine Learning \(October 2012\)](https://dl.acm.org/doi/10.1145/2347736.2347755)で以下の発言があります。

**大量のデータと愚かなアルゴリズムは、そこそこの量のデータとスマートなアルゴリズムを駆逐する**

> この発言は、特徴量エンジニアリングの重要性などの機械学習における様々な重要な側面を軽んじるのではなく、高品質かつ大量のデータを持つことの重要性を強調しており、データのみでは不十分であるということを言っています。

データコミュニティの多くの人は、SARS-CoV-2(原因)、COVID-19(疾病)などの様々なデータセットをKaggleやGithubに提供し続けています。

容易に分析を進められるように、[Databricksコミュニティエディション](https://databricks.com/try-databricks)を含め、我々は定期的に研究用の(非商用利用目的で使用できる)様々なCOVID-19データセットを追加・更新しています。現時点では以下のデータセットを提供しており、今後追加していく予定です。

| /databricks-datasets/[場所] | リソース |
|:--|:--|
|/../COVID/CORD-19/   |[COVID\-19 Open Research Dataset Challenge \(CORD\-19\)](https://www.kaggle.com/allen-institute-for-ai/CORD-19-research-challenge)   |
|/../COVID/CSSEGISandData/   |[2019 Novel Coronavirus COVID\-19 \(2019\-nCoV\) Data Repository by Johns Hopkins CSSE](https://github.com/CSSEGISandData/COVID-19)   |
|/../COVID/ESRI_hospital_beds/	   |[Definitive Healthcare: USA Hospital Beds](https://coronavirus-resources.esri.com/datasets/definitivehc::definitive-healthcare-usa-hospital-beds?geometry=92.988%2C-16.820%2C-117.950%2C72.123)   |
|/../COVID/IHME/   |[IHME \(UW\) COVID\-19 Projections](https://covid19.healthdata.org/projections)   |
|/../COVID/USAFacts/   |USA Facts: [Confirmed](https://usafactsstatic.blob.core.windows.net/public/data/covid-19/covid_confirmed_usafacts.csv) : [Deaths](https://usafactsstatic.blob.core.windows.net/public/data/covid-19/covid_deaths_usafacts.csv)  |
|/../COVID/coronavirusdataset/   |[Data Science for COVID\-19 \(DS4C\)](https://www.kaggle.com/kimjihoo/coronavirusdataset) (South Korea)   |
|/../COVID/covid-19-data/   |[NY Times COVID\-19 Datasets](https://github.com/nytimes/covid-19-data)   |

# 探索的データ分析ワークショップの詳細

原文の[COVID\-19 Datasets Now Available on Databricks: How the Data Community Can Help](https://databricks.com/blog/2020/04/14/covid-19-datasets-now-available-on-databricks.html)を参照ください。

# COVID-19データセットから洞察を得る

COVID-19データセットの分析を容易にスタートできるように、[tech\-talks/samples](https://github.com/databricks/tech-talks/tree/master/samples)フォルダーに追加のノートブックを格納しています。これらのノートブックは[New York Times COVID\-19 dataset](https://github.com/nytimes/covid-19-data)、[2019 Novel Coronavirus COVID\-19 \(2019\-nCoV\) Data Repository by Johns Hopkins CSSE](https://github.com/CSSEGISandData/COVID-19)の両方に対応したものです。`/databricks-datasets/COVID`配下にあるこれらのデータは定期的に更新されています。

[NY Times COVID\-19 Analysis notebook](https://github.com/taka-yayoi/public_repo/blob/main/covid-19/4.%20New%20York%20Times%20COVID-19%20%E3%83%87%E3%83%BC%E3%82%BF%E3%82%BB%E3%83%83%E3%83%88%E5%88%86%E6%9E%90.html)には、郡ごとのCOVID-19の感染者と死者の分析が含まれています。
![](https://databricks.com/wp-content/uploads/2020/04/COVID-19-Cases-Top-10-Washington-Counties-1024x531.png)
図6: 教育機関が閉鎖された時期をハイライトした、ワシントン州におけるCOVID-19感染者数の比率トップ10（ソース: 2020/4/14時点のニューヨークタイムスCOVID-19データセット）

![](https://databricks.com/wp-content/uploads/2020/04/COVID-19-Cases-Top-10-NY-Counties-1024x515.png)
図7: 教育機関が閉鎖された時期をハイライトした、ニューヨーク州におけるCOVID-19感染者数の比率トップ10（ソース: 2020/4/14時点のニューヨークタイムスCOVID-19データセット）

[JHU COVID\-19 Analysis](https://github.com/taka-yayoi/public_repo/blob/main/covid-19/5.%20JHU%20COVID-19%20%E3%83%87%E3%83%BC%E3%82%BF%E3%82%BB%E3%83%83%E3%83%88%E3%81%AE%E5%88%86%E6%9E%90.html)で得られた洞察には以下が含まれます。

- 2020/4/11時点で、[JHU COVID\-19 daily reports](https://github.com/CSSEGISandData/COVID-19/tree/master/csse_covid_19_data/csse_covid_19_daily_reports)は三回スキーマを変更しています。上述のノートブックは、それぞれのファイルから(日付を取得するために)ファイル名を抽出し、異なるスキーマを統合します。
- アメリカにおけるCOVID-19に関連する感染者数、死者数の指数関数的増加を、静的・(スライドバーで)動的に可視化するために[Altair visualizations](https://altair-viz.github.io/)を使用しています。
![](https://databricks.com/wp-content/uploads/2020/04/covid-19_jhu_8a-sm.png)
Johns Hopkins COVID-19データセットとAltairコロプレスマップによる、3/22と4/11における感染者数(郡レベル)、死者数(緯度経度)のマップ
![](https://databricks.com/wp-content/uploads/2020/04/covid-19_jhu_8b-sm.png)
加えて、[NYT COVID\-19 Analysis](https://github.com/databricks/tech-talks/blob/master/samples/NYT%20COVID-19%20Analysis.html)ノートブックには、ワシントン州(2020/3/13)とニューヨーク州(2020/3/18)で教育機関が閉鎖された時期の2週間ウィンドウでの、感染者数と死者数(実数と人口に対する比率)の[コロプレスマップ](https://en.wikipedia.org/wiki/Choropleth_map)と棒グラフが含まれています。
![](https://databricks.com/wp-content/uploads/2020/04/covid-19_nyt_wa_edu.gif)
NY Times COVID-19 datasetに基づく、教育機関が閉鎖された時期の2週間ウィンドウにおけるCOVID-19感染者数(郡レベル)、死者数(緯度経度)のコロプレスマップ、棒グラフ
![](https://databricks.com/wp-content/uploads/2020/04/covid-19_nyt_ny_edu.gif)

# まとめ

感染爆発が起きている状況下においても、データコミュニティはデータの背後にあるパターンに基づき、洞察を提供することで支援を行うことができます。これには、郡ごとの感染者数、死者数の増加率、早期にソーシャルディスタンスを導入した州における増加率へのインパクト、ソーシャルディスタンス導入による増加の抑制などが含まれます。重要なことですが、COVID-19は医療の問題です。すなわち、どのようにして患者の命を救うのかを考える必要があります。また、データの理解によって、医療コミュニティがより良い意思決定を行えるようにするという疫学の問題でもあります。例えば、人々が感染しないような公共医療のポリシーを決定できるように、どのようにデータを活用できるのかを考える必要があります。

# サンプルノートブック

本記事で言及されているノートブックを[こちら](https://github.com/taka-yayoi/public_repo/tree/main/covid-19)で日本語に翻訳しています。

- [1. JSONデータセットの読み込み](https://github.com/taka-yayoi/public_repo/blob/main/covid-19/1.%20JSON%E3%83%87%E3%83%BC%E3%82%BF%E3%82%BB%E3%83%83%E3%83%88%E3%81%AE%E8%AA%AD%E3%81%BF%E8%BE%BC%E3%81%BF.html)
- [2. CORD-19データセットの分析](https://github.com/taka-yayoi/public_repo/blob/main/covid-19/2.%20CORD-19%E3%83%87%E3%83%BC%E3%82%BF%E3%82%BB%E3%83%83%E3%83%88%E3%81%AE%E5%88%86%E6%9E%90.html)
- [3. 自然言語処理を用いたCORD-19データセットの探索](https://github.com/taka-yayoi/public_repo/blob/main/covid-19/3.%20%E8%87%AA%E7%84%B6%E8%A8%80%E8%AA%9E%E5%87%A6%E7%90%86%E3%82%92%E7%94%A8%E3%81%84%E3%81%9FCORD-19%E3%83%87%E3%83%BC%E3%82%BF%E3%82%BB%E3%83%83%E3%83%88%E3%81%AE%E6%8E%A2%E7%B4%A2.html)
- [4. New York Times COVID-19 データセット分析](https://github.com/taka-yayoi/public_repo/blob/main/covid-19/4.%20New%20York%20Times%20COVID-19%20%E3%83%87%E3%83%BC%E3%82%BF%E3%82%BB%E3%83%83%E3%83%88%E5%88%86%E6%9E%90.html)
- [5. JHU COVID-19 データセットの分析](https://github.com/taka-yayoi/public_repo/blob/main/covid-19/5.%20JHU%20COVID-19%20%E3%83%87%E3%83%BC%E3%82%BF%E3%82%BB%E3%83%83%E3%83%88%E3%81%AE%E5%88%86%E6%9E%90.html)

1と2は主にデータ準備に関する内容となっています。3では関連論文からワードクラウドの作成、BERTによる要約生成を行なっています。4と5がアメリカにおける感染者数、死者数に対する様々な切り口での分析となります。4、5には機械学習は含まれていませんが、以下のような地図を用いた可視化を行なっています。色塗りが感染者数で、赤い点が死者数となります。
![Screen Shot 2021-05-27 at 21.25.15.png](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/1168882/8caa5931-46ac-d760-b5cb-e7a18295f1f1.png)

### Databricks 無料トライアル

[Databricks 無料トライアル](https://databricks.com/jp/try-databricks)