トレンド、周期、ノイズ(1)

環境設定

Google colaboratoryで実行できます

数理データサイエンスAIコンソーシアムのホームページから卸売り高データ、東京最高気温データ、日経225株価データをダウンロードします

  1. !wget -O "/content/sample_data/whard_new.xlsx" "http://www.mi.u-tokyo.ac.jp/consortium2/data/whard_new.xlsx"

  2. !wget -O "/content/sample_data/maxtemp.xlsx" "http://www.mi.u-tokyo.ac.jp/consortium2/data/maxtemp.xlsx"

  3. !wget -O "/content/sample_data/nikkei225_new2.xlsx" "http://www.mi.u-tokyo.ac.jp/consortium2/data/nikkei225_new2.xlsx"

(1)時系列データの表示

ダウンロードしたエクセルの時系列データを画面に表示します。なお、下記のコマンドはGoogle colaboratoryで実行できます

    • f_n="whard_new"#@param{type:"string"}

  1. import pandas as pd

  2. f_n="whard_new"#@param{type:"string"}

  3. df = pd.read_excel('/content/sample_data/'+f_n+'.xlsx')

  4. df

(2)時系列データのグラフ表示

指定した時系列データのグラフを表示します。

  1. import numpy as np

  2. import matplotlib.pyplot as plt


  3. df_n='whard'#@param{type:"string"}

  4. x = np.array(range(len(df)))

  5. y = np.array(df[df_n])

  6. plt.plot(x, y)

  7. plt.show()

(3)時系列データのトレンドとノイズの表示

指定した時系列データのトレンドとノイズを表示します。numは、移動平均の区間です。

  1. num=30#@param{type:"integer"}

  2. b=np.ones(num)/num


  3. y2=np.convolve(y, b, mode='same')

  4. y3=y-y2


  5. plt.plot(x,y)

  6. plt.show()


  7. plt.plot(x,y2)

  8. plt.xlim([min(x)+num,max(x)-num])

  9. plt.show()


  10. plt.plot(x,y3)

  11. plt.xlim([min(x)+num,max(x)-num])

  12. plt.show()

北海道医療大学・情報センター