AI

AI予測で競馬は勝てるのか? ~ 予測編①~

AI予測で競馬は勝てるのか? ~データ収集編~の続きになります。

AI予測で競馬は勝てるのか? ~ データ収集編~少し前、友達に競馬の話を聞いて競馬ファンになった者です。 まだまだライト層ですが……。 話を聞いてると、それぞれの馬の特徴やレース当...

本記事では前回収集した中央競馬のレース情報(2011年~2022年現在まで)を使ってAI予測を行おうと思います。
単に予測と言っても方法は様々です。
分類問題として解き、順位をクラス分類させる方法、回帰問題として走破時間を予測させる方法などが考えられます。
正直なところ、どの方法がベストなのかさっぱりわかりません(笑)
とりあえず色々やってみて探り探り進める方針にします。
本記事ではLightGBMによる回帰で走破タイムを予測していこうと思います。

1. データの前処理


↑ 前回収集したデータではカラム「gender」や「field」のように日本語表記のものも存在したため、これらを数値に置き換えます。
「gender」の牡なら「1」 「gender」のセなら「2」のように単に数値変換しただけです。

2. 予測

一旦始めは単純に予測し、賭けた結果になります。
訓練データには2011年〜2021年までの中央競馬全レースを使用し、テストデータには2022年1月1日〜6月19日までの約半年分のレースとしました。
今回は回帰で走破タイムを予測しているため、レースの各馬ごとに予測された走破タイムを早い順に並び替えた上位3頭の馬に賭けます。
下が何も条件をつけない場合の単勝による回収金の結果です。

綺麗な右肩下がりのマイナス収支のグラフになっちゃいました。
総投資441,900、回収339,170で収支で-102,730(回収率76%)でした。
さすがに問題設定が雑すぎました。

次は予測するレースに条件をつけます。
現在は当日レースの馬ごとに前走レースや騎手情報を追加させたものを使っているため、前走3レースが無い馬やデータ欠損の馬に関してはデータが抽出できていません。
そこでレースごとに抽出できた馬数が疾走する合計馬数の8割以上の場合のレースのみ予測します。
合計10頭のレースで2,3頭しか馬情報が抽出できていないようなレースの場合は明らかに的中率が下がると思いますので。
予測対象馬数が全体の8割以上に絞った場合における単勝回収金が下のグラフになります。

条件無しの場合に比べると若干マシにはなりましたが、まだマイナス収支でした。
総投資207,900、回収178,750で収支で-29,150(回収率85%)でした。
回収率で約10%精度は向上したけれどまだまだです。

ここで、そもそも単勝で回収金を計算してるのに上位3馬も賭けるのは数が多すぎるのでは?となり、上位1頭のみ賭けてみました。

ここでやっとギリギリですがトータル収支でプラス域に転じました!
総投資69,300、回収69,320で収支で+20(回収率100.02%)でした。
上位1頭だけ賭けた方が回収金が高いということは意外と最有力候補を1位に予測できているみたいです。
ちなみに的中率は25%でした。
それなりにといった感じでしょうかね……。

3. 最良予測

その後も色々賭け方を工夫して最も回収率が良かったのが、出走馬の8割以上の馬情報があるレースかつ、上位1頭の馬かつ、オッズが中倍率以上の馬に賭けた場合でした。

収支で+6,420(回収率130%)でした。
おそらく低オッズの馬の方が勝つ確率は高いが、リターンが少ないため負けた際に一気に凹み、賭けてる量と回収が釣り合わないのなーという予想です。
ただ、この賭け方は基本的に荒れたレースでなければ成立しないため、少しリスキーでもある賭け方です。
特に、1度オッズが50倍以上の高倍率の馬を当てたため回収率が大きく増加しています。
このような馬を頻繁に当てることは難しいと思われるため安定とは程遠い感じがします……。

4. おわりに

回帰で走破タイムを予測し問題設定を色々変更したところなんとかプラス域にはなりました。
的中率も大事ですが、それ以上にどう賭けるのかが一番肝心なのかもしれませんね……。

AI予測で競馬は勝てるのか? ~ 予測編②~今回も前回に引き続き、「AI予測で競馬は勝てるのか?」予測編になります。 https://gri.jp/media/entry/7...

 

T.A
新卒1年目で働いてます。 まだわからないことも沢山ありますが頑張りたいと思います。