競馬AIをつくる

強い馬は、何でも得意に見える? — 能力を軸に分ける方法

競馬の予想は、突き詰めれば適性を読む作業である。この馬は直線の長いコースが向いているのか。小回りで立ち回れるのか。長い距離で持つのか。

こうした個性を数値にできれば、出走表を見た瞬間に「今日の条件に合う馬」を機械的に絞り込める。速力・スタミナ・器用さといった軸に分けて測ろう、というのは自然な発想である。

実際に組んでみると、この作業にはひとつの落とし穴があった。そして、そこを抜ける鍵は計算式ではなく比べ方にあった。

二つの軸が、同じものを測っていた

最初に用意した軸は、瞬発力と粘り強さの二つである。

瞬発力は、最後の直線でどれだけ速い脚を使ったかで測る。上がり3ハロンの相対的な位置から求める。粘り強さは、道中の位置から着順をどれだけ守れたかで測る。4コーナーの通過順位に対して、着順がどう動いたかを見る。

この二つは、競馬の言葉としては明確に別のものだ。前者は「切れる」馬の資質であり、後者は「しぶとい」馬の資質である。ファンの評価としても、両者はしばしば対立する。

ところが、この二つの相関を計算すると 0.90 だった。

ほぼ同じ数字である。名前は違うのに、実際にはどちらも同じものを測っていた。

原因は、比べる範囲にあった

理由を考えると、単純だった。

強い馬は、速い脚も使えるし、粘りもする。 弱い馬はどちらもできない。だから馬全体を並べて比べると、どの角度から測っても最後は「強いか弱いか」に収束する。

適性を測っているつもりで、総合力を二回測っていたことになる。

これは競馬の話に限らない。何かの能力を要素に分解しようとすると、たいてい最初は総合力の影ばかりが出てくる。分解の難しさは、要素を思いつくことではなく、総合力の影響を抜くことのほうにある。

同じ馬の中で比べる

抜け道は、比べる範囲を変えることだった。

馬をまたいで比べるのをやめ、その馬自身の走りの中で比べる。

器用さを測る場合を考える。従来なら、小回りコースでの成績が良い馬を器用だと判定していた。この方法では、小回りに強い馬を選んだつもりで、単に強い馬を選んでしまう。

そこで、同じ馬がコーナーの緩いコースと急なコースを走った結果を比べることにした。急なコースで成績が落ちない馬は器用、大きく落ちる馬は不器用。コーナーの半径に対する感応度を、馬ごとに求める。

この方法なら、強い馬でも急カーブが苦手なら数値は落ちる。総合力の影響が、比較の中で相殺される。

作り直した器用さの軸は、総合的な強さとの相関が 0.07 になった。ほとんど無関係、つまり独立した情報として立っている。

同じデータから、同じ「器用さ」という概念を計算している。違うのは比べ方だけである。それだけで、総合力の影に隠れていた軸が現れた。現在この方法で軸を計算できている馬は 26,515頭ある。

定説を検証できるようになる

軸が独立すると、これまで感覚で語られてきたことを検証できるようになる。

たとえば「瞬発力のある馬は、直線の長い大きなコースが向いている」という言い方がある。東京や新潟の外回りで、切れる馬が有利だという理解である。

調べてみると、データはこの関係を支持しなかった。むしろ弱いながら逆の傾向すら見えた。

解釈としては、この軸が測っているのは「大回り向きかどうか」ではなく、コースの大小に関係なく使える脚の速さだということになる。小回りでも鋭い脚を使う馬はいる。中山の急坂を、後方から一気に差し切る馬を思い浮かべればよい。あれは瞬発力であって、大回り適性ではない。

言われてみれば当たり前のことだが、軸が分かれていなければ確かめようがなかった

スタミナをどう定義するか

スタミナの軸には、定義の議論が必要だった。

一口にスタミナと言っても、意味が二つ混ざっている。ひとつは「長い距離や坂の多いコースに耐えられる」という絶対的な負荷への強さ。もうひとつは「小回りで何度も加減速を繰り返しても消耗しない」という、器用さに近い性質である。

両方をスタミナと呼ぶことはできる。ただし合成するなら、混ぜる割合を決めなければならない。

成績との関係を見ながら調整した結果、絶対的な負荷への強さを4分の3、器用さを4分の1という配分に落ち着いた。半分ずつでは、うまく機能しなかった。

理由も見えている。器用さの軸は、負荷の高いレースではほとんど効かない。小回りの立ち回りに特化した性質なので、長距離の消耗戦では出番がないのである。同じ「スタミナ」の中でも、効く場面が違っていた。

この配分は、競馬の実感とも合う。ステイヤーに求められるのは立ち回りの巧さではなく、絶対的な持久力のほうだ。数字がそう言っている。

引きすぎないという判断

軸を作るときには、余計な影響を取り除く作業が必要になる。コースやペースの条件が違えば数字は変わるので、その分を差し引いて純粋な能力を取り出そうとする。

ここでどこまで引くかが判断どころになる。

上がりの速さについては、そのレースの前半の流れを差し引く処理を入れた。前半が遅ければ上がりは速くなるので、これは条件の影響である。この控除で軸の安定性は改善した。

一方、ペースの厳しさを差し引く処理は入れないことにした。試したところ、成績が落ちたためだ。

理由を考えると腑に落ちる。厳しいペースで良い数字を出したことは、条件のせいではない。それはその馬の実力を表す情報そのものである。ここを引いてしまうと、測りたかったものまで一緒に消える。

条件補正には、こういう線引きがついて回る。どこまでが雑音で、どこからが信号なのか。理屈だけでは決まらないので、実際に引いてみて成績が上がるか下がるかで判断している。

分けることは、定義の問題だった

この作業を通して分かったのは、能力の分解が技術の問題ではなく定義の問題だということである。

計算式を工夫すれば軸が分かれるわけではない。何と何を比べるのか、どの範囲で比べるのかを決めた時点で、その軸が何を測るかは決まってしまう。

「強い馬は何でも得意に見える」という現象は、馬の性質ではなかった。比べ方が作り出していた見え方である。比べ方を変えれば、同じデータから別のものが見えてくる。

適性を数値にするという作業は、思っていたよりも競馬の理解そのものに近かった。何を測りたいのかを言葉で定義できなければ、式は書けない。逆に言えば、定義さえ決まれば、あとは比べ方を設計するだけである。

現在は速力・スタミナ・器用さの三軸で運用しているが、この方法はほかの性質にも広げられる。道悪への適応、距離延長への対応、初コースへの融通。同じ馬の中で条件を変えて比べるという手続きは、そのまま使い回せる。次はそこを増やしていく段階になる。