過去の投稿に画像リンク切れ多数ありご迷惑おかけしています.

こういうときこそデータ分析しよう

JMP

本日はこの記事に掲載されている図をJMP超入門として作成してみます.
ここにきて「新型コロナ」の日本人感染者が爆発的に増えているワケ

ここ暫くはあまり楽しくないネタになってしまいそうですが,どんなデータでもJMPで楽しくデータ分析してこの状況を乗り越えたいと思います.

さて,この記事の要点は,コロナウィルスには二種類あって,そのうちの強毒株がヨーロッパで猛威を振るっているとの説を根拠に,3月24日前後にヨーロッパからの帰国者に感染が発見され,それをきっかけとして日本に感染が蔓延していったという論が展開されています.確かに図3を見る限りでは,ここに何かしらの要因があることが示唆されています.この方の言うように帰国者かもしれませんが,それを裏付けるデータは示されていません.その他にも,巷で噂されているように,ちょうどその日に決まった東京オリンピックの延期とも関係があるかもしれません.他にも,潜伏期間は1-14日で平均的には5日と言われているので,三連休で各地で賑わったことの影響もありそうです.それは脇に置いて,この図3をJMPで再現してみます.

まずはデータから.データは,この前も使ったジャッグジャパンさんのcsvを使います.左上のcsvのリンクからダウンロードしてください.このcsvは整っているので,JMPで直接開いてOKです.さて,このデータから図3のグラフを書くにはどうしたらよいでしょうか.東京都の感染者数と日付の片対数グラフを書いて対数であてはめてみればいいのです.基本的に前回と同じ手順でいいのですが,少し考えてみてください.

このテーブルのどの変数を使えばいいのかを最初に考えます.図3の検証が目的なので,日付けは「確定日」としておきます.「確定日」と「感染日」には数日のバイアスがあるので目的によっては注意が必要です.更に「居住都道府県」が東京である感染者数を東京都の感染者数とします.さて,このテーブルからどのようにすれば東京の累積感染者数の列を作れるでしょうか.テーブルメニューから「要約」すればいいのはすぐわかったと思います.「確定日」を『グループ化』に,そして「居住都道府県」を『サブグループ化』して『OK』です.

「N(東京都)」列ができるので,列名を右クリックして「計算式列の新規作成>行>累積和」で「累積[N(東京都)]」列を作成してください.因みに,累積列は「統計」のところにある「Col Cumulative Sum」の計算式を使ってもいいです.興味があれば,他の都道府県も累積しておいてください.因みに「行数」列は日本全国の感染者数です.ここではこの全国と,押さえ込みが早い段階でうまくいったとされる北海道を累積しておきます.岩手県の方以外は,皆さんがお住いの都道府県を加えてみてください.

データには外国居住者の列もできているはずです.このタイミングなので,おそらく海外からの帰国者と考えられます.多くはありませんが,合計すると昨日の時点で148名なので,これらの列を全て選択して,計算式列の新規作成の「組み合わせ>和」でまとめて,これも累計しておきます.「中華人民共和国」と「南アフリカ」を忘れないようにしてください.全部で11列あります.次に,あてはめ線の傾きに意味を持たせるために「確定日」を全国の感染者数が累計で100人を超えた2月21日を起点とした日にちを示す「Day」列を作成します.この処理は前回やったので覚えていますね.計算式は,Date Difference( 21Feb2020, :確定日, “Day” ) です.

さて,この次にどうするかわかりますか?

「列の積み重ね」で累計した列を積み重ねます.ここで初心者が躓くことが多いようです.グラフ不作成に迷ったら積み重ねる,と覚えておいてください.そして「二変量の関係」で「データ」を『Y』に「Day」を『X』に割り当てます.散布図のY軸のスケールを「対数」に変えます.これだけだとわかりにくいのでラベルを表示させます.そのためには,変数名を書き換えてもいいのですが,その変数の定義がわからなくなってしまうので「ラベル」列を再コード化した方が便利です.例えば,「累積[N(行数)]」を「日本」とします.「値の置換」にするのを忘れずに.それから,「ラベル」列と一番下に並ぶ最新日の行の全てを「ラベルあり」にします.散布図に現れるラベルはドラッグできますから,見やすい位置に移動させてください.

いよいよ直線をあてはめます.片対数になっているので,赤三角から「その他のあてはめ」を選んで「自然対数」のラジオボタンをクリックしてください.このデータには0がありますからアラームが出ますが,それはスルーします.こうして得られたあてはめ線はデータ全体をあてはめていますので,「ローカルデータフィルタ」で「ラベル」を選択し,ついでに「Day」も『AND』して「Day」の上下限をそれぞれ0と9にして,あてはめ線の区間を10日間にしておきます.そうしたら,commandキー(すいませんWindowsはcontrolキーだったかな?)を押しながら「ラベル」の「東京都」をクリックします.

はい,それでは「Day」のスライダーの真ん中を持って(手のひらのアイコンがちゃんと5本指になっているのを確認してから)左右にゆっくり動かしてみてください.あてはめ線の傾きが変わるのがよくわかるはずです.このとき,デフォルトではフィルタされた部分だけがズームされるので,今の場合は先に「Day」軸の下限を例えば-10にしておくと,スケールが固定されるというJMPの動作の特徴を覚えておくとよいでしょう.「表示」のチェックも外してください.こんな感じになればOKです.できましたか?

因みに,冒頭に掲げたようにこのグラフはグラフビルダーでも描けますが,少なくともJMP14では対数の当てはめができないので「二変量の関係」を使いました.

このグラフには冒頭のグラフと同じく,参考までにECDCからダウンロードしたイタリアのデータも載せておきました.ECDC (European Centre for Disease Prevention and Control:欧州疾病予防管理センター)は,スウェーデンのストックホルムに本部がある2005年にEUの伝染病の予防の専門機関として設立されました.このデータを使う場合は,「dateRep」の表示形式を『日付>m/d/y』に変えることに注意してください.必要な国をデータフィルタしてサブセット作ることをお勧めします.累積[cases]がその国の感染者数になります.後は,テーブルを「連結」すればいいのですが,このとき「一致しない行も含める」のところの「主テーブル」「結合するテーブル」の両方にチェックしてください.

スライダーを動かしてイタリアの最新の状況を見てみると,
Log(データ) = 10.246591 + 0.0334785*Day
なので,爆発当初の
Log(データ) = 3.1934324 + 0.4630768*Day
と比べればかなり治まってきてますね.ありがたいことです.

一方,東京のDay31から40までのあてはめ線は
Log(データ) = 0.4262745 + 0.1494678*Day
なので,イタリアの最新よりも傾きが大きいという状況です.これが今後イタリアの初期のようになっていくのか.それとも,北海道(最近また少し増えてきたのが心配ですが)のDay30から39まで
Log(データ) = 4.7546329 + 0.0105227*Day
の程度に落ち着いていくのか,見守っていきたいと思います.

こういうと他人事のように聞こえるかもしれません.もちろん,やるべきことはやった上で,データによって客観的にリスクを見守ることが,デマに踊らされず,マスコミに煽られずに,私たちの精神を落ち着かせる一番の特効薬なのだ.そう考えています.

それでは皆様もお大事に.本日はこれまで.

統計的問題解決研究所

コメント