最終更新日:2026年8月26日
gk machine_learning evaluation
G検定トップ
> 時系列データの交差検証|通常のk-foldとの違い【G検定】
まず結論
時系列データで問題なのは交差検証そのものではなく、時間順序を無視した分割です。
過去で学習 → 未来で検証
この順序を守るのが基本です。
直感的な説明
売上予測で、来月の情報を見てから今月を予測できたら不公平です。
時系列では、データの並びに意味があります。そのため、一般的なデータのように無作為に混ぜて分割すると、未来の情報が学習側へ入り込むことがあります。
定義・仕組み
通常のk-foldでは、順序に依存しないデータを複数のfoldへ分け、訓練・検証を入れ替えて評価します。
一方、時系列では時間の前後関係を守ります。
拡大型のイメージ
- 学習:1〜100日 → 検証:101〜120日
- 学習:1〜120日 → 検証:121〜140日
移動窓型のイメージ
- 学習:1〜100日 → 検証:101〜120日
- 学習:21〜120日 → 検証:121〜140日
どちらも検証期間より未来のデータを学習に使わない点が共通です。
いつ使う?(得意・不得意)
時間の順序が予測条件に関係するデータで使います。
- 売上・需要
- 株価などの金融時系列
- センサーログ
- 時系列の利用履歴
ただし、時刻が付いているだけで必ず同じ分割が必要とは限りません。重要なのは、実運用で未来情報を利用できない問題かです。
G検定ひっかけポイント
- ❌ 時系列では交差検証は使えない → 言い切りは誤り
- ❌ データをランダムに混ぜてからk-foldする → 未来情報混入に注意
- ⭕ 時間順序を維持して複数回評価する → 時系列交差検証
- ⭕ 未来情報が学習へ入ると評価が過大になり得る → データリーケージ
判断基準は、
その予測時点で本当に使える情報だけで学習しているか?
です。
まとめ(試験直前用)
- 時系列でも交差検証はできる
- NGなのは時間順序を壊す分割
- 基本は「過去で学習 → 未来で検証」
- ランダムshuffleは要注意
- 未来情報の混入=データリーケージを疑う
関連: 交差検証 / 学習・検証・テストデータ