競馬編
特徴量づくり(競馬特有の相対化)
前走ベースの特徴と集計特徴量の作り方。絶対値ではなく「同じレースの中での位置」に直すと効く理由。
この記事の要点
- 競馬でいちばん効くのは「同じレースの中での位置」に直した特徴量です。絶対値は条件が違うと比べられません。
- 騎手や厩舎の成績を集計するときは、必ずそのレースより前のデータだけで作ります。
- 強い特徴量ほどオッズにも織り込まれています。効くことと、儲かることは別の話です。
前走ベースの特徴量
もっとも素直な材料は、その馬の直近の成績です。
- 前走の着順・着差・人気・上がり 3 ハロン
- 前走のクラス(格上挑戦か、格下げか)
- 前走からの間隔(週数)、休養明けかどうか
- 今回の斤量と、前走からの増減
- 連続した数走の傾向(上向きか、下降か)
ここで使う「前走の上がり 3 ハロン」は、走った後にしか分からない値ですが、前走の時点ではすでに確定しているので問題ありません。 判断の基準は「今回のレースの発走時点で分かっているか」です。
絶対値では比べられない ── 相対化が効く理由
「前走のタイムが速い馬は強い」は、条件がそろっていれば正しい話です。 しかし競馬では、距離・馬場状態・コース・クラスがレースごとに違います。重馬場の 2000m と良馬場の 1200m のタイムを直接比べても意味がありません。
そこで、値そのものではなく「その条件の中でどのくらいの位置だったか」に直します。
| 直し方 | やること | 例 |
|---|---|---|
| レース内順位 | 同じレースの出走馬の中で何番目かに直す | 推定能力の順位、オッズの順位 |
| 偏差 | レース平均からの差、ばらつきで割った値 | 平均より何秒速いか |
| シェア | 全体に占める割合に直す | 単勝支持率(その馬に投じられた単勝票数の割合。オッズから逆算できる) |
| 条件補正 | 距離・馬場ごとの基準との差をとる | その条件の平均タイムとの差 |
1 レースで勝てるのは 1 頭だけという構造を思い出してください。 知りたいのは「速いかどうか」ではなく「このメンバーの中で相対的に上位か」です。 相対化した特徴量は、その問いに直接答える形になっています。
集計特徴量は「そのレースより前」だけで作る
騎手の勝率、厩舎の連対率、種牡馬のコース別成績 ── こうした集計は有力な材料ですが、集計に使う期間を間違えると未来が漏れます。
全期間のデータで「その騎手の勝率」を計算すると、 いま予測しようとしているレースの結果まで、その勝率に含まれてしまいます。 1 レース分の影響は小さく見えますが、すべての行で少しずつ答えを覗いている状態になるため、 検証成績は実力より良く出ます。
正しくは、各行についてそのレースの開催日より前のデータだけで集計します。直近 1 年、直近 100 走といった時間窓を切ると、古い実績に引きずられにくくなる利点もあります。
適性とローテーション
- 距離適性 … 過去に好走した距離帯と今回の距離との差
- コース適性 … 同一競馬場・同一コース形態での実績
- 馬場適性 … 芝/ダート、良〜不良での成績差
- 脚質 … 逃げ・先行・差し・追込の傾向と、そのレースの展開
- ローテーション … 出走間隔、連闘、長期休養明け
これらは件数が少なくなりやすい点に注意が必要です。 「このコースで 2 戦 2 勝」は、実力の証拠としては弱すぎます (件数の少なさが生む「すごい数字」)。 勝率をそのまま使うより、出走回数もあわせて渡すほうが安全です。
カテゴリ変数の扱い
騎手・調教師・種牡馬・競馬場・コース形態は文字列のカテゴリです。 種類が少ないもの(競馬場、芝/ダート)はそのまま扱えますが、 騎手や種牡馬は種類が非常に多く、そのままでは 1 人あたりのデータが薄くなります。
よく使われるのは、勝率などの統計量に置き換える方法です。 ただしこれは前述のとおり集計期間を間違えるとリークになるので、 必ず「そのレースより前」で作ります。
効く特徴量ほど、すでに織り込まれている
最後に、競馬特有の注意点です。 誰が見ても分かる強い材料(前走 1 着、有力騎手、圧倒的な実績)は、オッズにも当然反映されています。 そのため、そうした特徴量で予測精度が上がっても、 それだけで回収につながるとは限りません。
この構造については的中率ではなく回収率で見るで正面から扱います。