開発ログ

時系列分割・未見Holdout固定

30秒でわかる概要

今回なにをした?

研究用データの分割比率をtrain 60%・validation 20%・test 10%・strict unseen 10%としてRF069自身の正式Policyに固定しました。さらに、分割順序をrace_dateからrace_idの時系列順に固定し、random row splitを禁止しました。

なぜ必要?

研究用データの構成は固定されていましたが、学習・調整・評価・完全未見確認を分ける正式な時系列partitionは未定義でした。

何が変わった?

train 60%・validation 20%・test 10%・strict unseen 10%をrace_date→race_id順で決定的に割り当て、同一レース跨ぎを禁止した正式Split Authorityを使える状態になりました。

現在の状態

検証完了です。確認できていないことは、確認済みとして扱いません。

詳細

Evidence Record

今回確定したこと

定義した境界・成果

  • 研究用データの分割比率をtrain 60%・validation 20%・test 10%・strict unseen 10%としてRF069自身の正式Policyに固定した
  • 分割順序をrace_dateからrace_idの時系列順に固定し、random row splitを禁止した
  • 同一レースが複数partitionへ跨ることを禁止し、race単位の境界を維持した
  • strict unseenは最終Generalization確認専用とし、最終評価前のアクセスを禁止した

許可されること / できること

  • 学習・調整・事前評価・完全未見評価の役割を分離できます。(4-way temporal partition):train / validation / test / strict unseen
  • 過去から未来へ進む順序を崩さずに検証できます。(time ordering):race_date → race_id
  • 最終確認まで見ないデータを残し、未知のレースへの一般化を確認できます。(strict unseen holdout):FINAL_GENERALIZATION_CHECK_ONLY

安全境界・防止策

禁止されること / 防止策

  • 未来と過去が無作為に混ざる評価を防ぎます。(random row split):PROHIBITED
  • 同一レース由来の情報が学習側と評価側へ同時に入ることを防ぎます。(same race cross split):FORBIDDEN
  • 最終評価用データを途中のモデル選択へ使うことを防ぎます。(strict unseen early access):FORBIDDEN

実装・契約根拠

  • Evidenceに記録された契約・実装を参照

検証結果

  • 4分割・時系列順・race境界・未見データ隔離を自動テストで確認しました。(targeted tests):7/7 PASS
  • 前段の研究用データAuthorityを壊していないことを確認しました。(RF068 regression):PASS
  • 今回の工程ではデータベースへの書き込みを行っていません。(database write):NO

未達・対象外

  • この工程ではFeature行そのものは生成していません。実際のFeature MaterializationはRF070の担当です。
  • 60/20/10/10はRF069で新規に定義した分割Policyであり、RF019の既存20% Holdout比率を4分割比率の根拠として流用していません。

次工程

次のRF070で、この分割Authorityを維持したままFeature Materialization Pipelineを実装します。

Evidence Stage

IMPLEMENTATION_COMPLETE_VALIDATED

内部管理情報

Task ID: RF_DEV_069_TEMPORAL_SPLIT_AND_UNSEEN_HOLDOUT_V1

全体ロードマップを見る →

← 開発ログへ戻る

掲載内容は、その時点の開発・検証記録です。将来の利益や的中を保証するものではありません。