時系列データと過学習について
最近LGBMの過学習をどう防ぐかが自分の中のホットトピックスです。
時系列データをどうtrainデータとvalidデータを分けるかについて気付きがありました。
これまで、時系列データであっても、random splitの方が良いんじゃないかと思ってました。
理由は分かりやすくいうと、ある日時を閾値にして分けると、春夏秋のtrainデータは冬の情報を持たずに学習するから不完全なモデルになるのではないかと。
ただ、random splitにも問題があることが分かった。
datetimeの粒度にもよりますが、例えばvalidデータの直前1分のデータがtrainデータにあるっていうことになるので、めちゃくちゃ過学習しやすい。
今の自分なりのベストプラクティスは、年の場合は春夏秋冬の四分割し、validをどれにするかで4パターンのmodelを作る。四つのモデルが出した予測値の平均を取る。
====
というメモを二週間ほど前に書いてたのですが、
以下の記事に自分の考えと全く同じことがまとまってたので、共有です!!
scikit-learnにも私の希望のようにvalidationするものがあるみたいです
https://scikit-learn.org/stable/modules/generated/sklearn.model_selection.TimeSeriesSplit.html
Author And Source
この問題について(時系列データと過学習について), 我々は、より多くの情報をここで見つけました https://qiita.com/c_c_c_c/items/a3c2f212570cbdb0c9a2著者帰属:元の著者の情報は、元のURLに含まれています。著作権は原作者に属する。
Content is automatically searched and collected through network algorithms . If there is a violation . Please contact us . We will adjust (correct author information ,or delete content ) as soon as possible .