開発ログ

Point-in-Timeデータセットと時系列分割を構築する

30秒でわかる今回の進捗

競馬AIのバックテストで最も避けたいのは、未来情報が学習側へ入り込み、実力以上によく見えることです。

今回、実Canonical DBを読み取り専用で検証し、Point-in-Timeデータセットを再現可能な形で構築しました。さらに、時間順の五つの区間へ分割し、Point-in-Timeと区間分割にリークがないこと、Final Holdoutが隔離されていることを確認しました。

何を変えたか

これまでは、後続のモデル開発で使うデータの時間軸と分割条件を、同じEvidenceから再利用できる形に固定する必要がありました。

今回、その時点で利用できる情報だけを再現するPoint-in-Timeデータセットと、時間順の分割Authorityを正式成果として固定しました。

なぜ必要か

モデル評価は、未来情報が混ざるだけで簡単によく見えてしまいます。

その状態では、モデル比較やバックテストの数値が実運用につながりません。

そのため、モデルを選ぶ前に「未来を見ていないデータで評価している」ことを保証する必要があります。

現在の状態

確認済みの成果は次の通りです。

  • 実Canonical DBの読み取り専用検証
  • Point-in-Timeデータセットの再現可能な構築
  • 五つの時系列区間の固定
  • Point-in-Timeと区間分割のリークなし
  • Final Holdoutの隔離
  • Canonical DBを変更しない検証

これにより、後続工程は同じ時間軸と分割条件を前提にモデルを比較できます。

次の工程

次は、Baselineで使うモデル系列と学習目的を決定します。

ここからモデル比較へ進みますが、評価の土台は今回固定したPoint-in-Timeデータです。

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

← 開発ログへ戻る

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