← サイトトップに戻る

名馬はどこに現れるのか募集馬評価モデルの構築と毛色診断2.0

Report ID: AZKI-LAB-ADV-001
公開日: 2026-07-05

本レポートの結論

目的 Objective

募集馬選びを、勘や経験則だけでなく、まだ走っていない馬の未来を読む統計問題として定式化する。 目的は名馬を当てるのではなく、名馬が現れる本賞金分布のパターンを、募集時点で観測できる情報からどこまで推定できるかを検証することである。 発展的解析である毛色診断についても詳細を記載する。

1. 未出走馬の未来を読む

募集馬選びを「まだ走っていない馬の未来を読む統計問題」として考える。

2. 能力モデルを作る

血統・馬体・価格・厩舎・生産などの募集馬情報から、本賞金や到達クラスを推定する能力モデルを構築する。

3. ベンチマークと比較する

統計学的手法(線形/非線形回帰)を駆使し、相互作用や多重性パラメータを捉える機械学習モデルを構築し、ベンチマークと比較する。

4. 毛色・白斑・流星を読む

毛色・白斑・流星を、体表に現れた観測可能な遺伝的フェノタイプとして扱い、モデルに組み込む。

データを豊富に学習させたモデル構築ではなく、募集馬は可視化できる構造情報なのか、1歳の馬体や毛色から予測できるのかを検討する。
募集馬評価を、未知の競走成績を断定する問題ではなく、募集時点情報から本賞金分布の右尾候補を可視化する問題として定式化した概念図。
Figure 1. 募集馬を評価するためのワークフロー
Full size image

用いたデータ Data

中央出走馬(構造可視化対象)76,102 頭
クラブ募集馬(解析&モデル構築対象)3,716 頭

【Point】過学習とは、モデルが訓練データのノイズや偶然のパターンまで覚え込み、未知データでの精度(汎化性能)が落ちる現象である。募集馬の能力推定は学習も検証も過去データで行うため、テストデータを排他的に分けてもリーク(情報漏れ)による過学習が起こる。種牡馬や厩舎など過去成績から集計される特徴量は検証期間の情報を含みやすく影響が大きいうえ、ノイズまで柔軟に拾う非線形モデル(馬券予想で汎用的なLightGBMやCatBoost)では特に深刻である。本レポートでは、時系列を厳守して必ず過去データのみを学習に使い、過学習しにくい線形モデルで次元削減等の処理を行ったうえで交差検証を実施した。また、CVの繰り返しやハイパーパラメータ選択は、選択行為そのものが評価に漏れて性能を実際より良く見せてしまう。これを内側(選択)と外側(評価)のループに分けて抑えるのがnested CVである。ただし競馬データでこれを厳密に回すと、外側を年度で区切る必要から各テスト年度の右尾が数頭規模まで薄くなり、初期年度は学習データも枯渇するため、バイアスを取る代わりに評価の分散が大きくなる。そこで本レポートでは、nested CVの「選択と評価を分離する」思想は踏襲しつつ、モデル選択・調整は古い年度群だけで完結・凍結し、新しい年度は一切触れずに年度外 holdoutとして当てる設計を採った。時系列に沿ったForward LOYOを主検証、この年度外 holdoutを最終確認とし、最終的には実運用結果で真の性能を報告することを目標にする。

方法 Method

名馬を可視化するには、募集時点で観測できる情報を、どういう設計でモデル化し、検証評価するかが重要である。 本レポートは、未来の競走成績を断定するものではなく、本賞金分布の右尾へ向かう兆候(名馬の現れる領域)を確率分布として整理する。 評価の中心は、右尾や到達クラスの捕捉、順位相関係数や二乗平均平方根誤差(RMSE)を用いる。交差検証は精度だけではなく、年度外での再現性を最重要指標とした(Forward LOYO)。

補足:用いた手法と評価指標

1. 機械学習モデルの整理

本レポートでは、募集時点で観測できる情報から、将来の本賞金分布の右尾に近づく度合いをスコア化した。 目的は個別馬の将来成績を断定することではなく、右尾に入りやすい集団を相対的に並べることである。 ベースラインモデルは、募集価格、測尺、母年齢・産駒順、クラブ、性別、出生月、父、母父などを用いた。

数値変数は中央値補完と標準化、カテゴリ変数は欠損を明示したうえでone-hot化し、正則化線形モデルで log1p(本賞金)を予測した。本馬毛色のみ、種牡馬のみ、血統のみ、測尺のみのモデルは、どの情報源が どの程度の予測シグナルを持つかを見るための比較基準である。最終的な毛色2.0では、補正後の特徴量を用いて、 CatBoost系の本賞金予測ヘッドとElastic Net系のOP到達ヘッドを含む複数モデルを固定ブレンドとして整理した。 毛色特徴は単独で能力を決めるものではなく、募集時点情報、血統構造、馬体情報と統合することで、 右尾を捉える補助シグナルとして強くなると考える。

2. 性能評価バリデーションの整理

交差検証の手法もかなり検討した。Random K-Fold、Repeated Random K-Fold、Standard LOYO、Forward LOYO、 年度外 holdoutを比較し、主検証にはForward LOYO(Leave-One-Year-Out)を用いた。各検証年度について、 その年度より前の出生年だけを学習データとし、その年度の馬を予測する。各馬は評価データとしては1回だけ登場し、 各年度の外部予測を結合して全体の性能指標を計算した。

ランダム分割では同じ世代、父、母父、クラブなどの近い構造が学習側と検証側に同時に現れやすく、 実運用より性能が良く見える場合がある。年度外 holdoutは、モデル選択や調整に使わない年度を最後に残し、 時間が進んでも性能が崩れないかを確認するための、より実運用に近い検証である。

3. 評価値の具体的説明

RMSEは、予測したlog1p(本賞金)と実際のlog1p(本賞金)の平均的なずれを示し、低いほどよい。 ただし、本レポートでは右尾に近い馬を順位として拾えるかを重視したため、グラフでは順位相関でおおよその イメージが掴めるようにし、RMSEの図示は省略した。Spearman順位相関は、予測スコア順と実績本賞金順が どの程度一致するかを示し、高いほどよい。

上位20%濃縮率は、予測スコア上位20%の中に、実績上位20%馬がどれだけ集まったかを見る指標である。 1.0なら平均的な濃度、1.5なら実績上位馬が平均の1.5倍集まったことを意味する。 上位20% NDCG(Normalized Discounted Cumulative Gain;正規化割引累積利得)は、実績上位20%馬が 予測順位の上側にどれだけ集まっているかを、順位の重み付きで評価する補助指標である。

結果 Results

名馬はどこに現れるのか:平均ではなく右尾を見る

Figure 2が示すように、本賞金分布は右に長く、少数の高到達馬が分布全体の印象を大きく変えることが分かった。 そのため、平均誤差だけを見ても「名馬が現れる場所」を評価できない。右に隠れたごく一部の集団こそ名馬である。 構造を理解したうえで、何を目的に、どんな変数で説明するか、平均値なのか中央値なのか、濃縮なのか誤差なのかを、機械学習に進む前に設計する必要がある。

JRA全体の0超本賞金分布、右尾残存率、クラブ馬の本賞金レンジ、到達クラス頻度。0本賞金の多さを注記しつつ、右尾の形が読めるようにした分布確認。
Figure 2. 2008年以降の中央出走馬の対数変換した本賞金分布(a)と、その右尾残存率(b)。また、クラブ馬の賞金帯別の頭数分布(c)と到達クラス別の頭数分布(d)を示す。
Full size image
補足:正規分布かどうか

log10(本賞金 + 1) は見た目には山型へ近づく。 ただしQQ plotで見ると、中央部は正規分布に近い一方、本賞金ゼロの塊と左右の尾では直線から外れる。直感的に、中央値を扱ってしまうと危険だと分かる。そのため、正規性は仮定しない。

log10(本賞金 + 1)の正規性確認。JRA allとclub allのゼロ込み頭数分布、JRA 0超のみのQQ plot、クラブ馬0超のみのQQ plotを示す。中央部は正規分布に近いが、本賞金ゼロの塊と左右の尾では直線から外れるため、正規性は仮定しない。
Supplementary Figure S1. log10(本賞金 + 1)の正規性確認。JRA allとclub allのゼロ込み頭数分布、JRA 0超のみのQQ plot、クラブ馬0超のみのQQ plotを示す。中央部は正規分布に近いが、本賞金ゼロの塊と左右の尾では直線から外れるため、正規性は仮定しない。
Full size image

募集時点で見える情報だけで、何を推定するのか

Figure 2の構造を理解した上で、説明変数は血統、馬体、価格、母系、毛色など募集時点で観測可能な情報に限定する。 目的変数・評価指標は、本賞金、到達クラス、上位20%濃縮率など、右尾の濃淡を捉える指標として扱う。解析の概要とパイプラインをFigure 3に示す。リークを防止する設計を守ったうえで、特徴量を増やし(注意:理論がないままむやみに追加してはいけない)、線形回帰による次元削減で特徴量を絞り込み、非線形回帰によりモデルを構築した。詳細は方法の補足欄を参照。

JRA成績データ、クラブ募集CSV、record linkage、安全列での可視化、検証設計、出力を接続する工程図。raw D/Eは血統列として使い、raw S/T/Uとraw X-AC、成績由来列は特徴量から除外する。
Figure 3. モデル構築パイプラインと使用した変数一覧。
Full size image
補足:単変量関連度ヒートマップ

募集時点で観測できる主な単変量候補について、目的変数との単変量関連度を一覧化した。数値特徴量はSpearman、カテゴリ特徴量は相関比ηで要約する。

Supplementary Figure S2。募集時点で観測できる主な単変量候補について、本賞金、log本賞金、到達ランクとの単変量関連度を示すヒートマップ。
Supplementary Figure S2. 単変量関連度ヒートマップ。
Full size image

“見かけ上精度の良いモデル”の見分け方

次は構築モデルの検証を行う。Figure 4は、性能値そのものよりも検証設計の違いを読むための図である。主検証はForward LOYO(Leave-One-Year-Out; 年度で区切る)とした。Forward LOYOでは、検証年度より前のデータだけで学習するため、募集馬評価の実運用に近い。 Figure 4a/bでは、それぞれの特徴量セットにおける順位相関と上位20%濃縮率を示した。結果、ある特定の特徴量セットだけでは走る募集馬を予測する性能としては不十分であった。

【追加検証】Figure 4c/d/eはベースラインモデル(募集馬の特徴量全入り)を用いて、交差検証(CV)の違いでどの程度精度が違って見えるかを示した。馬の能力をAからGまでランク付けし(予測)、実際の成績の割合を可視化した(実測)。cとdは今回重要視したForward LOYOと汎用的に使用されるRandom K-Fold法の違い。ランダムで学習データを組むため年度情報が混ざりやすく、性能が上がっている"ように"見える。さらに、このような交差検証を繰り返し10回実施した非線形モデルを示す(e)。AからGにかけて、G1馬や未勝利馬がきれいに選抜できている"ように"見える。特徴量の情報源は同じなので、見かけの精度差は検証設計込みで読む必要がある。設計と検証の統計学的理解が重要だと分かる。データは示していないが、LOYOの年度をずらしながら繰り返すCVでも同様の精度向上が見られた(繰り返せば繰り返すほど精度がよく見える)。

モデル比較と交差検証。本馬毛色のみ、種牡馬のみ、血統、測尺、ベースモデルのForward LOYO比較、線形モデル(Ridge)のForward LOYOとRandom K-Fold、および非線形(CatBoost)のRandom K-Fold 10回による予測ランク別実測到達クラス構成を示す。
Figure 4. 特徴量セットの性能比較(a/b)とベースラインモデルの予測/実測精度のCV方法の比較(c/d/e)。
Full size image

Take-home. 交差検証は、過去データがリークしにくい年度外検証(Forward LOYO)が重要である。最終的には実運用で勝負する。

【核心】毛色単独ではなく、組み合わせで既存モデルへ入れる

Figure 4で示した通り、毛色単独では十分には推定できない。次で詳細に説明する遺伝学的概念を組み込むことで初めて精度が向上した(Figure 5)。 (a)はベースラインと毛色2.0モデルのForward LOYO順位相関、(b)はUMAP軸上に本賞金の濃淡を重ね、(c)は同じUMAP軸上で上位と下位(未勝利)の密度ギャップを示す。 UMAPは本馬、父、母、母父とそれらの組み合わせ毛色のみを使い、2次元平面に描写した図(k-means)である。 UMAPではクラスタ配置にも毛色特徴の近さが一部反映されるため、組み合わせ構造を可視化により理解しやすい。

ベースラインと毛色2.0モデルのForward LOYO順位相関、UMAP軸上の本賞金分布、同じUMAP軸上のTop20%密度と未勝利密度のギャップを示す図。
Figure 5. 毛色2.0モデルとUMAP軸上の賞金・密度ギャップ。aはベースラインと毛色2.0モデルを比較する。bは各馬をUMAP軸上に置き、本賞金の濃淡を重ねる。cはTop20%密度から未勝利密度を引いた差分を同じ軸で示す。

UMAPは可視化目的であり、UMAP上の密度・距離を定量的な主張には使っていない。

Full size image

Take-home. 毛色は単独の答えではなく、母と父の毛色、さらに毛色2.0モデルのような血統構造と組み合わせることで、既存モデルへ組み込む増幅器として扱う。毛色診断の基盤である。

補足. 父・母・母父および母系3代の毛色・白斑・流星の組み合わせから、観測可能な表現型パターンを特徴量化した。詳細な数理的処理は今後公開予定とする。イメージとしては、Figure 5のUMAPとFigure 6の概念を組み合わせ、実際のモデルを構築している。白斑と流星については地道に手作業で取得したがデータ数としては未補完の位置づけ。

毛色、白斑、流星を観測可能なフェノタイプとして扱う仮説図。毛色は能力の直接原因として扱わない。白斑・流星・肢白は未補完であり、今後の追加特徴量として再評価する。
Figure 6. 毛色、白斑、流星を観測可能なフェノタイプとして扱う仮説図。毛色は能力の直接原因として扱わない。白斑・流星・肢白は未補完であり、今後の追加特徴量としてアップデートする。
Full size image

Take-home. 毛色や白斑は能力の原因ではなく、観測可能なフェノタイプとして仮説生成に使う。

毛色は答えではなく相乗効果を狙う

上記の遺伝機序による競走能力推定の証明は、競走馬の血液から遺伝子解析する必要がある。そこでまずは、毛色・白斑・流星から推定可能性を検証することを目標と置いている(これが毛色診断の概念)。 Figure 7では、ベースラインモデル、ベースライン+毛色(現行毛色診断モデル)、毛色2.0(最新モデル)のベンチマーク比較を示す。 毛色は単独の答えではなく、既存モデルへ組み込んだときの相乗効果の可能性を示唆した。毛色2.0(母系3代血統の毛色を含むモデル)では、その傾向がより強くなることが分かった。

ベースラインモデル、ベースライン+毛色、毛色2.0のベンチマーク比較。順位相関、上位20%濃縮率、上位20% NDCG(Normalized Discounted Cumulative Gain)を示す。
Figure 7. ベースラインモデル、ベースライン+毛色(現行毛色診断モデル)、毛色2.0(最新モデル)のベンチマーク比較。順位相関、上位20%濃縮率、上位20% NDCG(Normalized Discounted Cumulative Gain)で相乗効果を読む。

※ 上位20% NDCGは、予測上位20%の中で、実績上位馬がどれだけ上位に濃縮されているかを見る補助指標である。

Full size image
補足:各モデルのベンチマーク俯瞰

Figure 4、Figure 7で使った主なベンチマークを同じ評価指標で並べた。Forward LOYOを主検証、Random K-Foldは精度がよく見えやすい参考値。

Supplementary Figure S3。各モデルのSpearman、上位20%濃縮率、上位20% NDCGを横断比較するベンチマーク俯瞰図。
Supplementary Figure S3. 各モデルのベンチマーク俯瞰。セル内の数字は実値、色は列内正規化スコアを示す。
Full size image
補足:毛色2.0モデルの精度

毛色2.0モデルの年度外 holdoutでは、順位相関係数 0.290、上位20%濃縮率 2.08x、上位20% NDCG 75.3%だった。

Supplementary Figure S4。毛色2.0モデルの精度。年度外 holdoutで、予測ランクAからGごとの実測到達クラス占有率を示す。
Supplementary Figure S4. 毛色2.0モデルの精度。Figure 4と同じA〜G分割により、年度外 holdoutでの予測ランク別の実測到達クラス占有率を示す。
Full size image
補足:線形と非線形について

線形・非線形から過学習・リークまで

1. 線形と非線形

「線形」とは、入力と出力が足し算と定数倍だけで結ばれている関係を指す。数式では y = ax + b。入力を2倍にすれば影響も2倍になり、グラフは直線を描く。「非線形」はそれ以外のすべてであり、閾値(ある点を超えると急変する)、飽和(効果が頭打ちになる)、交互作用(AとBが揃ったときだけ効く)などが含まれる。例えば、斤量が1kg増えるごとにタイムが一定量ずつ悪化するなら線形、「重馬場×特定の血統」の組み合わせでだけ急に好走するなら非線形である。現実の現象はほとんど非線形だが、狭い範囲に限れば線形で近似できることが多い。

ここで重要なのは、「関係が非線形であること」と「非線形モデルが必要であること」は別レイヤーの話だという点である。例えば初出走時馬体重のように、軽すぎると成績が落ち、重くなるに従い平らか微減になるような関係は、データ構造としては明確に非線形である。しかし、馬体重の2乗項を特徴量に追加すれば、y = a×体重 + b×体重² + c という式で曲線を表現でき、この式は係数 a, b, c について線形なので、普通の線形回帰でそのまま解ける。線形モデルの「線形」とは、入力そのものではなくパラメータ(係数)について線形という意味であり、特徴量エンジニアリング次第で、線形モデルは非線形な関係の多くを捉えられる。

2. 線形モデルと非線形モデル

線形モデル(線形回帰、ロジスティック回帰など)は、特徴量の重み付き和で予測する。係数を見れば「どの要因がどれだけ効くか」が読めるため解釈性が高く、少ないデータでも安定し、学習範囲の外への予測(外挿)にも比較的強い。一方、非線形モデル(決定木、LightGBM や CatBoost などの GBDT、ニューラルネット)は、閾値や交互作用をデータから自動で発見できる。表現力が高い反面、多くのデータを要求し、後述する過学習を起こしやすい。先の馬体重の例で言えば、GBDT は平坦化や微減を含む曲線を分岐の組み合わせで自動的に学習するのに対し、線形モデルでは人間が「2乗項」という形でヒントを与える — どちらでも解けるが、非線形性の発見を機械に任せるか人間が設計するかが違う。実務の定石は「まず線形モデルでベースラインを作り、非線形モデルでどれだけ上積みできるかを測る」である。

3. 機械学習とは

人間がルールを書き下す代わりに、データから「入力→出力」の関数を推定する技術。学習とは、予測誤差を最小にするパラメータを探す最適化に他ならない。重要なのは、目標が訓練データへの当てはまりではなく、まだ見ぬデータに対する予測精度(汎化性能)である点。だからデータを必ず訓練用と検証用に分け、モデルが一度も見ていないデータで成績を測る。

4. 過学習(オーバーフィッティング)

モデルが訓練データの本質的なパターンだけでなく、偶然のノイズまで暗記してしまう現象。訓練スコアは高いのに検証スコアが低い、という乖離が典型的なサインである。過去問の答えを丸暗記した受験生が、初見の本番問題を解けないのと同じ構図。基本的な対策は、正則化(複雑さへのペナルティ)、早期終了、交差検証(CV)による監視、データを増やす、モデルを単純にする、の5つである。

5. リーク(データリーク)

本番の予測時点では入手できないはずの情報が、特徴量や検証設計に紛れ込むこと。検証スコアだけが不自然に高くなり、実運用に出した途端に崩壊する。典型例は、結果が確定した後にしか得られない値を特徴量に使う、通算成績のような集計特徴量の集計期間に予測対象当日を含めてしまう、時系列データをランダム分割して「未来の情報で過去を予測する」検証になっている、など。対策は、全特徴量について「予測時点で本当に手に入るか」を問うことと、時系列分割(Forward validation)で本番と同じ時間の流れを検証で再現することに尽きる。

まとめ

過学習は「モデルの病気」、リークは「データと実験設計の病気」である。前者は訓練スコアと検証スコアの乖離で、後者は検証スコアの不自然な高さで見抜く。線形モデルで土台を固め、非線形モデルで上積みし、正しい検証設計で二つの病気を防ぐ — これが機械学習の基本動作である。

最後は予言ではなく、確認すべき馬を並べるスコアカードへ

Figure 8は、モデル出力、価格、血統、毛色、期待度を同じ画面に並べるスコアカードの考え方を示す。 スコアカードは予言ではなく、確認すべき問いのリストである。 本レポートは出資成果や将来成績を保証しない。こういう可視化があったらいいなと考えるデザイン案の一つ。

募集馬評価スコアカードへの応用例。モデル出力、価格、血統、毛色、期待度を並べ、人間の確認を支援する。出資成果や将来の競走成績を保証するものではない。
Figure 8. 募集馬評価スコアカードへの応用例。モデル出力、価格、血統、毛色、期待度を並べ、人間の確認を支援する。出資成果や将来の競走成績を保証するものではない。
Full size image

Take-home. 最終用途は予言ではなく、人間が確認すべき馬を整理するスコアカードである。

展望 Future

限界 Limitations

連絡 Contact

もし毛色診断にご興味を持たれた方は、Twitterアカウントで気軽にコンタクトください。特に牧場関係や個人馬主の方のご連絡は歓迎いたします。また、募集馬の馬体や動画に関する独自指標をお持ちの方はぜひ意見交換したいです。様々なクラブの測尺情報でご協力いただける方も募集しております(社台グループ以外)。