【AI予想】AIまどかの競馬予想_取扱説明書
みなさま、遅ればせながらあけましておめでとうございます!
年越しはいかがでしたでしょうか?
私はtwitterでもつぶやきましたが、モデルの改良とデータのお料理方法に頭を悩ませていたらいつの間にかうたた寝してしまい、ゆく年くる年の鐘の音で目が覚めましたw
年末年始で時間ができたので、今までのデータや思考の棚卸しをしているのですが、このタイミングで私がどのようなデータを用いて、どのような考えのもと競馬に臨んでいるかを書いたほうが良いと思い、この記事にまとめさせて頂きます。
今まで書いた記事と多少被る部分もあるかもしれませんが、ご容赦いただければ幸いです。
以下に見出しを作ったので、不要な部分は読み飛ばしてくださいませ!
■AIまどかの作者について
①私の自己紹介
まず、自己紹介からさせて頂ければと存じます。
私は30代のゴリゴリな社畜マンです。
もともとはアウトドアが趣味でして、登山・スノボや長距離ドライブなどを嗜む怪しい子でした。週末には布団や撮影機材・スノボを北海道のレンタカー屋に宅急便で送りつけて、宿も取らずに放浪して週明けにはケロっと仕事をしているような、いわゆる「変態」の領域に入っていたどうしよもない人間だったと思われます(苦笑) もちろん、競馬も2014年はじまりあたりから始めておりまして、かれこれ10年弱の月日が経ちます。
20代までは好き勝手やっていたのですが、今は会社という籠の中の鳥でございまして、時々会社から与えられるエサを細々と啄む社畜になってしまい。。その中でも楽しめるものを‥ということで、競馬のAI・機械学習モデル実装を始めました。
②競馬と機械学習実装によるAI予想との出会い
私はお仕事で経営戦略策定のためのデータ分析業務や各種技術PoC案件を回していたということもあり、データを扱いながらロジックを企画することが多少なりとも得意です。したがって、競馬予想スタイルは「データドリブン」に一貫しております。Only Data will tell.
競馬を始めた当初は、競馬新聞を斜め読みして馬券を買っていたのですが全く当たらず。このままではイカンということで、エクセルでデータ蓄積→処理判定ロジック実装を繰り返し、自分なりの指数の偏差値化などで予想をしておりました。実は、2017年頃からアウトプットがある程度ワークし始めており、回収率も100%以上キープで安定稼働してまさに順風満帆なはず‥でした。
ただ、2019年を境に回収率は一点暗転。買っても買っても軸は4着。データと買い目の折り合いの悪さや、軸の取りこぼし・判断ロジックにおける再現性担保が目下の改善課題でした。
再現性の担保への近道は、人間の感情や判定を入れずいかに機械的な判定をするか、ということ。また、しがらみ多き社畜にとって、効率の良い時間の使い方とそのアウトプットの精度の高さのバランスがかなり求められるようになったこと。
これら背景より、競馬予想に時間を全くかけずに機械的に軸・買い目判定をし、極限まで人間の判断を排除し省力化したい!という考えに行きつき、
の担保を目的として、遂にAI・機械学習の門戸を叩いたのでした。
③Why KEIBA?
数多くある資産運用手法の中で、私が競馬を主軸に資産運用しているのは以下理由からです。
中央競馬は毎週土日のみの開催なので、資産運用に集中できるタイミングを自らスケジューリングできる
馬は動物。騎手は介在するが、基本馬の調子と結果は嘘をつかないため、データ分析結果とレース結果の相関性が高いと考えられる
なにより馬が可愛いw
株とかもやっておりますが、デイトレのような短期トレードで一回転取るなどのようなリソースを割けるような仕事環境ではなく。。
週末に集中して考えたいという思惑と、データ分析との親和性が高い資産運用手法が相まって、競馬にベッドしているわけです。
以上、簡単ではありますが私の自己紹介でした!
■競馬予想について
さて、ここからは色々と予想の考え方やデータの作り方をまとめていきます。
①予想の礎/理念
私が予想をする上で重要視しているのは
です。
競馬予想には諸説あり、楽しめれはそれはそれでOKだと思います。しかし、私は競馬を資産運用手法の一と捉えています。新聞をなんとなく眺めて「これは来そう」で外した馬券ほどもったいないものはない。なぜなら、反省する材料が何も得られないから。
しっかりと判断ロジックに基づいたデータ解析と買い目判定ができるか?をモットーにしております。
②競馬予想スタイル
馬の調子は調教に帰するという信条のもと、基本調教データを用いた機械学習の実装をしております。
展開予想や馬体診断は重要な判断材料にはなりえますが、定性的な判断材料が多く、予想に適さないと考えています。
※前職で画像解析による馬体診断の取り組みをしておりましたが、優位なデータが得られず、力不足で撤退しました‥
実は、血統はデータドリブン予想ができそうだと踏んでいるのですが、お勉強不足でまだ手つかず。。
③AI競馬予想に対する見解
巷では「AIで競馬予想しました」という書き込みも増えてきており、AIが市民権を得てきた証拠だなと感じる日々です。私もそのトレンドにスッと乗れればいいなと考えています!
ただし。AI・機械学習を用いて予想配信する上で、皆様に理解していただきたいことがあります。それは「AI・機械学習は万能ではない」ということです。
ひとえに「AI」と言われると、
・AIが判定したのだから、それは絶対正しいのでアール
・AIが予想外したわ、ゆえにこれはクソAIなのでアール
という妄信的な考えに陥いりがちな方が多いように思えます。これは、ある種の思考の罠であり、注意したいポイントの一つです。
今までの経験上、個人的な見解を申しますと、AI・機械学習はあくまで「今までの統計学の延長線」なのかなーと感じます。競馬予想に当てはめると、数多くある予想スタイルの一種です。個人的な感覚では、サイン馬券や展開予想など定性的な判断で下された予想よりも「定量的な数字の裏付けがあるから、外れたときに納得感がある、反省が定量的にしやすい」くらいかなと思っています。
では、私が大事にしているポイントはどこか?それは‥AI予想によるスコアデータをいかに一貫性のあるロジックでお料理できるか?です。
そうです。勘のいい方はお気づきですね。
AIによるスコアはあくまで予想に対するメタデータでしかないのです!
AIで期待値のいい馬が出てきました!
なんて、恥ずかしくて口が裂けても言えないのです。もし堂々とタレ混んでいる方がいたら、試しにこう言ってあげましょう。
貴方の使っている学習データの特徴量のimportanceは?と。
何に基づく何の期待値なのかさっぱりなコメントにはドンドンツッコミを入れてあげましょう!
そう、何を隠そう。
AIは、学習方針がしっかりしてないと作れないものなのです。予想の軸として、何がどう相関すれば当たる確率が高くなるのか?それを定性的なロジックでも良いので持っている人でないと、機械学習モデルは開発できません。
裏を返せば、機械学習モデルは、予想のポリシーやそれなりの労力があればおそらく独学で誰でも実装できると思います。このロジック部分はまさに秘伝のタレであり、それぞれのAI予想家さんの持つべき味なのだと思います。ここは、私が最も力を入れているところなので、予想をご覧になる皆様にはしっかりと理解頂ければと存じます!
④予想対象レース
地方はデータが揃わないため、予想は行いません。
基本中央競馬で以下のレースが中心となります。
2勝以下のレースはロジックとの相関性が低くなる傾向があり、判定の精度を担保する目的で予想をしていません。(今後のデータロジックの解析結果次第で、1勝クラスも対象にするかもしれません)
現在は多忙により、日曜の数レースのみの予想配信を行う形で運用しております。今後、予想配信のあり方はニーズや予想精度を見ながら検討していきたいと思います。
■予想データの読み方
こちらでは、毎週出している予想データの読み方をご紹介します。
※こちらの内容は古いので。。最新の記事をご参考下さい!返金可能なのでチラ見もOKですよ!
①予想チャート
毎週、各レース以下のようなチャートで予想を配信します。
Stdevと書いてある列がAI予想による確率値を元にした偏差値です。こちらが予想のベースになり、基本紐の取捨選択に利用されることになります。
したがって、基本的に偏差値が高ければ高いほど着順内に来る可能性が高いと読み替えて頂ければOKです。軸も基本偏差値が高い馬から選択する傾向が高い状況です。
しかし‥やはり競馬は紛れが多いもので。その紛れをうまく組み込んだ秘伝のタレ(上述)を用いて、最終的な軸判定諸々を行います。
秘伝のタレの判定結果は、チャートの背景色にて表現しております。
背景色の凡例は以下の通りで、こちらを元に馬のプロファイリングを行っております。
なお、秘伝のタレももちろん定量的なロジックに基づいて実装しています。機械的にプロファイリング可能なので、人間の思考の迷いが介在しません。買い目やフォーメーションの検討に是非、ご活用ください!
ちなみに、Rankは偏差値順位です。Flagは買い目の印を記載することにしています。
②結果チャート
レース後には以下赤枠の列に、レース結果を反映するようにしています。花丸マークが、買い目に入れた馬でかつ、馬券内に来た馬です。
また、左上の赤枠は
をひと目で分かるように表示しています。
特に、着差平均は機械学習モデルでも採用している判定基準であり、私の予想のベースとして非常に重要視しています。
着差平均を採用している理由は、以下記事に記しておりますのでご参考ください!
③ダッシュボード
ダッシュボードはシンプルに、予想レースの全サマリーです。予想レースを土曜・日曜でそれぞれ一覧にて見られるようにしたものです。しめそば版競馬新聞と捉えて頂ければ幸いです!
また、左上の赤枠部分ですが、軸選定した馬が馬券内に来たレース数を計上して表示しています。少なくとも軸が来ないと馬券が当たらないので‥これが私の機械学習・AI競馬予想における最低限のベンチマークとなります。
④note記事について
上記のデータを、予想・回顧という形で毎週出すとともにtwitterでも告知させて頂きます。公開方法や書き方は試行錯誤中です‥気づいたらblogを活用しているかもしれませんし、LINEを活用しているかもしれません。
■データ分析・予想AI実装
最後にデータ分析のフローをご紹介します。なかなかコアなところまで踏み込んで記載してみました。
流れとしては、ざっくりですが以下のようなお作法になります。
①各種データの取り込み
ここは簡単で、基本的には
・レースの基本的なプロファイルデータ(馬、騎手、馬番など)
・調教データ
・外厩データ
など、その馬に関するプロファイルを抽出したうえでデータ蓄積して行きます。取り込むデータの範囲や数値についてはある程度後続のデータ判定に利するもののみを抽出しています。
②バイブルシートの作り込み
次に、学習データの元ネタになるバイブルシートの作り込みを行います。
バイブルシートは私にとって非常に重要なデータベースです!
これだけあれば、実はあまりAI・機械学習は必要ないかもしれない!といっても過言ではないほど、私の競馬ライフの半生に渡り利活用・増改築を繰り返してきたシートになります。
回顧時には時々ポイントを絞って公開する場合があります。皆様に是非活用いただきたいので、予想配信時にどのような手法で公開は検討中です。
2021年ホープフルSのデータを参考に、読み方をご紹介します。
※下の画像は一部のデータで、実はもっとデータの種類があります!
バイブルシートは、主に以下の要素から成り立っています。
・レース基本データ
レース名や馬番などの基本情報です。
・調教タイム、加速ラップ平均以上判定
各調教コースごとの走破タイムを2014年からの重賞レース出走馬分蓄積し、4F〜1Fおよびラップタイムの中央値に対してそれ以上かどうかを判定・フラグ付けしています。
・着順・着差
こちらはレース結果です。
・通称「謎印」
謎印は、とあるロジックを用いて調教を評価したときに、
- レースに繋がりそうな調教か
- 好気配な調教か
を判定したものです。こちらの謎印がついた馬の中から軸候補を絞ります。
例えば、ホープフルS 2着ジャスティンパレスと、3着ラーグルフのデータを見てみると‥
いずれも、
なので、買い目入り確定。そして‥
なので、軸確定。のように判定します。
これらのデータの一部を説明変数にし、判定フローを機械学習化したのが去年からの取り組みです。
ちなみに、謎印の威力はとても強く、2021年の京都金杯でケイデンスコールが優勝したときも、謎印がグリグリでした。。(ココロノトウダイもしれっと謎印が付いています!)
なお、私はこの謎印を素直に信じることができず、無事死亡しましたw
③機械学習モデルによる計算、確率の算出
ここからが本題の機械学習のお話です。
・学習データ
前述の通り、バイブルシートから「調教」「外厩調整状況」など30種ほどの説明変数を取捨選択し学習データとしています。2014年からの重賞出走馬が弾き出した調教や各種データを利用しています。
・モデル、機械学習
決定木分析による二値分類を用いて計算を行います。具体的には、それぞれの馬においてレース後に想定される着差・着順が「とあるしきい値以上になる確率」を算出します。(正確には、計算過程で得られる確率値です)
フレームワークはLightGBMを利用し、過学習を防ぐためにランダムフォレストにてアンサンブルしています。
また、max_depthやnum_leaves、learning_rateなどのハイパラはf1スコアを最大化する条件を元にオートチューニングできるよう実装しています。
④判定のクセ
最後に、機械学習・AI予想のクセをお伝え致します。
どうしても、どうしても本機械学習でフォローできない馬がいます。それは調教駆けしない馬がしれっと馬券圏内に入るケースです。説明変数の都合上仕方ないのですが、比較的高い傾向にあります。。
また、調教駆けするが馬券だとサッパリな馬もいます。
必ず4着を狙ってくる憎い馬もいます。
このようなデータフロックな馬のリスクを避けるためにも、馬連やワイドなどが個人的なおすすめ券種です。
少し厳し目な着差判定を取り入れているので、2着以内に来る馬かどうかの精度がある程度担保できているためです。
三連系も、馬連ワイドよりは紛れが多くなりますが、当たらないわけではありません。私は三連系で馬券購入していますが、次大きく当たったら、馬連中心に切り替えようかなと思います。
あとは、妖怪にとりつかれたような計算結果をはじき出すこともあります。
妖怪ヒモケッチャク、妖怪ジクヨンチャク、妖怪サンチャクダレオマエなどには昨年、かなり苦しめられました。。
■まとめ
随分と長々記載しましたが、これが私の馬券予想の概要です。
ある程度オープンソースにさせていただいたことで、どのような理念で競馬予想をしているかご理解いただけましたでしょうか?
素性が分かると、出させて頂いている予想に対する安心感も付随するかなと思い、頑張って筆を執らせていただきました。
今後、予想の出し方や公開手法についても試行錯誤でトライしていきたいと考えています。
わからないことやリクエストがあれば、ぜひtwitterのDMでお知らせくださ
い。
スキ・noteフォロー・Twitterフォローもお待ちしています!!
競馬ライフ、楽しんでいきましょう!
※初稿: 2022.1.3
この記事が参加している募集
いつもご覧いただきありがとうございます。サポート頂いた分は、機械学習用のサーバリソース増強/運営のほか、いつも仕事の疲れを癒やしてくれる馬達のために活用させていただきます!