🕐
続、時系列の予測モデルを比較してみた
以前ブログで書いた時系列の予測モデル比較を、時系列データの交差検証である TimeSeriesSplit を使って試しました。
時系列データの交差検証
時系列データの場合は、未来のデータを使って過去の予測を使わないようにする必要があります。
TimeSeriesSplit() を使うと便利でした。
FOLD = 5
cross_rmse = []
tscv = TimeSeriesSplit(n_splits=FOLD, test_size=90)
for fold, (train_index, test_index) in enumerate(tscv.split(X)):
X_train, X_test = X.iloc[train_index], X.iloc[test_index]
y_train, y_test = y.iloc[train_index], y.iloc[test_index]
# 略
score = np.sqrt(mean_squared_error(y_test, y_pred))
cross_rmse.append(score)
print(f"CROSS_RMSE {np.mean(cross_rmse)}")
Pytorch による LSTM
パラメーターチューニングや層の設定が甘いせいか、Keras の LSTM のような精度が出ませんでしたが、Pytorch の LSTM も追加してみました。
結果
精度、処理速度ともにLightGBMの精度が一番良い結果となりました。
以上になります、最後までお読みいただきありがとうございました。
Discussion