最強のAI競馬予想モデルを作ろう!!part1

はじめましてさかなちゃんです!

本記事では、現在の予想モデルの仕組みや課題を公開し、さらに精度を高めるための方向性を考えていきます。

本ブログでは、競馬をより楽しんでいただけるよう、データサイエンス(AI)を活用した独自の予想モデルを採用しています。

過去10年にわたる膨大なレースデータを解析し、レースに出走する全頭の複勝率を公開することで、皆さまの馬券選びをサポート。

どなたでも使いやすく、分かりやすい内容を心掛けています。

競馬をデータで深掘りしたい方、ぜひ本ブログを参考にしてください!

この記事は次のような人におすすめ!
  • データサイエンスの分野に興味がある!
  • 競馬予想を自動化させたい!
  • 競馬やプログラミングに興味がある!

1. 導入:競馬予想は「複勝率」を極めると勝てる!?

競馬で勝つためには何をするべきか。

わたしが考えるのは的中率を正確に求めることです。

競馬で勝ち続けるために

結局のところ皆さんの馬券の回収率も的中率×オッズというこの式によって求められます。

いくら的中率が高くても、オッズの低い馬券ばかり買っていては儲かりませんし、穴馬を買っていても的中率が低ければやはり儲けは出ませんね。

つまり、馬券を購入するときには、この馬券は〇%で的中すると思うから、オッズが〇倍つけば期待値が100%超える!と考えないと勝てないということです。(俗に言う「妙味がある」馬券を買え!ということです。)

もうわかったよ!という方にはくどいかもしれませんが、以下が例です。

①60%の確率で1着になりそうな単勝オッズ1.5倍の馬
②20%の確率で1着になりそうな単勝オッズ5.5倍の馬

それぞれ期待値を求めると

①0.6×1.5=0.9
②0.2×5.5=1.1

ということで的中率は低いですが、②の馬券を買うべきなのがわかりますね。

①の馬券を買っていても、短期的には回収率がプラスになることもあるでしょうが、競馬が大好きで毎週のように競馬を買う方にとっては、②の馬券を買えないと長期で見て勝てることはないでしょう。

的中率を正確に算出することが、回収率アップの鍵

ここまで、回収率100%超えのためには、「オッズの割に的中率の高い馬券」を買うべきなのがわかりました。

ただ実際のところ馬券購入者の中で、自分の選択した馬券が〇%で当たる!と数値化して考えている方は少なく、頭の中で「なんとなくこれは期待値が高いだろう!」という馬券を選択しているでしょう。

このセンスがいい人は回収率100%を超えることも可能でしょうが、中々難しいのが現実です。

もしこの的中可能性を正確に算出することができれば、、、

それを実現できる可能性を秘めるのがAI競馬予想というわけです。

AIと聞くと、何か特別なことが出来るイメージですが、結局のところは与えられたデータをもとに、目的となる数字を算出することしか出来ません。

皆さんが競馬新聞を見て、過去レースの結果や騎手、コース適正などを鑑みた結果、これだ!と選ぶことと大差はありません。

わたしが思うAIが優れている点は、

圧倒的なデータ処理能力
・数値を出せることでオッズの歪みを狙った戦略が立てられる
感情に左右されない

主にこの3つにあると考えています。

人間がレース予想を真剣に行うと、1レースを予想するのにもかなりの時間がかかりますし、どうしても感情が乗ります。(もちろんそれも競馬の醍醐味です)

なぜ「複勝率」を算出するのか

どうしてわたしがAI(データサイエンス)の力を使って、競馬予想をしたいかご理解いただけたかと思います。

ではどんな競馬予想モデルを作りたいか。

わたしは複勝率を算出するモデルを作ることを目標にしたいと考えています。

※イメージはこんな感じです。

なぜ単勝ではなく複勝なのか。

結論から言うと、複系の方が少額で馬券を楽しめるからです。

単勝系の馬券は「順列(順位)」を当てる必要があるのに対し、複勝は「組み合わせ(範囲)」で的中するため、点数が少なくて済みます。

個人的に競馬初心者の方にも、このサイトを通じて競馬やデータサイエンスに興味を持っていただきたい!という思いがあるので、競馬初心者やライト層、少額で馬券が楽しみたいという方によりおすすめの複系を勧めるため、複勝率を算出するモデルを作成したいと考えております。

ここからは現在の予想モデルの仕組みや課題を公開し、さらに精度を高めるための方向性を考えていきます。

2.現在の予想モデルの概要:複勝率をどう計算しているのか

AIは数値を出せるのが強み!とは言うけど、実際どうやって計算してるの?と疑問に思う方もいらっしゃると思います。

AI競馬予想がどんなことをしているのか。
わたしのモデルでみてみましょう。

オッズは的中率の先生!?

もし、競馬というものがサイコロを振るのと同じくらいランダムなのであればそもそも予想などできません。

しかし、それはオッズというものが否定してくれています。

「血統なんて関係ない!わたしはとにかく前走不利を受けて妙味のある馬を見極める!」という方や、「血統命!」、「わたしは指数派!」など様々な意見が入り混じった結果が支持率としてオッズとなります。

※2013~2024の芝レース(さかなちゃん調べ)

こちらの表は単勝オッズと1着率をまとめたものです。

横軸はオッズを支持率に変換したもの(0.8/オッズ)、縦軸はその支持率帯で1着に来た割合です。

見事な右肩上がりであることが、皆さんの予想を集めた群衆の叡智であるオッズが、競馬というものは予想できるものであることを証明してくれています。

そしてオッズというのは私にとっては現状もっとも的中率を正確に求めている先生になります。

当面の目標はこのオッズよりも的中率を正確に求めることになります。

使っているデータの種類

  • レースデータ(枠順や馬体重、調教データなど)
  • 馬データ(過去の成績)
  • 騎手データ
  • 調教師データ
  • 種牡馬データ
  • 母父データ
  • コースデータ(小回り、坂、洋芝など)

特に変わり種はなく、皆さんが予想ファクターとしているものをできる限り集めてデータを作成しております。

使えていない代表的なファクターだとパドックくらいでしょうか。
さすがにパドックの良し悪しのデータがないこと、発走直前のデータのため今回は除外しております。

くどいようですがわたしの作成するモデルの目標は的中率を正確に求めることです。

先にも上げた「血統なんて関係ない!わたしはとにかく前走不利を受けて妙味のある馬を見極める!」という方にとっては血統情報などは関係ないかもしれないですし、そういった競馬予想モデルを作りたい方にとっては不要かもしれません。

ただ今回は的中率を正確に求めることにフォーカスしたいので、一般的に皆さんが競馬予想で使用するデータをなるべく集める必要があります。

オッズは的中率の先生とも言いましたが、まずは先生を真似て、様々な角度のデータを集めることからスタートします。

ただし、重要ですがオッズや人気のデータは予想ファクターに含めておりません

なぜなら確定オッズなんてものは実際にレースを予想するうえでは使えないデータだからです。

競馬に詳しい方はよくご存じかと思いますが、レース発走5分前に「この馬券あてたら10倍だあ^^」とワクワクし、レースが終わり馬券が当たって喜んでいたのもつかの間、確定後のオッズをみると6.5倍まで落ちている、、、なんてことはざらにあります。

なぜそんなことが起きるかといえば、発走直前に買われる馬券が大きな割合を占めているからですね。

そんな知りえない情報を元に予想モデルを作成したところで実用性がありません。

故に本モデルでは現状オッズ情報は予想ファクターから除外してモデルを作成しております。

もし今後使うとしても、前日オッズなどの実用可能な情報として取り入れることを検討します。

AIも所詮は木

データサイエンスの分野ではLightGBMというモデルが人気で、わたしの競馬予想モデルでも採用しています。

決定木というともう少し聞きなじみのある方もいらっしゃるかもしれません。

 

競馬でイメージすると上図の通りです。

皆さんの普段の競馬予測も実は「中山2500mなら外枠は微妙、だけどこの馬なら買い!」というように様々な分岐を経て、馬券を選んでいます。

AI競馬予想とうたっているものも多くはこのようにいろんなデータから「買い」要素や、「割引」要素を踏まえて馬を評価しています。

AIだからと言って魔法のように競馬を当てられるわけではなく、いかに良質なデータを与えられるかがカギになっていきます。

3. モデルの強みと課題

現行モデルの強み

競馬予想モデルを作っている方は様々おりますが、わたしの作成モデルの強みを紹介させていただきます。

前半3Fのペース予想

わたしは普段競馬予想するうえで、ペース予想をかなり重視しています。

どんなに強い馬でも、レース展開ひとつで負ける可能性があるのが競馬の面白いところです。

本モデルでは、皆さんが普段ペース予想をするときと同様、当日の馬場状態や、コース形態(スタート後に坂があるかなど)、レース頭数逃げ馬の比率などのファクターとしてペース予想を行っております。

現状のペース予想の精度は以下になります。

前半3Fのタイム予想におけるR2値

:0.68
ダート:0.78

R2値ってなんだ?という方はこちらを参照ください。

ある程度の精度でペース予想できていると考えられます。
芝よりもダートの方がペース予想がしやすいようで、精度が高くなっております。

今後このペース予想についてもより高い精度を出せるように育てていきたいと思います。

買うべき馬の推奨度が数値化できる

あくまでこれはモデルの予想的中率の正確性がかなり高い状態であることが前提ですが、本予想モデルでは複勝率を算出しているため、オッズと照らし合わせて期待値を算出することが出来ます


①予想複勝率が60%×オッズは1.3倍=期待値は78
②予想複勝率が20%×オッズは5.5倍=期待値は110

つまり、的中率だけでみれば①の馬の方が高いが、かけるべきは②の馬だということが簡単に計算できます。

これが走破タイムや指数の予想モデルだと、結局どの馬に賭けるべきなのか、その馬に賭けるとどのくらいの期待値が見込めるのかは曖昧な評価になります。

現行モデルの評価

通常、機械学習モデルの二値分類の評価ではAUCF1値などが用いられます。

今回はわかりやすく確認するために、

予想モデルVSオッズ

という作成したモデルでの1番手評価 VS 1番人気 の構図で確認します。

モデルの説明

作成した競馬予想モデルについては現状下記のような状態です。

  • データセットは2013~2024年までの中央競馬全レース(障害レースを除く)
  • 芝、ダートは分けて予想モデルを構築
  • 2013~2021年までを訓練データ、2022~2024年までをテストデータとする
  • 予測対象は「各馬の複勝率(3着以内に入る確率)を予測」(7頭以下レースは2着までが複勝)

的中率の比較

競馬に詳しい方であればなんとなくご存じの方もいらっしゃると思いますが、一般に1番人気の複勝率は60%以上と言われています。

2022~2024年までのレース結果が以下です。

(対象レース数:2869レース)

モデルの一番手評価の複勝的中率:57.8% 1番人気の複勝的中率:65.0%

ダート(対象レース数:3071レース)

モデルの一番手評価の複勝的中率:61.1% 1番人気の複勝的中率:65.2%

ということで、芝、ダートともに残念ながらオッズの勝利という形になりました。

やはりそう簡単には群衆の叡智であるオッズにはかなわないことを痛感しました。

しかし、裏を返せばオッズなどのデータは含めず、馬の情報や騎手の情報などの純粋な競馬予想ファクターで的中率50%を超えるまでのモデルが作れたことに手ごたえを感じました。

やはり競馬は予想ができるもののようです。

予想複勝率別の成績

では、出力された予想複勝率がでたらめを吐いていないか確認します。

:予想複勝率別の複勝確率

予想複勝率:複勝率
0~10%  :4.9%
10~20%:13.9%
20~30%:25.5%
30~40%:35.7%
40~50%:46.8%
50~60%:58.5%
60~70%:68.9%
70~80%:78.7%
80~90%:86.0%
90~100%:100%

ダート:予想複勝率別の複勝確率

予想複勝率:複勝率
0~10%  :5.0%
10~20%:14.0%
20~30%:25.1%
30~40%:35.3%
40~50%:48.8%
50~60%:58.8%
60~70%:68.5%
70~80%:81.0%
80~90%:83.3%
90~100%:94.1%

上図は予想モデルが出力した各予想複勝率ごとにおける、実際に複勝圏内に入った馬の割合をグラフ化したものです。

芝、ダートどちらもきちんと右肩上がりの図になり安心です。

実際の複勝率と大きな差のない値を出力できています。

改善できそうな点は、強い馬が少し過小評価されていそうな点ですね。

わかりやすいところだと、ダートの予想モデルでは、予想複勝率が70~80%と出力された馬の実際の複勝率は81%とレンジよりも高い値となっています。

これは出力値以上に馬の成績の方がよかったケースが多いということなので、より評価されるべき馬のファクターを追加する必要があるように思えます。

現行モデルの弱み

評価をみて、現状のモデルの改善点を考えます。

より細かい情報の追加(特徴量の掛け合わせ)

現状、結構データを適当に突っ込んでいるところも多くあります。

例えば、枠番と脚質の関係性はあまり十分に反映できていない状態です。

それぞれ単体で情報は与えていますが、この二つの情報を掛け合わせたデータを与えられた方が、モデルとしても解釈しやすくより精度向上につながると考えます。

予想複勝率の精度がまだ低い

一番人気に的中率が負けている通り、まだまだ的中率が正確に予想できているモデルとは言い難いのが現状です。

特に中山などのクセのあるコースは精度が落ちています。

この的中率を正確に求めることが出来ていないと、強みに挙げた期待値を数値化することが難しくなります。

もう少しオッズ×予想複勝率が実用できるレベルまで向上させる必要があります。

4. まとめ~最強の競馬予想モデルを目指して!~

  • 複勝率を正確に算出し、オッズと比較することが競馬予想の鍵!
  • 現在のモデルは、一番人気を超える的中率を目指して改良中!
  • より精度の高いモデルを作るため、改善を進めていく!
  • 「こんなデータを入れるともっと良くなるのでは?」など、読者からのフィードバックも大歓迎!

ここまでご覧いただきありがとうございました!
より充実したコンテンツを提供できるように今後も邁進してまいります!

参考記事紹介

データサイエンスを用いた競馬予想に興味を持っていただいた方はこちらの記事もご覧ください!

【初心者必見】競馬AI予測モデルをゼロから作成!簡単ステップとコードを大公開!-前編


【データサイエンス初心者入門編】タイタニック号であなたは生き残れる?

コメントを残す

メールアドレスが公開されることはありません。 が付いている欄は必須項目です

CAPTCHA