開発ログ

予測勝率を確率校正する

今回の更新を要点だけ

競馬AIが出した勝率を、そのままFair Oddsへ使わないための確率校正を実装しました。

AIが高い勝率を出しても、その自信度が現実の的中頻度と一致しているとは限りません。

そこで、Platt Scalingで予測確率を補正し、Binary Log LossとBrier Scoreで評価。さらに校正後の確率をレース単位で再正規化し、Fair Oddsへ渡せる形に整えました。

Final HoldoutはCalibration fittingから除外し、最終評価用データを途中の調整に使わない境界も固定しています。

なぜ必要なのか

このプロジェクトでは、予測確率からFair Oddsを作り、市場オッズと比較できる状態を目指しています。

そのため、

**予測確率 → Fair Odds → 市場との比較**

の入口にある確率が重要です。

元の確率がズレたままなら、そこから計算するFair Oddsもズレる可能性があります。

今回の確率校正は、AIの自信度をそのまま価格へ変換しないための処理です。

今回変わったこと

確率校正にはPlatt Scalingを実装しました。

校正結果はBinary Log LossとBrier Scoreで評価できます。

また、校正後の確率が有効な範囲に収まり、元の予測順序を壊さないことも確認しています。

さらに、競馬では各レースの勝者が一頭であるため、校正後の確率をレース単位で再正規化します。

これにより後続工程では、**校正済みかつレース単位で整合した確率**をFair Oddsの正式な入力として扱えるようになりました。

Final Holdoutの扱い

最終評価用のFinal HoldoutをCalibration fittingに使うと、未知データでの評価が汚染されます。

そのため、Final HoldoutはCalibration fittingから明示的に除外しています。

検証結果

Task Substance Evidenceでは、Platt Scaling、Binary Log Loss / Brier Score、確率範囲と順序、レース単位再正規化、Final Holdout隔離、Fair Odds入力契約を確認しました。

すべてを判定し、未解決はありませんでした。

現在の限界

この工程だけでは、予測性能や実運用での有効性はまだ確認していません。

今回確定したのは、予測確率を校正し、後続工程へ同じEvidence基準で引き渡せる仕組みです。

次の工程

次は、校正済み確率からFair Oddsを生成します。

ここから、

**「勝つ確率」**

を、

**「その確率ならどの価格が適正か」**

という価格へ変換していきます。

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

← 開発ログへ戻る

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