移動平均とは、k個の連続する値の平均値を取得
時系列データの特定区間で移動させながら取得を繰り返すこと
元のデータの特徴を維持し、データを滑らかにする
月ごとのデータに季節変動があれば、
12個の連続する値の移動平均で、季節変動を除去でき、
トレンドを抽出。
それから移動平均を元の系列から引き、
系列のトレンド成分を除去する
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 |
import pandas as pd import matplotlib.pyplot as plt import statsmodels.api as sm from pandas import datetime %matplotlib inline import numpy as np co2_tsdata = sm.datasets.co2.load_pandas().data # 欠損値の処理 co2_tsdata2 = co2_tsdata.fillna(method="ffill") # 原系列のグラフ plt.subplot(6,1,1) plt.xlabel("date") plt.ylabel("co2") plt.plot(co2_tsdata2) # 移動平均を求める co2_moving_avg = co2_tsdata2.rolling(window=51).mean() # 移動平均のグラフ plt.subplot(6,1,3) plt.xlabel("date") plt.ylabel("co2") plt.plot(co2_moving_avg) # 原系列-移動平均グラフ plt.subplot(6,1,5) plt.xlabel("date") plt.ylabel("co2") mov_diff_co2_tsdata = co2_tsdata2-co2_moving_avg plt.plot(mov_diff_co2_tsdata) plt.show() # 何も書き込まず実行してください |
コメントを残す