Sklearnでは、GridSearchCVはパイプラインをパラメーターとして使用して、相互検証を通じて最適な推定量を見つけることができます。ただし、通常の相互検証は次のようになります。
時系列データを相互検証するために、トレーニングデータとテストデータは次のように分割されることがよくあります。
つまり、テストデータは常にトレーニングデータよりも前にある必要があります。
私の考えは:
パイプラインの便利さを楽しむことができるように、k-foldの独自のバージョンクラスを作成してGridSearchCVに渡します。問題は、GridSearchCVにトレーニングおよびテストデータの指定されたインデックスを使用させることが難しいように思われることです。
GridSearchCVに似た新しいクラスGridSearchWalkForwardTestを作成します。ソースコードgrid_search.pyを調べていますが、少し複雑であることがわかりました。
どんな提案でも大歓迎です。
私の意見では、独自のGridSearchWalkForwardTestを実装してみるべきだと思います。私は一度GridSearchを使用してトレーニングを行い、同じGridSearchを自分で実装しましたが、同じ結果が得られませんでした。
最後にやったのは、自分の機能を使うことです。トレーニングとテストセットをより細かく制御でき、トレーニングするパラメーターをより細かく制御できます。
私は数ヶ月前にこれらすべてに関していくつかの仕事をしました。
あなたはこの質問/回答でそれをチェックすることができます: