第1回で、3日間の収支が-40,030円だと書きました。今回は、その予想を出しているモデルをどう選んだかです。
結論から言うと、配当帯や学習条件を変えながら33通り試しました。少なくとも最初の28通りは、すでに作っていたモデルに一度も勝てませんでした。最終的に効いたのは、単体のモデルをさらに改良することではなく、レースの状態によってモデルを使い分ける方法でした。
当てにいくほど、回収率が落ちる
最初に作ったモデルを「Champion」と呼んでいます。配当がどの帯に入るかを予測し、その結果を使って買い目を出すモデルです。
2024年1月から2026年8月までの148,009レースについて、学習に使っていない期間の予測だけを取り出して測りました。全レースを6点ずつ買った場合の回収率は0.7660でした。
的中率そのものは悪くありません。堅いと判定したレースでは55%程度当たります。それでも回収率が伸びないのは、当たりやすいレースほど配当も安くなりやすいからです。
的中率だけを追うと、人気側の当たりやすい組み合わせへ寄っていきます。しかし、それだけでは回収率は上がりません。
高配当のレースだけで学習させてみた
そこで、配当が3,201円以上になったレースを中心に別のモデルを学習させました。「Jackpot」と呼んでいます。
普通のモデルがすべてのレースを見るのに対して、こちらは高配当になったケースを重点的に見ています。言ってしまえば、荒れたレースばかり勉強しているモデルです。
同じ条件で測ると回収率は0.7785。Championの0.7660より約1.2ポイント上がりました。特に荒れ予報が出ているレースでは、0.7160から0.7705へ約5.5ポイント改善しました。
その代わり、的中率は下がります。当てにいくモデルではないので、これは想定どおりです。そのぶん、当たったときの配当が大きくなります。
そこから33通り試した
数字が上がったので、当然欲が出ました。
「学習に使う配当の範囲を変えれば、もっと良くなるのではないか」と考えたわけです。
下限を2,400円にする。上限を20,000円で切る。中穴だけを見る。大穴だけを見る。配当クラス単位で区切る。
17構成、11構成、5構成と3回に分け、合計33通りを試しました。
少なくとも最初の28構成は全敗でした。1つもJackpotの0.7785を超えません。
配当の下限や上限を少しずつ動かせば簡単に性能が上がる、というほど素直ではありませんでした。条件を細かく調整するほど良くなるわけでもありません。
効いたのは、学習データではなく使い分けだった
そこで方向を変えました。
1つのモデルですべてのレースを予想させるのではなく、レースの状態によって使うモデルを替えます。
全期間で0.7871。ルール作成とは分けて確認した2026年のデータでも0.7908でした。単一のモデルを使い続けるより、状態に応じてモデルを切り替えたほうが良い結果になりました。
面白かったのは、段階を細かく分けること自体にはほとんど価値がなかったことです。
5段階に分けても3段階に分けても、確認期間の数字はほとんど変わりませんでした。効いていたのは「細かく分類すること」ではなく、「状態によってモデルを替えること」でした。
現在、比較用に使っている割り当てはこうなっています。
| 荒れ予報 | 使うモデル | 学習対象の配当 |
|---|---|---|
| L1 堅い 〜 L3 並み | ちょい穴おやじ | 2,400〜18,000円 |
| L4 ちょい荒れ | 一攫千金 | 6,401〜20,000円 |
| L5 くそ荒れ | L4クラス限定 | 6,401〜12,800円 |
いちばん荒れるL5に、6,401〜12,800円という比較的狭い範囲で学習したモデルを使っているのは、少し妙に見えます。私もそう思いました。
モデル切替について25通りの組み合わせを比較したところ、この組み合わせが全期間では最も良い数字になりました。ただし、2026年だけを見るとL5部分の成績は0.80前後から0.77前後まで落ちています。
この部分はまだ信用しきっていません。「数字が一番良かったから正解」とは考えず、今後のデータで確認する必要があります。
先に決めて、あとから動かさない
この実験でいちばん怖いのは、モデルより自分です。
手元には30以上の構成の予測結果が残っています。そこから各期間、各条件で一番良かったものだけを拾い集めれば、見栄えのいい数字はいくらでも作れます。
作れてしまうから、作ってはいけない。
そこで検証の区切りを先に決めました。
2022〜2023年までで学習して2024年を検証。2024年までで学習して2025年を検証。2025年までで学習して2026年1〜8月を検証。この3本です。
未来のデータを学習側へ混ぜず、その時点までのデータだけでモデルを作り、次の期間で確認します。
さらに、ルールを作るために使った期間と、そのルールを確認する期間も分けます。全期間を見て一番良いルールを選び、その同じ全期間で成績を出せば、数字は当然よく見えます。
大事なのは、選ぶためのデータと、答え合わせのデータをできるだけ分けることです。
採用したモデルには日付入りの名前を付けて保存しています。現在の成果物の1つが stage2-payout_combined-20260912T093032 です。新しい実験をするときも、既存の成果物を上書きせず別物として扱います。
公開している予想は、まだChampionのまま
過去データで良い数字が出たからといって、すぐ公開モデルを差し替えてはいません。
現在サイトで公開している買い目は、凍結したChampionを基準にしたままです。
新しい切替方式については、同じレースに対して並行して予測を出し、実際の結果と突き合わせています。
過去のデータで良かったものが、これから先も良いとは限りません。公開後のレースを使って、過去検証と同じ傾向が続くかを確認してから判断します。
それでも0.79
ここまでやって、回収率は0.79前後です。
市場全体の目安になる0.75は上回っていますが、当然1.00には届きません。これだけでは儲かりません。
第1回で書いた公開開始3日間の回収率79.1%も、偶然ぴったり同じような水準に落ち着きました。ただし、3日間の結果と長期間の検証値が近いからといって、モデルの性能が証明されたわけではありません。
現時点では、「モデルそのものを少し改良すれば一気に100%を超える」という感じではなさそうです。
そこで次に考えたのが、予想モデルではなく買い方のほうです。
次回は、期待値を計算して「得だと思われる買い目だけ買えば勝てるのではないか」と試した話を書きます。
理屈はかなり通っていました。
そして、勝てませんでした。


コメント