機械学習による募集馬の成績予測モデル【8/21更新】 | バッタの一口馬主データ分析室

バッタの一口馬主データ分析室

私を楽しむ。それが競馬。

6/22 調教師のデータ処理の方法を変更し、モデル改善

6/28 各パラメーター調整。種牡馬の評価方法を若干調整

7/5 地方からの転厩馬をデータから除外したほか、一部の特徴量について評価方法を微修正

7/13 母の繁殖成績の要素として3~5歳の成績を加え、精度が若干向上

7/23 各項目についての解説を追記。

8/21 社台系4牧場00~20産のAI評価及び基本情報をスプレッドシートで公開しました

 

 こちらの動画で詳しく解説しています。

 

 

  機械学習モデル概要

 社台、ノーザン、追分、白老産の00産~20産の約1万5000頭のデータをcatboostという機械学習手法で学習し、募集馬の成績を予測するモデルを開発しましたので、その仕様について説明します。

 社台、サンデー、シルク、キャロット、東サラ(いずれも社台系牧場生産に限る)の募集馬の評価は、本年度については無料でXやブログにて順次公開します。

 Xで色々と調整した後にブログに投稿するので、いち早く見たいという方はXをフォローしていただければ早めに見ることができるかもしれません。

 @drosshopper01

 

 

  特徴量紹介

性別

 牡馬or牝馬。

 単独の特徴量としては最も大きな寄与度。

 

予測馬体重

 募集時馬体重、胸囲、体高、生年月日、測尺日から予測。

 こちらで予測モデルを一般公開しています。

 

生月

 一応代表的な特徴量なので学習させていますが、成績にはほとんど影響しません。

 

牧場

・ノーザン、社台、追分、白老のどこが生産したかについてのみ

 

 ノーザン>社台>追分>=白老

 育成は考慮せず。

 この点については改善の余地はありますが、育成牧場についてまとめている取得しやすいデータが存在せず、現状は生産牧場のみの評価となっています。

 なお、この点について、白老生産馬について深堀してみたところ、育成牧場は

 ノーザン>社台>>>>>>追分

 という結果が出ています。

 そのため、牧場評価を人間の手によって評価値を補正する余地は大いにあります。

 

調教師

・デビュー年

・AEI偏差値

 

 学習時は各馬の募集時の成績で評価しており(例:00産であれば01年6月1日時点の成績)、未来リーク対策済。未来リーク対策についての詳細は種牡馬の項目を参照。

 なお、開業2年以内の厩舎はすべて若手調教師というくくりで評価しており、差は設けていません。そのため、どう考えても有望な若手がいる場合は、補正する必要があります。

 

種牡馬

・産駒デビュー年

・種付料

・AEI偏差値


 まだ産駒が走っていない種牡馬の評価は、実質的には種付料のみの評価となるので、AIは非常に苦手としています。この点は、人の感覚的な評価の方が優れていると思うので、産駒未デビューの種牡馬については補正の余地があります。

 注意したいのが、AIには3歳が走っている場合の産駒AEIを与えているので、2歳だけが走っている種牡馬は、まだ産駒が走っていないのと同じ扱いになるということです。例えば、2025年7月時点で、コントレイル、クリソベリルなどはすでに2歳が走っていますが、2歳の成績は全く考慮されていません。すでに走っている2歳の成績から、種牡馬の能力を予測して補正するのは有力な補正方法の一つだと思います。

 

 また、AEIではなく、「AEI偏差値」となっている理由についても付言します。

 AEIは、1頭当たりの賞金獲得額が、全体平均の賞金獲得額に比べてどれぐらい多いかを示す指標です。すると、当然、馬が若ければ若いほど不利になり、デビューしてからそれほど日が経っていない種牡馬には非常に不利な指標になります。

 それを避けるため、世代ごとのAEIの偏差値を出して、デビュー済の3歳以上になっている世代の偏差値を平均するという方法で当該種牡馬のAEI偏差値を出して評価しています。

 これによりまだ3歳以上の世代が1世代しかない種牡馬も、10世代以上いるベテラン種牡馬も同じ基準で比べることができます。 

 

 ついでに、未来リークを防ぐ仕組みについても少し詳しく解説します。仕組み自体は調教師のところと同じですが、種牡馬の方が説明しやすいので。

 例えば、キズナの初年度産駒を評価する場合を例にとって考えましょう。

 AIにAEIに関する数値を与えるときに、現時点で分かっているキズナ産駒の全成績のAEI偏差値を与える方法と、その馬の募集時のキズナ産駒のAEI偏差値を与える二つの方法が考えられます。

 この場合、全成績のAEI偏差値を与える方が、過去に走った馬の評価を行う上では当然精度が上がります。

 キズナの種付料は、初年度産駒募集時は350万円であり、この350万円しか指標がない状態で評価すると、産駒の評価はかなり低くなりますが、実際にはキズナ産駒はかなり走っており、種付料と実際の成績のギャップがかなりあります。

 一方、キズナの現時点で分かっている全成績のAEI偏差値を与えれば、キズナ産駒は走るんだということをAIに学習させることができるので、AIは適切な評価ができます。

 しかし、後者の方法で精度を高めても全く意味がありません。

 我々はその種牡馬が本当に走る産駒を出すのかわからない状態で検討せざるを得ないのに、AIはわかった状態で評価していたら、そのAIの出す評価がどの程度信頼できるのか評価を誤ることになります。データは手間がかかったとしても、評価対象馬の募集時のデータを用意しなければなりません。

 そのため、種牡馬のAEI偏差値は

① 〇〇年の6月までの成績の世代ごとの種牡馬AEIを計算

② 各世代のAEI偏差値を平均して、〇〇年の種牡馬のAEI偏差値を算出

③ ①②を評価対象年である21年分、全種牡馬で繰り返す

という方法でAEI偏差値を算出した上で

④ 各馬の1歳時の種牡馬AEI偏差値をあてはめて評価する

という工程を取っています。非常に面倒ですが、AIの精度を測る上ではこの作業は必須です。

 

 ちなみに、勝上率を評価項目とする余地はありますが、現状のデータ加工方法ではむしろ精度を下げるノイズという判定が出ています。まだ期が浅い種牡馬については、勝上率を参照した方が精度は高いのではないかという感覚はあり、この点は現在研究中です。

 

 

母馬

・出産時年齢

・母競争成績(国内と海外は別基準で評価)

・第〇仔

・繁殖成績(兄姉の平均的な成績&3~5歳の産駒成績)

 

 繁殖成績は2歳上から評価。2歳上(募集時3歳)、3歳上(募集時4歳)については募集時の当該兄姉の成績を参照しました。4歳上(募集時5歳)については引退時の成績を参照しており、一部未来リーク情報が含まれますが、5歳6月以降の成績の変動は小さいので、影響は軽微と思われます。

 なお、母馬の評価については面白い話があります。

 母馬の評価軸は、兄姉の最高成績、兄姉の全成績、兄姉の平均成績、兄姉の直近成績など様々なものが考えられるところ、影響が大きそうなものについて概ね試したつもりです。
 私は、当初、評価軸を増やせば増やすほど精度が高まるのではと思っていましたが、全くそんなことはなくて、増やすことでむしろ精度が悪くなる評価軸があります。
 その典型が兄姉の最高成績です。兄姉の平均成績はかなり精度を高めてくれる評価軸なんですが、それに兄姉最高成績の評価軸をプラスすると精度が落ちるというのは結構衝撃でした。
 人間の言葉に引き直すとすれば、繁殖牝馬を評価する上では、大物を出したか?ということはあまり重要ではなく、平均的にレベルの高い馬を出せているのかの方が重要ということを意味します。これは非常に興味深い結果だと思います。

 

 

注釈

 機械学習は、単独の特徴量の寄与度を探索するのではなく、複数の特徴量の組み合わせ(例:性別×馬体重)を自動で探索してくれます。

 今回は、最大で5つの特徴量の組み合わせを自動探索させてモデルを構築しています。

 そのため、牡馬だったら〇点、牝馬だったら△点といった単純なモデルではなく、特徴量が相互に影響しあって各特徴量の個別の寄与が決定されるので、同じ特徴量(牡馬か牝馬か、予測馬体重が何kgぐらいか等)であっても、他の特徴量の影響で予測値に与える影響が異なります。

 

 

  特徴量の寄与度

 

  モデルの精度

 機械学習では、用意したデータを学習(教師)データとテストデータに分割し、学習データだけを読み込ませてモデルを構築し、テストデータ(モデルにとっては未知のデータ)に含まれる馬の成績を予測し、どの程度の精度が出るのかを測定して精度評価を行います。

 今回は各年度の産駒をテストデータ、そのほかの年度を学習データとして各年度の産駒の成績を予測させるという作業を00産~20産まで21回繰り返すという方法で精度を評価しています。

 これにより、データ全体を未知のデータとして予測したことになり、データ全体の予測精度を測定できます。

 

全体の精度

 

 19分割と細かめに分割した割にはかなりきれいな相関となっており、信頼性は高そうです。

 

 

 

名馬判定結果


 

 名馬もかなり拾えています。

 どういう馬が拾いにくいのかを参照するのにご利用ください。

 

 

  使用上の注意

 このモデルは、13項目(細かく分けると16項目)のデータを使って特定の母から生まれる仔の平均的な成績を予測するモデルとしては非常に高い精度を誇っています。

 例えば、母3勝C、第2仔、父キタサンブラック、牝馬、馬体重予測450kg、調教師手塚等の情報を与えられて、未勝利で終わる確率を計算しろと言われても、人には不可能です。

 しかし、このモデルであればそれが可能であり、そこにこのモデルの評価の参照価値があります。

 

 しかし、繰り返しになりますが、このモデルは

たったの13項目の表面的なデータから

特定の母から生まれる仔の平均的な成績を予測している

にすぎません。

 

 馬体も一切見ていませんし、ツアーに行って牧場の人に話を聞くこともできません。

 また、牝系活力といったデータにしづらい要素も全く考慮していませんし、種牡馬の勝上率・AEI・種付料といった表面的なデータは考慮していても種牡馬の個性(どういう母との組み合わせで好成績が出るのか、いわゆるニックス)もすべて捨象していますし、兄姉の平均的な成績は学習していても、兄姉がどの父の産駒で活躍したのか、どれぐらいの馬格だったのか、なぜ思ったような成績を残せなかったのか(故障か?能力不足か?)、といった要素も一切考慮していません。

 

 こういったデータにするのが困難な情報は、人の目でしっかり補ってやる必要があります。

 このモデルに頼り切って馬選びをすると、上振れした馬を取り逃します。

 

 これらの点に留意しつつ、過信せず、あくまで出資馬検討の一要素として楽しんでください。

 

 

 

  2025年版のAI評価

 社台系牧場00産~20産のAI評価及び各馬の基本情報をスプレッドシートで公開しました。