予想の作り方
Glass Box(中身が見える)方針で、計算方法を全部公開しています。 数字を盛らないために必要な、3つの考え方を説明します。
1. look-ahead bias とは
日本語で言うと「未来覗き」。モデルが、本当はその時点で知らないはずの未来情報を 「うっかり」使って予想してしまうバグのこと。
たとえばボートレースの場合、レース直前の確定オッズや、結果から逆算した特徴量を 学習に混ぜてしまうと、テストでは「ROI 200%!」のような数字が出ますが、 実際のレースでは何の役にも立ちません。
主にやっていること
- 確定オッズではなく、レース前のオッズだけを使う
- レース結果から派生する特徴量を学習データから除外
- 予想の生成タイミング (predicted_at) を必ず記録する
- 同日のオッズリフレッシュは「予想時点より前」に撮ったものに限定
2. STRICT hold-out とは
モデルを作るときに使った期間と、実力を測るときに使う期間を、完全に分ける 仕組みのこと。
たとえば 2020〜2025 年のデータでモデルを作ったら、 実力を測るのは 2026 年以降のデータだけ。 これを STRICT hold-out と呼びます。
当サイトの「STRICT hold-out ROI」が、そのモデルの本当の実力です。 良くも悪くも、ここに書いてある数字以上の期待はしないでください。
3. bootstrap CI (信頼区間) とは
「ROI 1.10」とだけ書いてあっても、それが 「ほぼ確実に 1.10」なのか「運が良くてたまたま 1.10、本当は 0.85」なのか、分かりません。
そこで bootstrap という統計手法で、 「もし同じ条件でレースを 1000 回やり直したら、ROI はどのくらいの幅にばらつくか」を計算します。
その幅を 95% 信頼区間(bootstrap CI)と呼びます。 たとえば「ROI 1.10、CI 0.85〜1.40」なら、 「実力は 0.85 から 1.40 のどこかにいる可能性が 95%」という意味です。
4. なぜ他サイトの ROI は信用できないのか
一般的な予想サイトの「ROI 200%」が信用できない理由を 3 つ挙げます。
- 学習データで測っている (in-sample): モデルが暗記しているデータでテストしているので、当然高くなる。
- look-ahead bias がある: 予想時には知れない情報(確定オッズ、結果由来の特徴量)を使っている。
- 選択バイアス (selection bias) がかかっている: 「過去に上手くいった条件」だけを切り出して見せている。 全レースを通せば数字は半分になる、ということが普通にあります。
当サイトでは、これら 3 つを全部排除した数字を公開しています。 その結果、現在は単勝 ROI が 1.0 を切っており、リアルベットは行っていません。儲かる予想を売っているのではなく、本当の実力を見せています。