トレンド、周期、ノイズ(2)
環境設定
Google colaboratoryで実行できます
厚生労働省のホームページから新型コロナ感染者数の時系列データをダウンロードします
!wget -O "/content/sample_data/whard_new.xlsx" "http://www.mi.u-tokyo.ac.jp/consortium2/data/whard_new.xlsx"
!wget -O "/content/sample_data/maxtemp.xlsx" "http://www.mi.u-tokyo.ac.jp/consortium2/data/maxtemp.xlsx"
!wget -O "/content/sample_data/nikkei225_new2.xlsx" "http://www.mi.u-tokyo.ac.jp/consortium2/data/nikkei225_new2.xlsx"
(1)時系列データの表示
ダウンロードしたエクセルの時系列データを画面に表示します。なお、下記のコマンドはGoogle colaboratoryで実行できます(表示する都道府県名を指定しています)
todouhuken="ALL"#@param{type:"string"}
import pandas as pd
import numpy as np
import matplotlib.pyplot as plt
df = pd.read_csv('/content/sample_data/covid.csv')
todouhuken="ALL"#@param{type:"string"}
df=df[todouhuken]
df
(2)時系列データのグラフ表示
指定した時系列データのグラフを表示します。
import numpy as np
import matplotlib.pyplot as plt
x = np.array(range(len(df)))
y = np.array(df)
plt.plot(x, y)
plt.show()
(3)時系列データのトレンドとノイズの表示
指定した時系列データのトレンドとノイズを表示します。numは、移動平均の区間です。
num=30#@param{type:"integer"}
b=np.ones(num)/num
y2=np.convolve(y, b, mode='same')
y3=y-y2
plt.plot(x,y)
plt.show()
plt.plot(x,y2)
plt.xlim([min(x)+num,max(x)-num])
plt.show()
plt.plot(x,y3)
plt.xlim([min(x)+num,max(x)-num])
plt.show()
北海道医療大学・情報センター