時系列をシフトした特徴量の作成
時系列の Machine Learning では、ある時点の前の情報を使って次の時点を予測するのが一般的です。
この演習では、生データを「シフト」して結果を可視化します。前の章で計算したパーセント変化の時系列を、今回はとても短いウィンドウで使用します。短いウィンドウが重要なのは、現実のシナリオでは、時系列の長期的な変化ではなく、日々の変動を予測したいからです。
この演習はコースの一部です
Pythonで学ぶMachine Learningによる時系列データ解析
演習の手順
- 辞書内包表記を使って、
shiftsで指定されたラグに基づき、prices_percの複数の時間シフト版を作成してください。 - 結果を DataFrame に変換してください。
- 与えられたコードを使って結果を可視化してください。
実践的なインタラクティブ演習
このサンプルコードを完成させて、この演習に挑戦してみましょう。
# These are the "time lags"
shifts = np.arange(1, 11).astype(int)
# Use a dictionary comprehension to create name: value pairs, one pair per shift
shifted_data = {"lag_{}_day".format(day_shift): prices_perc.____(____) for day_shift in shifts}
# Convert into a DataFrame for subsequent use
prices_perc_shifted = ____(shifted_data)
# Plot the first 100 samples of each
ax = prices_perc_shifted.iloc[:100].plot(cmap=plt.cm.viridis)
prices_perc.iloc[:100].plot(color='r', lw=2)
ax.legend(loc='best')
plt.show()