#0.まとめ
(1) PythonのStatsModelで新型コロナのトレンド分析をやってみた
(2) 厚労省のデータを分析したところ、最初のピークが4月、今回のピークは8月
(3) と、言うことは、次のピークは12月か、という お話
#1.やったこと
(1) 厚労省のホームぺージから、新型コロナ感染者のデータを取得
(2) PythonのStatsModelで、トレンド、季節要因、残差に分解
(Special Thanks to)
もものきとデータ解析をはじめようを参考にさせて頂きました。
大変、ありがとうございました。
#2.厚労省のホームぺージから、新型コロナ感染者のデータを取得
厚労省のホームページから、陽性者数をダウンロード。csvデータで簡単にダウンロードが出来るのは、とても好感が持てた。厚労省、スゴイ!
詳しい分析手法については、前述の「もものきとデータ解析をはじめよう」を参照してください。
まずは、準備作業。
import numpy as np
import pandas as pd
import matplotlib.pyplot as plt
import statsmodels.api as sm
% matplotlib inline
そして、ダウンロードしたデータを読み込む。1月16日以降のデータが入っている。
df=pd.read_csv('pcr_positive_daily.csv')
df.head()
ちなみに、直近のデータは一昨日のもの。基本的に、前日のデータまで取得できるが、更新されるのは、夕方。土日でも更新されるところがエライ!
df.tail()
さて、データが公表されている1月後半以降、足元までの感染者数の推移を見てみよう。
%matplotlib inline
df.plot()
ちなみに、matplotlibは、そのまま使うと、いわゆる「豆腐」になります(笑)
解決方法は、以下のぺージが、とっても参考になりました。ありがとうございます。
Googleコラボのグラフ(matplotlib)を日本語化する方法!
#3.PythonのStatsModelで、トレンド、季節要因、残差に分解
さて、やっと本題です。
厚労省のデータを、PythonのStatsModelを使って、分解します。
numbers = pd.Series(df['PCR 検査陽性者数(単日)'], dtype='float')
numbers.index = pd.to_datetime(df['日付'])
res = sm.tsa.seasonal_decompose(numbers)
original = numbers # オリジナルデータ
trend = res.trend # トレンドデータ
seasonal = res.seasonal # 季節性データ
residual = res.resid # 残差データ
plt.figure(figsize=(8, 8)) # グラフ描画枠作成、サイズ指定
# オリジナルデータのプロット
plt.subplot(411) # グラフ4行1列の1番目の位置(一番上)
plt.plot(original)
plt.ylabel('Original')
# trend データのプロット
plt.subplot(412) # グラフ4行1列の2番目の位置
plt.plot(trend)
plt.ylabel('Trend')
# seasonalデータ のプロット
plt.subplot(413) # グラフ4行1列の3番目の位置
plt.plot(seasonal)
plt.ylabel('Seasonality')
# residual データのプロット
plt.subplot(414) # グラフ4行1列の4番目の位置(一番下)
plt.plot(residual)
plt.ylabel('Residuals')
plt.tight_layout() # グラフの間隔を自動調整
結果は、以下の通りです。
コードにも書きましたが、上から順番に、
①オリジナルデータ
②トレンドデータ
③季節性データ
④残差データ
と なります。
2番目のトレンドデータに着目して下さい。
最初のピークが4月上旬、今回のピークが8月上旬にあることが見てとれます。
そこから考えるに、次のピークは12月上旬でしょうか。
#4.最後に
新型コロナが早期に終息することを、ただただ祈っています。
しかしながら、現実は厳しい と、認識しています。
新型コロナの病名はCOVID-19ですが、ウイルス名はSARS-CoV-2だそうです。
このウィルス名はSARSに似ているからだそうです。
そのSARSが流行ったのは2002年ですから、今から20年近く前です。
しかしながら、SARSのワクチンは未だに作られていないようです。
大変な時代だからこそ、出来ることを粛々と、やっていきたいと思います。
新型コロナの影響で、飲み会がなくなったのは、寂しい気もしますが、
在宅勤務の推進など、合理的な働き方を進める、良い機会になった面もあります。
こんな時こそ、落ちついて生きましょう
最後の最後に、参考とさせて頂きましたサイトの関係者の方々に、御礼、申し上げます。