ボートレースでは、毎日多くのレースが開催されています。
すべてのレースを予想し、毎回舟券を買えば、当たる回数は増えるかもしれません。
しかし、購入するレースが増えれば、その分だけ投資額も増えます。
予想の自信が低いレースまで買い続けると、的中率はそれほど悪くなくても、回収率が下がる可能性があります。
そのため、現在開発しているボートレースAIでは、すべてのレースを購入対象にはしていません。
AIが比較的判断しやすいレースだけを選び、それ以外は見送る仕組みを採用しています。
この記事では、なぜレースを選別する必要があるのか、現在のAIがどのように購入候補を決めているのかを紹介します。
予想できることと、買えることは違う
AIは、データがそろっていれば、基本的にすべてのレースで予想順位を出せます。
しかし、順位を出せることと、舟券を買う価値があることは同じではありません。
例えば、AIが次のような順位を出したとします。
- 1号艇
- 2号艇
- 3号艇
この順位だけを見ると、1号艇を最も高く評価していることは分かります。
ただし、1号艇と2号艇の評価がほとんど同じ場合、AIが1号艇を明確に上位と判断しているとは限りません。
順位は付いていても、実際には僅かな差しかない場合があります。
このようなレースまで同じように購入すると、AIの判断が不安定なレースも買うことになります。
そこで、予想順位だけでなく、評価の差にも注目する必要があります。
全レースを買うと投資額が増えやすい
ボートレースでは、1日に複数の競艇場でレースが行われます。
仮に1日100レースをすべて100円ずつ購入すると、投資額は1万円です。
的中があったとしても、低配当が多ければ投資額を回収できません。
また、買い目を複数に増やせば、1レースあたりの投資額はさらに大きくなります。
購入対象を増やすことには、次のような問題があります。
- 投資額が増える
- 自信の低いレースも含まれる
- 低配当では投資額を回収しにくい
- 連敗したときの損失が大きくなる
- 成績の悪い条件が全体の回収率を下げる
大切なのは、何レース当てたかだけではありません。
最終的に、投資した金額に対してどれだけ戻ってきたかを見る必要があります。
そのため、回収率を重視する場合は、買うレースを絞る考え方が重要になります。
AIの1位評価と2位評価の差を見る
現在開発しているAIでは、各艇にスコアを付け、スコアの高い順に予想順位を作ります。
そのうえで、AIが予想1位にした艇と、予想2位にした艇のスコア差を確認しています。
この差を、開発上では「top1_gap」と呼んでいます。
考え方は単純です。
- 1位と2位の差が大きい
→ AIが1位候補を比較的はっきり評価している - 1位と2位の差が小さい
→ AIがどちらを上位にするか迷っている可能性がある
例えば、次のようなケースを考えます。
スコア差が大きい場合
| 予想順位 | 艇 | スコア |
|---|---|---|
| 1位 | 1号艇 | 78 |
| 2位 | 2号艇 | 62 |
| 3位 | 3号艇 | 55 |
この場合、1位と2位の差は16です。
AIは1号艇を、2号艇よりも明確に高く評価しています。
スコア差が小さい場合
| 予想順位 | 艇 | スコア |
|---|---|---|
| 1位 | 1号艇 | 68 |
| 2位 | 2号艇 | 66 |
| 3位 | 3号艇 | 58 |
この場合、1位と2位の差は2です。
順位は1号艇が上ですが、評価差はほとんどありません。
現在のAIでは、このようなスコア差を使って、購入候補と見送り候補を分けています。
現在は11.02を基準にしている
現在のForward Testでは、top1_gapが11.02以上のレースを購入候補としています。
つまり、
- top1_gapが11.02以上
→ 購入候補 - top1_gapが11.02未満
→ 見送り
というルールです。
11.02という数値は、Forward Testの結果を見ながら後から決めたものではありません。
過去の学習用データだけを使って、事前に決定しました。
Forward Testを始めた後は、結果が悪くても、この基準を途中で変更しません。
結果を見ながら閾値を変えてしまうと、良かった条件だけを残すことができてしまうからです。
それでは、AIが本当に新しいレースで通用するかを判断できません。
見送ることも予想の一部
舟券を買わないと、何も予想していないように感じるかもしれません。
しかし、回収率を考えるうえでは、見送る判断も重要です。
AIが予想順位を出したとしても、
- 上位評価の差が小さい
- どの艇も決め手に欠ける
- AIの判断に十分な強さがない
と判断した場合は、無理に買わない方がよい可能性があります。
これは、AIが必ず当たるレースを見つけているという意味ではありません。
あくまで、過去のデータ上で比較的成績が良かった条件に絞っているだけです。
購入候補に選ばれたレースでも外れることはあります。
反対に、見送ったレースで予想が当たることもあります。
それでも、事前に決めたルールを守り、長期的な結果を確認することが重要です。
見送りレースが多くても異常ではない
現在の戦略では、条件を満たさないレースは購入しません。
そのため、1日に多くのレースを収集しても、実際の購入候補は一部だけになります。
例えば、36レースを分析して購入候補が10レースだった場合、残りの26レースは見送りです。
見送りが多いと、購入機会が少なく感じるかもしれません。
しかし、目的は毎回舟券を買うことではありません。
AIの判断が比較的明確なレースだけを残し、回収率が改善するかを検証することが目的です。
見送った数も、購入した数と同じように記録する必要があります。
レースを絞れば必ず勝てるわけではない
購入対象を絞ることで、必ず回収率が100%を超えるわけではありません。
レース数を絞りすぎると、次のような問題もあります。
- 的中機会が減る
- 少ない結果で成績が大きく変動する
- 高配当の的中を逃す可能性がある
- 閾値が過去データに合いすぎている可能性がある
そのため、見送り基準そのものも、長期間のForward Testで確認する必要があります。
数日間だけ成績が良くても、それだけで有効とは判断できません。
購入件数が50件、100件と増えたときに、的中率や回収率がどう変化するかを見ることが重要です。
このブログで公開すること
このブログでは、購入したレースだけでなく、見送ったレース数も公開していく予定です。
主に次の項目を記録します。
- 分析したレース数
- 購入候補になったレース数
- 見送ったレース数
- 的中数
- 投資額
- 払戻額
- 収支
- 回収率
- 連敗数
- ドローダウン
購入した結果だけを見せるのではなく、どのような条件でレースを絞ったのかも含めて公開します。
まとめ
現在開発しているボートレースAIでは、すべてのレースを購入対象にはしていません。
AIが出した予想順位に加えて、1位評価と2位評価の差であるtop1_gapを確認し、購入候補を選んでいます。
現在の基準は11.02です。
この基準を満たさないレースは、AIが順位を出していても見送ります。
ただし、レースを絞れば必ず勝てるわけではありません。
重要なのは、事前に決めた条件を変えずに検証し、長期的な的中率と回収率を確認することです。
今後も、購入したレースだけでなく、見送ったレースや外れた結果も含めて公開していきます。


コメント