予測モデルの成績を見るとき、最初に確認すべきなのは「その情報は予測した瞬間に本当に存在していたか」です。未来の情報が少しでも混ざれば、バックテストは実際より良く見えます。この問題をデータリークと呼びます。

使う情報、使わない情報

発走前に取得できる枠番、性齢、斤量、馬体重と増減、距離、馬場状態、天候、出走頭数、過去成績から集計した馬・騎手の指標を主な入力にします。オッズも確定後の値ではなく、発走前に記録したスナップショットに限定します。

区分 発走前の入力に使うか
出馬表 枠番、斤量、馬体重、距離、天候 使う
過去成績 馬・騎手の過去走からの集計 使う
発走前オッズ 記録済みの単勝・複勝オッズ 使う
レース結果 着順、走破時計、払戻金 使わない
確定情報 確定オッズ、確定人気 使わない

競馬AIの時系列評価

時系列を守って評価する

データはランダムに分けません。古い期間で学習し、その次の期間で条件を選び、最後の未使用期間で一度だけ評価します。テスト結果を見てから条件を作り直せば、テストは将来の再現性を測る役割を失います。

入力特徴量は明示的なリストで管理し、着順や払戻金などの禁止列が混入すれば処理を止めます。オッズの取得時刻、発走時刻、結合キー、過去成績の集計範囲も残し、後から検証できるようにします。

← 第1回:正しく検証する · 第3回:購入候補CSVまで →

本記事は競馬データを用いた研究・技術解説です。馬券購入や利益を推奨・保証するものではありません。