騎手勝率

競馬における騎手

競馬のレース結果において、馬の能力が7割、騎手の能力が3割といわれるほど、勝敗に騎手の影響は強くかかわっています。このため、騎手に関連した特徴量を競馬の予想モデルに組み込むことは精度向上に不可欠です。ここでは、騎手勝率を特徴量として加える方法を紹介します。

騎手勝率の種類

競馬で騎手勝率を特徴量として使用する場合、以下のような種類の勝率が考えられます。それぞれが異なる視点から騎手のパフォーマンスを捉えるため、分析目的に応じて使い分けることが重要です。


1. 全体勝率

騎手がこれまでの全レースで3着以内(複勝率)の割合を使用します。

  • 計算例: 騎手が100レースに出場し、そのうち20回3着以内なら勝率は20%。
  • 特徴: 騎手全体の実力を長期的に評価できる。ただし、最近のパフォーマンスを反映しづらい。

2. 期間限定勝率

特定の期間(例: 過去1ヶ月や直近50レース)の勝率です。

  • 利点: 最近のパフォーマンスを重視することで、現在のコンディションを反映可能。
  • 課題: サンプル数が少ない場合、データの偏りが発生しやすい。

3. コース別勝率

特定の競馬場やコースでの勝率を計算します。

  • : 東京競馬場での勝率、芝コースでの勝率など。
  • 特徴: 騎手の得意な競馬場やコースの特性を把握できる。
  • 用途: レースの開催地やコース特性に応じた予測モデルで有効。

4. 距離別勝率

特定の距離(例: 短距離、中距離、長距離)での勝率です。

  • 特徴: 騎手が得意とする距離区間を評価可能。
  • 用途: 距離適性を考慮した予測に有用。

5. 馬の人気別勝率

騎手が出場したレースで、馬の人気(オッズ順位)別の勝率を算出します。

特徴: 騎手の能力と馬の力がどの程度影響しているかを分解可能。

: 1番人気の馬に騎乗した際の勝率 vs. 10番人気の馬に騎乗した際の勝率。


6. 対戦相手に応じた勝率

出場したレースで、強豪とされる騎手や馬との対戦結果を考慮した勝率。

  • 特徴: 騎手がどの程度強い相手と戦って勝利しているかを評価可能。
  • 用途: レースの競争レベルを考慮した特徴量として活用。

pythonを用いた騎手勝率の算出

pythonのコードとして、全体勝率(騎手がこれまでの全レースで3着以内(複勝率)の割合)の算出方法を紹介します。

#フィールド変化
from tqdm import tqdm
import pandas as pd

#競馬データ読み込み
keiba_data=pd.read_csv(r"〇〇") #〇〇には競馬データ.csvのファイルパスを入力

#障害競争を省く
keiba_data=keiba_data[keiba_data["フィールド"].str.contains('芝|ダ')]
#馬場を良、稍に絞る
keiba_data=keiba_data[keiba_data["馬場"].str.contains('良|稍')]
#3歳以上、4歳以上に絞る
keiba_data=keiba_data[keiba_data["系種"].str.contains('サラ系3歳以上|サラ系4歳以上')]
#3着以内のカラムを作る
keiba_data["3着以内"]=keiba_data["着順"].apply(lambda x:1 if x>=1 and x<=3 else 0)

#groupbyで騎手ごとの3着以内の勝率を出す
kisyu_data = keiba_data.groupby(['騎手'])['3着以内'].mean().reset_index()


投稿者プロフィール

ひよこい
ひよこい
独学でpythonを学び競馬予測しています。これまでの競馬成績は以下の通り。回収率150%を目指します。
2021年回収率:119%
2022年回収率:104%
2023年回収率:121%
2024年回収率:88%
PAGE TOP