見出し画像

[競馬予想AI] レース展開を考慮してAIの性能を上げたい

今回は各馬の脚質を考慮してレース展開を特徴量に加えるとAIの性能は上がるか?というお話です。
競馬予想においてレース展開が読めればほぼ予想ができたようなものだと言われたりしています。ということは、レース展開を適切に予想できればAIの性能はかなり上がるはずです。


レース展開とは具体的にどういうことか?

レース展開とはつまりどういうことでしょうか?簡単にいえば「各馬の得意な位置取りで極力消耗無く最高のパフォーマンスでレースを終えるための各馬の駆け引き」のことではないでしょうか。

つまり、複雑に相互に作用する各馬の「脚質」「騎手の判断・厩舎の思惑」を知る必要がありそうです。

騎手の判断や厩舎の思惑を知ることはできるのか

さて、騎手の判断を知ることはできるでしょうか?騎手として、こういう時はこうするというセオリーのようなものはあるかもしれませんが、実際の騎手の考えを知ることはほぼ不可能ではないでしょうか。

それぞれの騎手について、それぞれのコースや馬の特性、馬場、ライバル馬などの状況からどのような判断をする傾向があるか、分析することはもしかすると可能かもしれませんが現実的ではなさそうです。

また、厩舎の思惑を知ることも難しそうです。記者などの取材に対してすべて真実を話していることは保証できないからです。すでにここからレース展開の駆け引きが始まっているわけです。

よって、今回は「騎手の判断や厩舎の思惑」については考慮しないものとします。

脚質は予想できるのか

となると、あとは馬の脚質をもってレース展開を予想するしかありません。レース展開を考慮するにあたって脚質情報しかつかえないとなるとそれはもはや「脚質予想」=「レース展開予想」となりそうです。(これで良いのかは後述)

脚質を予想するとはどういうことでしょうか?予想できるものなのでしょうか?
脚質は馬の体質によるところが多いと考えられます。例えばスタミナがある馬は前目で逃げ切り、瞬発力のある馬はやや後ろで控えて最後に差すだろうと考えられ、その逆はあまりないのではないかと思われます。わざわざ馬の体質に合わない走り方をするのは非合理的だからです。ただし、同じ脚質の馬が多いと相対的に脚質が前後する可能性は十分考えられます。

馬の体質がコロコロと変わることは普通考えられないので、その馬が使う脚質はある程度予想することができそうです。

レースペースの情報は必要ないのか

レース展開といえばもうひとつ、レースのペースがありますがこれは考慮しなくていいのでしょうか?

一般的に、出走馬の脚質の分布によってそのレースのペースが決まるとされています。例えば逃げる馬が多いとハイペースになるといわれています。そして、ハイペースになると後方の馬が有利になるといわれています。では実際にそうでしょうか?

そこで、ハイペース、ミドルペース、スローペースそれぞれのレースについて、勝った馬の脚質の割合を調べてみました。
なお、脚質やペースについては厳密な定義がないため、以降の脚質については私独自の判断で分類したものとします。

レースペースごとの勝ち馬脚質の割合

ハイペースでは先行の脚質が勝っていること以外、ほかの脚質の有利不利は無さそうに見えます。強いていうならば、ハイペースの時は前目、スローペースの時は後方の脚質が勝っているように見えます。これは一般的にいわれていることとはです。

終始前目で位置を取ることができるスタミナとゴール前でのある程度の瞬発力があり、後方の脚質のように前を塞がれるリスクも少なく、先行で居られる脚(能力・体質)を持つ馬は確かにバランスがよく安定した成績を残せるのかなと思います。脚質は「馬の体質によって取りたい脚質」と「馬の能力によって取れる/取らざるを得ない脚質」、「他の馬の脚質」が複雑に絡み合って最終的な「脚質」となるのではないかと考えられます。

ということで、少し脱線しましたが今回は一旦レースのペースについては考えないことにしました。


脚質の違いから価値を見出す

ということで、脚質を予想しようということになりましたが、脚質が予想できると本当にメリットがあるのでしょうか?脚質によって勝ちやすさが異なれば、脚質を特徴量として組み込む価値はあります。

脚質の成功率

先ほどは勝ち馬の脚質の割合を見ました。(表:『レースペースごとの勝ち馬脚質の割合』(ペースによって有利不利は特にないのでおおよその割合はこれと同様です。))

次に、各脚質ごとの着順のヒストグラムを見てみます。(※20着は競争中止)

逃げ

逃げの着順ヒストグラム

先行

先行の着順ヒストグラム

差し(前)

差し(前)の着順ヒストグラム

差し(後)

差し(後ろ)の着順ヒストグラム

追込(前)

追込(前)の着順ヒストグラム

追込(後)

追込(後)の着順ヒストグラム

差し、追込みについてはさらに2種類に分けて見ています。出走頭数が異なるのでこのグラフをすべて信じることはできませんが、各出走頭数ごとにグラフを見比べてもさほど形状に違いはありませんでしたので、今回は傾向を掴むためにこれで良しとしています。(ただし、この値を数理モデルなどに組み込む場合は注意が必要です。)

まず全体の印象ですが、逃げ、先行、差し(前)の脚質がなんとなく決まりやすそうだなというのが見て取れます。
各脚質についてもう少し詳しく見てみましょう。

逃げは決まりやすいが下位になるリスクも

逃げのグラフ(上グラフ参照)を見ると1着で入選する率がかなり高く見えました。しかし、各レース頭数ごとのグラフ(下グラフ参照)で見た時、下位の頭数が増えているのがわかります。私自身、逃げの戦略については詳しくは知りませんが、スタートダッシュの遅れやマークによって先頭争いに失敗したり、苦し紛れの逃げなど、逃げ戦略を取る上でのリスクがこのグラフに現れているのではないかと想像します。

出走馬12頭の時の逃げの着順ヒストグラム

しかしながら、単純に勝ちやすさで見るとそれでもなお他の脚質と比較すると決まりやすさが目立つ脚質です。逃げ馬はレースで1頭のみとなるように判別しており、全体の馬で約7%の馬が逃げとなります。勝ち馬の逃げ脚質率が19%強であるのを鑑みてもやはり逃げは勝ちやすそうです。

先行は良くも悪くも安定

先行のグラフ(上グラフ参照)を見るとキレイな階段状になっていました。逃げほど1着の抜けは無いものの安定した成績を残しそうです。
各レース頭数ごとのグラフ(下グラフ参照)を見てみましょう。

出走馬12頭の時の先行の着順ヒストグラム

全体でのグラフと少し様子が変わります。逃げ同様、下位の頭数が増えています。1着、2着の頭数は多いものの4着以降は差が小さくなっています。前目でレースを進めて上位で入選する馬もいる一方、最後まで粘れないあるいは差されて順位を落とすことも少なくなさそうです。

先行脚質の馬は全体で26%ほどであり、勝ち馬の先行脚質率は約40%ではありますが、先行脚質の馬の中で実際勝てるのは約10%なので脚質内での争いが大きそうです。

差しは4コーナーで前に行けるかが鍵

差しは2種類検証しました。差し(前)は3から4コーナーにかけて前へ進出する馬、差し(後)は4コーナーになってもなお位置を維持あるいは下げる馬です。グラフの縦軸を見ると同じ差しでも差し(前)の馬はかなり少ないことがわかります。12頭レースの場合、差し(前)は1頭もいない、差し(後)は4~5頭いることになります。中盤の馬は位置取り争いなども激しく前へ出られなかったり消耗して差し切れないなどの要因が考えられます。逆に考えれば、消耗少なくベストポジションへつくことができ、終盤反応良く瞬発力を発揮できれば好成績が期待できるということになります。差しは馬の能力に加え、騎手の采配や他の馬の脚質に大きく影響を受けると考えられます。

追込みは厳しい

追込み(前)3~4コーナーにかけて順位をあげた馬で、追込み(後)は4コーナーを過ぎても順位を上げない馬です。
勝機がないわけではありませんが、かなり厳しそうです。少なくとも追込み(後)の馬は予想から外しても良いかもしれません。12頭レースの場合、追込み馬は平均2~3頭います。
このグラフを見ると追込み馬が勝つと盛り上がるのは確かに頷けます。

脚質の違いを知ることによるメリットはありそう

以上のように、各脚質によって多少の勝機の違いはありそうですが、脚質内での競り合いも厳しそうなものもあります。ではこの情報をどのようにAIに加えればいいのでしょうか?


脚質を予想する

では、実際に脚質を予想していきましょう。脚質の予想については次のような方法が考えられます。

  • 過去で最も多く使用した脚質を次の脚質とする

  • 前回のレースで使用した脚質を次の脚質とする

結論からいうと前回のレースで使用した脚質をもとに次の脚質を2つ選ぶことにしました。

脚質を2つ選択する理由

まず、「過去で最も多く使用した脚質を次の脚質とする」ですが、脚質は馬の能力や体質に関わるところが大きいですので、馬の成長とともにこれらが変化する可能性が考えられます。そうすると必然的に脚質も変わってきます。また、ある程度レース実績がなければ選べません。よって、基本的には最新の脚質をもとに次のレースの脚質を予想することにしました。

また、脚質は他の馬の脚質によって相対的に変わってしまう可能性があることをお話しました。なので、脚質を1つに絞らず2つ想定することにしました。脚質を2つ想定することで、相対的に変わってしまう脚質も含めて高い確率で脚質を当てることができます。例えば、前回先行だった馬は約8割の割合で次回の脚質は先行か差しになります。これならわざわざ脚質を予想する機械学習モデルを組むなどとんでもないことをする必要がなくコスパが良いのではないかと判断しました。

脚質予想についてはもっと厳密に調べた方がよいかもしれませんがまずはスモールスタートとしてこの方法を採用します。


脚質の情報を入れて学習する

とりあえず脚質の情報を入れて学習します。

脚質情報をただ入れても変化なし

今レースでどの脚質になるかという情報を加えたでは精度に変化はありませんでした。『脚質の違いから価値を見出す』のように脚質によって勝ちやすさはことなるであろう特徴量であってもこの程度の情報では予想に何も影響がなかったことになります。

脚質情報をもとに横の比較をする

脚質情報だけでは勝ち馬予想には貢献できないことがわかりました。やはり同じ脚質内での競り合いも考慮するべきかもしれません。
ということで、同じ脚質グループの中での馬の能力差を特徴量として採用してみます。

その結果、1, 2着予想馬の的中率や回収率には変化はありませんでしたが3着予想馬の回収率が4ポイントほど上がりました。3着予想馬の回収率だけが上昇するという意外な結果となりましたが、複勝圏内の予想馬の回収率が少しでも安定するのならとりあえず良しとします。
また、新たに追加したこの特徴量の重要度(Feature Importance)は上位に位置し、この特徴量が予想において重要な特徴量となっていることもわかりました。

もっと脚質情報を活用したい

現段階では脚質情報を利用した予想はここまでとなります。
脚質情報を組み込む過程で、前提や仮定をやや簡単に定義して進めてきました。もう少し丁寧にこれらを定義するともしかすると予想性能が上がる可能性がありまがその分処理も複雑になります。今後はこの点が改善点となります。


終わりに

レース展開を予想するにあたって、まずは脚質情報を利用することにしました。また、脚質について簡単に傾向を把握し、同じ脚質の馬との間の能力を比較する特徴量を加えることで3着予想馬の回収率向上に少しだけ貢献できました。

冒頭の「「脚質予想」=「レース展開予想」」としてよいのかについてですが、今回の一連の手法においては「よくない」または「不十分」と言わざるをえません。その理由として、

  • レースには人馬が参加する以上、騎手の能力や思惑は必ず影響するはず。

  • 当該レースにおける脚質の予想方法が大雑把。

  • 各馬間の相互作用がほとんど考慮されていない。

などがあります。各馬間の相互作用については同じ脚質グループの中での馬の能力差を考慮しましたが、テーブルデータで表現するのはかなり難しいです。いかに相互作用を表現できるかが競馬予想のキモであると思います。これは今後の課題となります。


最後までこのnoteを読まれた方は「もう少しここをこうすれば良いのに」と思う部分があったと思います。今後はその点について詳細に詰めて実装してみたいと思います。
(そもそもレース展開が完璧に予想できれば当然勝ち馬を予想できるのでは…とも言えます。だとしたらレース展開予想は競馬予想の行為そのものではないでしょうか。)


▼AIの開発記は随時こちらでまとめています

▼このたびFANBOXを開設いたしました
月額支援していただきますと当月間noteと同様の予想をご覧いただけます。


よろしければサポートをよろしくお願い致します。いただいたサポートは今後の技術向上のために書籍費用等に当てられ、このnoteで還元できればと思います。