自作した競馬予測モデルを今後1年間のGIレースに適用して性能を検証してみようと思います。
本稿は、検証したレースの予測結果と、実際のレース結果を受けてのモデルの挙動に関する所感をまとめておく記録用の記事となります。
予測結果までスキップする▶天皇賞-春予測結果
予測モデルの概要と検証方法
ベース
今回、モデルを2種類構築しましたが、使用するデータや加工は両モデルで同じです。
- アルゴリズム:LightGBM
- モデル①:スピード指数予測モデル
- モデル②:3着以内予測モデル
使用データ概要
| 分野 | 指標 |
|---|---|
| レース情報 | 会場, レース目, 距離, トラック種別, 重賞, レースクラス, 年齢クラス, 性別クラス, 頭数, 天気, 馬場 |
| 出走馬情報 | horse_id, 枠番, 馬番, 性別, 年齢, 斤量, 馬体重, 前走比, jockey_id, trainer_id, 累計獲得賞金, 輸送距離, 会場_相性, トラック種別_相性,馬番_相性, 騎手_相性, 馬場_相性, 天気_相性 |
| 前走~3走 | タイム, Last3F, 着順, スピード指数, 馬場指数, 会場, レース目, 距離, トラック種別, レースクラス, 頭数, 天気, 馬場, 枠番, 馬番, jockey_id, trainer_id |
基本的にはnetkeibaの中央競馬のデータをスクレイピングし加工しています。
相性は、過去の同条件のレースでの賞金獲得実績から算出しています。
スピード指数はこちらのサイトの算出方法を参考に、自身で算出プロセスを組みました。
https://team-d.club/speed-index/about-speed-index/
算出には過去3走の実績を使用しているので、中央競馬の出走実績が3走に満たない馬は予測の対象外となります。
スピード指数予測モデル
- 予測手法:回帰
- 目的変数:スピード指数
- 購入対象(フラグ):スピード指数上位5頭
継続的な検証をするには1レースで5頭は多すぎる気もしますが、シミュレーションでは上位3頭よりは網羅できる結果となっていたので、これで行きたいと思います。
3着以内予測モデル
- 予測手法:分類
- 目的変数:flg(3着以内だと1)
- 購入対象(フラグ):予測確率上位3頭
こちらのモデルは、キャリブレーション(sigmoid、isotonic)やオッズに応じた予測確率の補正を施しています。
検証方法
2026年に中央競馬で開催されるGIレースを対象として予測結果に従って単勝馬券を購入します。
ただし、予測対象の頭数が出走頭数の過半数に満たないときは、そのレースの購入を見送ります。
モデル別に毎レースの回収率を算出し、結果を検証します。
最終的に有馬記念までの合算した回収率から実績を評価します。
天皇賞-春予測結果
| 馬番 | 馬名 | 予測スピード指数 | 3着以内予測確率 | 参考単勝オッズ | 人気 | flg_1 | flg_2 |
|---|---|---|---|---|---|---|---|
| 6 | エヒト | 84.6073 | 0.213639 | 113.4 | 11 | ○ | - |
| 11 | タガノデュード | 84.5124 | 0.45076 | 37.3 | 6 | ○ | ○ |
| 12 | ヘデントール | 84.5115 | 0.18522 | 5.1 | 3 | ○ | - |
| 3 | アドマイヤテラ | 84.4821 | 0.328059 | 3.2 | 2 | ○ | - |
| 7 | クロワデュノール | 84.4468 | 0.386098 | 1.8 | 1 | ○ | ○ |
| 2 | サンライズソレイユ | 84.2109 | 0.174553 | 173.4 | 14 | - | - |
| 13 | ミステリーウェイ | 83.9135 | 0.146202 | 52 | 8 | - | - |
| 8 | シンエンペラー | 83.5987 | 0.108147 | 27.5 | 5 | - | - |
| 15 | ヴェルテンベルク | 83.1623 | 0.224068 | 149.5 | 12 | - | - |
| 10 | マイネルカンパーナ | 83.0786 | 0.229972 | 105.5 | 10 | - | - |
| 9 | プレシャスデイ | 83.0011 | 0.216605 | 213.2 | 15 | - | - |
| 5 | ケイアイサンデラ | 81.5496 | 0.141396 | 169.5 | 13 | - | - |
| 4 | アクアヴァーナル | 79.2117 | 0.338213 | 21.2 | 4 | - | - |
| 14 | ホーエリート | 78.518 | 0.374687 | 38.5 | 7 | - | ○ |
| 1 | ヴェルミセル | 78.1439 | 0.106215 | 80.6 | 9 | - | - |
「flg_1」はスピード指数予測モデルの予測結果をもとに単勝を購入する対象を「○」とし、
「flg_2」は3着以内予測モデルの予測結果をもとに単勝を購入する対象を「○」としています。
※参考単勝オッズと人気は予測時点のものです。
今回は2頭が両モデルのフラグ対象となっているため、両モデルともに的中できる可能性があります。
今年の大阪杯で1着となったクロワデュノールが両モデルともフラグが立っています。
本モデルは大阪杯を的中したことを受けると、一定の信頼が期待できます。
また、例年の天皇賞(春)は堅い決着となる傾向があるともいわれているので、全体的にいいところを抑えられているのではないかと思います。
レース結果を受けての所感
1着:7番クロワデュノール(1番人気)単勝オッズ1.8倍
見事、的中することができました。
| 予測モデル | 的中 | 回収率 |
|---|---|---|
| 予測スピード指数 | ○ | 36.0% |
| 3着以内予測確率 | ○ | 60.0% |
2着に入ったヴェルテンベルクが最後尾で貯めた脚を使い、外から追い越して1着とハナ差まで詰めました。
今回の検証では直接影響はありませんでしたが、他の買い目での購入まで見据えた場合、難しい展開であったと思います。
現在の成績
検証レース数:5
| 予測モデル | 的中率 | 回収率 |
|---|---|---|
| 予測スピード指数 | 60.0% | 29.0% |
| 3着以内予測確率 | 60.0% | 42.8% |
依然として人気馬の勝つ展開が続いていますので、人気の低い馬が勝利するかつその回を的中させる展開にならなければ、このシミュレーション条件下ではまだまだ厳しい状況です。
これからが楽しみですね。
それではまた、次回の検証で。