始める無料で始める

時系列をシフトした特徴量の作成

時系列の 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()
コードを編集して実行