正直予想
本日時点の実力 (STRICT hold-out):単勝 ROI 0.986複勝 ROI 1.116なぜこの数字? →

予想の作り方

Glass Box(中身が見える)方針で、計算方法を全部公開しています。 数字を盛らないために必要な、3つの考え方を説明します。

1. look-ahead bias とは

日本語で言うと「未来覗き」。モデルが、本当はその時点で知らないはずの未来情報を 「うっかり」使って予想してしまうバグのこと。

たとえばボートレースの場合、レース直前の確定オッズや、結果から逆算した特徴量を 学習に混ぜてしまうと、テストでは「ROI 200%!」のような数字が出ますが、 実際のレースでは何の役にも立ちません。

当サイトでは、モデルに与えるデータは「予想を出す瞬間に確実に知れていた情報」だけ、と ソースコードレベルで保証しています。

主にやっていること

  • 確定オッズではなく、レース前のオッズだけを使う
  • レース結果から派生する特徴量を学習データから除外
  • 予想の生成タイミング (predicted_at) を必ず記録する
  • 同日のオッズリフレッシュは「予想時点より前」に撮ったものに限定

2. STRICT hold-out とは

モデルを作るときに使った期間と、実力を測るときに使う期間を、完全に分ける 仕組みのこと。

たとえば 2020〜2025 年のデータでモデルを作ったら、 実力を測るのは 2026 年以降のデータだけ。 これを STRICT hold-out と呼びます。

なぜ重要? モデルは学習したデータを「丸暗記」してしまうことがあります。 学習データで測ると 100 点満点ですが、新しいデータでは 50 点。 実戦で使えるかは、新しいデータで測らないと分かりません。

当サイトの「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%」という意味です。

注意: 信頼区間が 1.0 をまたいでいる場合、 「実は ROI 1.0 を切っているかも」という可能性が無視できません。 ROI の数字単体ではなく、必ず CI も見てください。

4. なぜ他サイトの ROI は信用できないのか

一般的な予想サイトの「ROI 200%」が信用できない理由を 3 つ挙げます。

  1. 学習データで測っている (in-sample): モデルが暗記しているデータでテストしているので、当然高くなる。
  2. look-ahead bias がある: 予想時には知れない情報(確定オッズ、結果由来の特徴量)を使っている。
  3. 選択バイアス (selection bias) がかかっている: 「過去に上手くいった条件」だけを切り出して見せている。 全レースを通せば数字は半分になる、ということが普通にあります。

当サイトでは、これら 3 つを全部排除した数字を公開しています。 その結果、現在は単勝 ROI が 1.0 を切っており、リアルベットは行っていません。儲かる予想を売っているのではなく、本当の実力を見せています。

5. 賭けるべきタイミング

当サイトは、以下の条件を全て満たしたときだけ「リアルでも勝負していい」と判断します。

  • STRICT hold-out ROI が 1.05 以上
  • bootstrap CI の下限が 1.0 以上
  • サンプル数(投票数)が 200 以上
  • selection bias の推定値が小さい (絶対値 0.05 未満が望ましい)

この条件を満たしていない買い目は、推奨はしますが、実際の購入は慎重にお願いします。