競馬AI開発メモ:馬の脚質を数値化すると勝率予測に効くのか?

競馬AI開発

はじめに

今回は「馬の脚質」を数値化したときに、LightGBMの1着予測精度が改善するかを確認しました。

脚質とは、レース中での馬の位置取り傾向のことです。「逃げ(先頭付近)」「先行」「差し」「追込(後方から)」のように分類されます。ただし、脚質は馬の固定属性ではなく、距離・競馬場・騎手・メンバー構成によって変わる可能性があります。

今回は単純なラベル付けだけでなく、過去走の通過順から複数の脚質特徴量を作り、どの作り方が予測精度に効くかを比較しました。

今回確認すること

  • 過去走の通過順から脚質特徴量を数値化できるか
  • 脚質特徴量を追加するとLightGBMの1着予測AUCが改善するか
  • どの数値化方法(前走のみ・複数走平均・連続値指数・ラベル割合)が効くか
  • 距離変更・競馬場変更・騎手変更によってノイズが増えるか
  • 人気あり・なしで脚質特徴量の効果が変わるか

脚質をどう数値化するか

通過順の扱い

地方競馬のDBには 通過1通過4 のカラムがありますが、短距離レースでは4角まで通過しない場合があります。

そのため、4角固定ではなく、取得できる通過順のうち 最初(first) と 最後(final) を使いました。

通過1, 通過2, 通過3, 通過4 がある場合: first=通過1, final=通過4
通過3, 通過4 だけがある場合: first=通過3, final=通過4
通過1, 通過2 だけがある場合: first=通過1, final=通過2
通過順がない場合: 欠損(NaN)扱い

位置は頭数で正規化しています:

position_rate = (通過順 - 1) / (出走頭数 - 1)

前にいるほど0に近く、後ろにいるほど1に近い値になります。

今回のデータでは、通過順が取得できたレコードは 1,062,107件 / 1,062,107件(100.0%)でした。

重要:今走の通過順は使っていない

今走の通過順はレース後にしか分からない情報です。そのため、今走の通過順・4角位置・脚質ラベルは特徴量に使っていません。

使っているのは、過去走から計算した通過順・位置取り傾向のみ です。

すべての脚質特徴量は shift(1) してから rolling() で計算しており、今走の情報は含まれません。

使用データ

  • データソース: ローカル環境のレース結果データベース(common.db
  • 対象テーブルresult_table
  • 目的変数(主)1着(1着に入るか)
  • 目的変数(補助)3着内(3着内に入るか)
  • 除外条件: 着順が0またはNULLのレコード(取消・除外・中止など)を除外
  • 帯広除外: ばんえい競馬(帯広)を除外しました(124,418件)。ばんえい競馬は通常の地方競馬とはレース構造が異なるため、脚質の意味が他場と異なる可能性があります。
分割期間件数正例率(1着割合)
訓練 (train)2017-01-01 ~ 2022-12-31787,3810.100
検証 (valid)2023-01-01 ~ 2023-12-31136,3540.100
テスト (test)2024-01-01 ~ 2024-12-31138,3720.099

作成した脚質特徴量

以下の8パターンの特徴量セットを比較しました。

  • A_baseline: ベース特徴量のみ(脚質なし)
  • B_prev_race: 前走の first/final position rate + position gain
  • C_rolling: 直近3走・5走の平均 first/final position rate・gain・標準偏差
  • D_indices: 連続値の脚質指数(front_index / early_front_index / closing_index / style_stability)
  • E_labels: 脚質ラベル割合(逃げ・先行・差し・追込の割合)直近5走
  • F_distance: 距離帯を考慮した脚質(同距離帯の平均 position rate)
  • G_track: 競馬場を考慮した脚質(同競馬場の平均 position rate)
  • ALL_style: すべての脚質特徴量を結合

脚質ラベルのしきい値(仮の定義)

今回は以下のしきい値で脚質ラベルを定義しましたが、これは仮の定義です。

しきい値を変えると結果が変わる可能性があります。

脚質条件
逃げfinal_position_rate <= 0.1
先行0.1 < final_position_rate <= 0.35
差し0.35 < final_position_rate <= 0.7
追込final_position_rate > 0.7

比較方法

時系列分割(ランダム分割なし)でLightGBMモデルを学習しました。

訓練期間: 2017-01-01 ~ 2022-12-31
検証期間: 2023-01-01 ~ 2023-12-31
テスト期間: 2024-01-01 ~ 2024-12-31

各特徴量セットについて、以下の2条件で比較しました:

  1. 人気なしモデル: 人気(単勝人気順)を特徴量に含めない
  2. 人気ありモデル: 人気(単勝人気順)を特徴量に含める

人気ありモデルの結果から、人気には脚質や展開をある程度織り込んでいる可能性があります。

結果

人気なしモデル(1着予測)

特徴量セットAUC (test)logloss (test)Brier (test)AUC差分(Aとの比較)
A_baseline0.73410.28950.0823
B_prev_race0.74540.28650.0818+0.0113 (改善)
C_rolling0.74680.28580.0816+0.0127 (改善)
D_indices0.74670.28570.0816+0.0126 (改善)
E_labels0.74550.28620.0817+0.0114 (改善)
F_distance0.74490.28640.0818+0.0108 (改善)
G_track0.75110.28470.0815+0.0170 (改善)
ALL_style0.77360.27640.0795+0.0395 (改善)

人気ありモデル(1着予測)

特徴量セットAUC (test)logloss (test)Brier (test)AUC差分(Aとの比較)
A_baseline0.84610.24370.0714
B_prev_race0.84600.24380.0714-0.0001 (同程度)
C_rolling0.84600.24370.0714-0.0001 (同程度)
D_indices0.84610.24370.0714+0.0000 (同程度)
E_labels0.84600.24370.0714-0.0001 (同程度)
F_distance0.84610.24370.0714+0.0000 (同程度)
G_track0.84610.24370.0714+0.0000 (同程度)
ALL_style0.84620.24360.0713+0.0001 (同程度)

人気なしモデル(3着内予測)補助確認

特徴量セットAUC (test)logloss (test)Brier (test)
A_baseline0.71960.54220.1819
B_prev_race0.72980.53590.1797
C_rolling0.72870.53600.1798
D_indices0.72900.53580.1798
E_labels0.72770.53680.1801
ALL_style0.75280.51910.1733

脚質特徴量の重要度(人気なし・ALL_style)

特徴量名重要度(gain)
relative_front_index223969.9
past3_avg_rank169755.9
past3_top3_rate54556.8
race_avg_front_index40802.6
馬体重35174.2
同走馬の数28683.5
track_avg_final_pos26561.9
prev1_final_pos_rate17267.8
escape_candidates_in_race15105.1
roll5_std_final_pos14078.0
年齢13344.3
roll3_std_final_pos12443.6
距離11666.2
斤量11605.2
馬体重増減11396.7

条件別サブグループ分析(ALLスタイル特徴量・テスト期間)

条件AUCloglossBrierサンプル数
距離帯変更あり0.76740.26310.074525,187
距離帯変更なし0.77850.27080.0776107,883
競馬場変更あり0.75880.29240.084719,444
競馬場変更なし0.77950.26540.0757113,626
騎手変更あり0.76040.24720.068557,192
騎手変更なし0.78330.28610.083475,878

考察

今回のデータでは、人気なしモデルにおいて ALL_style の特徴量セットが ベースライン(脚質なし)に対してAUCで+0.0395の改善が見られました。

また、脚質は馬の固定属性ではなく、距離・競馬場・騎手の判断・メンバー構成によって変わる可能性があります。

人気ありモデルの結果から、人気が脚質情報の一部をすでに織り込んでいることが推察されます。

タイトルとURLをコピーしました