これまでこのブログでは、ボートレースAIの開発過程や、予想を見るときに注意したいことについて書いてきました。
AIの予想精度を確認するためには、過去のレースデータを使ったバックテストが欠かせません。
しかし、バックテストの結果がよかったからといって、実際の運用でも同じような結果になるとは限りません。
そこで、いよいよ実際のレース時刻に合わせた検証を始めることにしました。
バックテストだけでは分からないこと
バックテストは、すでに結果が確定している過去のレースを使って予想方法を検証します。
多くのレースを短時間で確認できるため、予想ルールの比較や改善にはとても便利です。
一方で、実際の運用では、バックテストにはない問題も出てきます。
たとえば、
- レースの締切前に予想を確定できるか
- 必要なデータを予定どおり取得できるか
- 予想結果を正しく保存できるか
- レース結果を見たあとに予想が変わっていないか
- 購入対象と見送りをルールどおり判定できるか
といった点です。
予想の的中率だけではなく、こうした運用全体が正しく動くかを確認する必要があります。
予想は締切前に固定します
今回の検証では、レース結果が分かる前に予想を確定し、その内容を記録します。
結果を確認したあとで、予想順位や買い目を書き換えることはしません。
予想が外れた場合も、そのまま残します。
これは当たり前のように見えますが、AI予想を検証するうえでは非常に重要です。
結果を見てから都合のよい予想だけを残してしまうと、実際の予想精度や収支は分からなくなってしまいます。
このブログでは、当たった予想だけではなく、外れた予想や改善が必要だった点も公開していきます。
全レースを購入対象にはしません
AIが予想を出したレースを、すべて購入対象にするわけではありません。
今回の検証では、あらかじめ固定した条件を満たしたレースを「PURCHASE」、条件を満たさなかったレースを「SKIP」と判定します。
また、予想が締切前に正常に確定され、検証対象として有効な状態かどうかも記録します。
ただし、PURCHASEは的中を保証するものではありません。
あくまで、事前に決めた検証条件を満たしたという意味です。
購入対象を絞ることで、すべてのレースを無理に買うのではなく、条件による成績の違いを確認していきます。
最初の本番事前判定を実施しました
そして今回、実際のレース時刻に合わせた最初の本番運用を行いました。
AIは予定した時刻に動作し、レースの締切前に予想と購入判定を記録するところまで進むことができました。
予想処理とレース結果の取得・評価処理も分けており、結果を見てから予想を変更するような流れにはなっていません。
まずは、実戦形式で予想を事前に固定するという、今回の検証の土台を作ることができました。
一方で、すべてが完全だったわけではありません。
予想そのものとは別に、処理の終了をより分かりやすく記録する仕組みや、実行前バックアップなど、運用・監査面で改善したい点も見つかりました。
こうした改善点も隠さず、今後の運用に反映していきます。
的中だけではなく回収率も確認します
予想の評価では、的中したかどうかだけを見るつもりはありません。
的中率が高くても、払戻より投資額の方が多ければ、収支はマイナスになります。
そのため、今後は次のような内容を確認していきます。
- 購入対象となったレース数
- 的中数
- 投資額
- 払戻金額
- 収支
- 回収率
- 連敗数
- ドローダウン
短期間の結果だけで、AI予想が成功した、失敗したとは判断できません。
一定期間の結果を積み重ねながら、予想条件が本当に有効なのかを検証していきます。
予想記事と結果検証を公開します
今後は、実際にAIが出した予想内容を記事として掲載していきます。
予想記事では、AI予想順位、上位3艇、買い目、購入判定、判定時刻などを掲載します。
その後、レース結果が確定したら、的中・払戻・収支・回収率を確認します。
予想記事と結果を分けて残すことで、予想を後から変更していないことも確認できるようにします。
最初から高い回収率を出せるとは考えていません。
外れる日や、連敗する期間もあると思います。
それでも、予想と結果を継続して記録し、どこに問題があるのかを確認することが、AI予想を改善するための第一歩だと考えています。
次回から、実際のボートレースAI予想を公開していきます。

コメント