🧪 2モデル並走検証中
Stride AI は現在、性格の異なる2種類の予想モデルを同時に動かして検証しています。長期実績(数百〜千件規模の買い目)で優劣を見極める方針です。
| A. 市場込みモデル (従来運用中) | B. 市場除外モデル (新規・検証中) | |
|---|---|---|
| 学習に使う情報 | 馬の能力データ + 単勝オッズ・人気 | 馬の能力データのみ (オッズ・人気は学習から除外) |
| 考え方 | 市場の集合知に乗りつつ、AI で歪みを見つける | 馬の能力だけで「真の勝率」を推定 → 実オッズで期待値判定 |
| 強み | 市場が自然に校正してくれるので確率が安定 | 市場と完全に独立した判断 → 大穴での優位性が出やすい |
| 弱み | 市場が織り込んだ情報の範囲を超えにくい | 確率の校正に キャリブレーション補正が必要 (実装済) |
戦略別 バックテスト ROI 比較 (4-fold walk-forward)
| 戦略 | A. 市場込みモデル | B. 市場除外モデル + キャリブ |
|---|---|---|
| EV最大1点 | 344%±53 / min 294% ✅ | 282%±34 / min 254% ✅ |
| EV≥0.3 / 5〜30倍 全買い | 299%±24 / min 258% ✅ | 255%±20 / min 239% ✅ |
| 予測勝率最大1点 | 258%±14 / min 245% ✅ | 259%±20 / min 241% ✅ |
| EV+ / 5〜30倍 全買い | 257%±21 / min 224% ✅ | 240%±18 / min 224% ✅ |
| EV+ / 3〜50倍 全買い | 248%±21 / min 220% ✅ | 239%±16 / min 211% ✅ |
数値は 平均 ROI (±std / 最悪 fold)。✅ は全 fold で ROI > 100%。 学習に使わなかった独立期間での過去シミュレーションです。実運用結果ではありません。
「キャリブレーション(キャリブ)」って何?
一言でいうと、AI が言う「勝率」を、現実の勝ち負けに合わせて補正する仕組みです。
AI モデルが「この馬の勝率は 30%」と予想したとき、実際にちょうど 30% 勝つとは限りません。 過去データを集計すると、たとえば「AI が 30% と予想した馬たち」を全部買ったとき、現実には 25% しか勝っていない、というズレが起きがちです。 特にオッズや人気を学習から外した「市場除外モデル」では、馬の能力情報だけで確率を出すので、こうしたズレ(キャリブレーション誤差)が大きくなりやすい性質があります。
そこで、「AI の予想 X% の馬は、実際は Y% 勝ってましたよ」というズレを過去データから測り、自動で補正します。 Stride AI が採用しているのは Isotonic Regression(等張回帰) という方法で、AI の確率を単調(順位を保ったまま)に補正する仕組みです。順位は変えず、数字だけを「実態に合った勝率」に近づけます。
なぜこれが大事か?
買い目を決める「期待値 (EV) = AI 予想勝率 × オッズ − 1」の計算で、勝率の数字がズレていると EV も全部ズレます。
キャリブ補正後は AI 勝率と現実の勝率がほぼ一致するので、「期待値 +30%」と表示された買い目を続ければ、長期的にはおおむね +30% の利益が見込める、という直感的な意味で EV を信頼できるようになります。
技術的な余談: 補正は当日の予測には学習に使っていない直近期間 (inner validation) で測り、それを当日予測へ適用しています。 補正による平均勝率の変化は ±3%pt 程度(実装の実測値)で、レース内 1 位の馬が下位に転落するようなことは起きません。順位は保ったまま、絶対値だけ実態に寄せます。
なぜ2つ並走させるのか?
バックテスト(過去データのシミュレーション)で良い数字が出ても、本番運用で同じ結果になるとは限りません。
情報源が異なる2モデルを並行で動かし、本物の独立データで挙動を比較することが、最も信頼できる検証方法だと考えています。
※ サイト下部の推奨買い目は、両モデルの結果を並列で表示しています(片方が予測なしの場合は空欄)。本サイトでは過去 4-fold すべてで ROI 100% を超えた組合せのみを「採用戦略」として表示・推奨対象としています。
使用しているAIモデル
本サイトの予想は、勾配ブースティング決定木の高速実装である LightGBM (lambdarank) を用いた機械学習モデルによって生成されています。現在は上記のとおり 2つのモデル(市場込み / 市場除外+キャリブ)を並行公開しており、いずれも同じ LightGBM (lambdarank) をベースに、学習に使う情報を変えています。
直近の検証テスト結果
下記は 学習に使わなかった検証データ(—)で評価した結果です。本サイトの推奨はこのモデルに基づいて自動生成されています。
戦略別 シミュレーション結果
各戦略について、検証期間の全レースに適用した場合の的中率と回収率です。100% 超で長期的に利益が期待できます。
| 戦略 | ベット数 | 的中数 | 的中率 | 回収率 |
|---|---|---|---|---|
| 各レース AI1位馬の単勝 | 4,952 | 2,571 | 51.9% | 112.3% |
| AI勝率15%以上の1位馬の単勝 | 4,933 | 2,566 | 52.0% | 112.5% |
| AI勝率20%以上の1位馬の単勝 | 4,912 | 2,560 | 52.1% | 112.7% |
| AI勝率25%以上の1位馬の単勝 | 4,788 | 2,521 | 52.7% | 112.6% |
| AI勝率30%以上の1位馬の単勝 | 4,450 | 2,427 | 54.5% | 113.0% |
| 期待値プラスの1位馬の単勝 | 4,731 | 1,497 | 31.6% | 262.2% |
| 期待値+10%以上の1位馬の単勝 | 4,275 | 1,345 | 31.5% | 277.9% |
| 期待値+20%以上の1位馬の単勝 | 3,684 | 1,131 | 30.7% | 296.3% |
※ 上記は過去データでのシミュレーション結果であり、将来の運用結果を保証するものではありません。
特徴量カテゴリ
- 馬個体の能力過去N走の勝率・3着内率・平均着順、累積成績、近走着順の安定性、上り3F平均、推定タイム指数
- 騎手・調教師の調子直近10/20/50走の勝率、コース別勝率、調子の上昇トレンド
- コース適性同距離・同馬場・同コース種別での過去成績
- 市場情報単勝オッズ、人気、レース内相対評価
- レース条件距離、コース種別、馬場状態、天候、クラス、出走頭数
- 馬体・斤量馬体重、増減、斤量、前走比、休養日数
バックテストの考え方
- 時系列分割2023年4月~2025年7月を学習、2025年8月以降を検証データとして分離
- 各foldごとにオッズモデルを再フィット未来のオッズが予測に漏れないよう分離
- 確定オッズで払戻計算予想時オッズではなく確定後のオッズで実際の払戻を再計算
- ケリー基準でベット額を決定1/20ケリーで資金管理、破産確率を実質ゼロに
運用実績(確定オッズベース)
※ サンプル数が少ない時期の数値はばらつきが大きいため、長期的な傾向としてご覧ください。
サイトの更新サイクル
その日の予想はレース当日に何度も更新しています。最新のオッズや出走情報がなるべく反映されるように設計しています。
朝のオッズは仮や未公開の場合があります。発走30分前以降の表示が、より実態に近い数字です。
モデル運用で行っていること
- 毎日のデータ収集前日までの全レース結果・確定オッズ・払戻・出走馬データを自動取得し、データベースを更新します
- 当日朝の一括予想その日の全レースに対して、過去成績と前日までの傾向を反映した予想を生成します
- 日中の継続更新オッズが動くたびに期待値が変わるため、30分おきの定期更新に加え、各レース発走10分前と3分前にも最新オッズで再計算します
- 結果の照合と記録各レース確定後、推奨買い目と実際の払戻を照合し、運用実績ページに反映します
- 月次のモデル再学習過去3年分のレースを使ってAIモデルを再フィット。馬・騎手・コースの最新傾向を取り込みます
特徴量重要度
次回のモデル再学習後に top 20 特徴量を公開します。LightGBM の gain ベースの重要度を、全 booster で平均した値です。
モデルの限界・注意点
- 予測勝率はあくまで参考値で、100%確実な予測はできません
- 締切前のオッズ変動で期待値プラスが消滅することがあります
- 出走取消・除外馬は推奨対象から外れます
- 市場構造の変化(騎手引退・コース改修等)で過去傾向が変わることがあります
- 累計買い目が数百を超えるまでは統計的なばらつきが大きくなります