2
1

Delete article

Deleted articles cannot be recovered.

Draft of this article would be also deleted.

Are you sure you want to delete this article?

More than 1 year has passed since last update.

UdonTechAdvent Calendar 2022

Day 19

Python AIで競馬予想はじめました

Last updated at Posted at 2022-12-06

Python AIで競馬予想はじめました

私の馬券購入手法

オッズ理論を原点にしている。
パドックが始まる前、パドックが始まった後では、オッズは激しく上下する。
特にTVの解説者がなにかコメントすると大きく動く。
パドックや返しウマの判断は競馬の経験値に大きく左右される。いわゆるプロ以外にはわからない目利きだ。 例えば毛つやで体調がわかり。歩調に違和感がないか。気性や緊張度合いで余計な体力を消耗していないか。前走との比較など。 新馬や1,2回しか出走していない馬であれば、水曜追切情報と同様に大きな判断要素となる。

  • 人気集中1頭 か 人気分散5頭  ⇒ 買目を定める 
    (人気馬とは、単勝オッズだけではなく、馬連、馬単、WIDE、3連複、を投票数に応じて独自に算出する)
  • 馬体重発表+パドック  発表前後のオッズ上下  ⇒ パドック後に人気が落ちる馬を消す

を基本としていた。

その結果、1~5番人気の馬の中からしか選ぶことができず、いわゆる荒れる万馬券を狙う事ができなかった。中程度以上に波乱が予想されるレースには、わたしの良かれと思っていたアルゴリズムは、全く歯が立たなかった。

予想としては、本命、小穴程度を選んでいた事になる。
プロの予想師や、玄人の予想師は、中穴や大穴をどのような経験値を駆使して狙うため。
本命、小穴程度を狙うのは、素人の予想師と言っていいかもしれない。

JRA控除率

控除率:単勝20%,複勝20%,枠連22.5%,馬連22.5%,ワイド22.5%,馬単25%,3連複25%,3連単27.5%,WIN5 30%
となっている。

何年も数多くレースを買っていると、単勝であれば期待値(回収率)80%と確実に負けることになる。これではJRAの思うつぼ。よいお客様である。
玄人は期待値(回収率)100%を超えなければプロとは言えない。

期待値80%とはどのような状態かと言うと、
競馬の場合 100人が競馬に行くと、
玄人5人は18倍と平気で当てていく。 本命程度の配当オッズもそんなところだ。
残りの素人95人はハズレと言う計算になる。

ちなみに10人が宝くじとパチンコに行くとする。
テクニックと知識があれば確率を若干左右できるとは言うものの、基本はおみくじを引く等確率
宝くじの期待値は50%   雑に計算すると1人は5倍になり のこり9人はオケラ。
パチンコスロット店の期待値は60% 1人6倍勝てば のこり9人はオケラ。

とギャンブルはどれもこれも平均してひどいものである。
お遊びとして楽しむ一種のレジャーと言えども、運営会社にお金を巻き上げられるシステム構成となっている。

もう一度言わせてもらうが、
上記のようなレースを、何年も数多くレースを買っていると、
単勝であれば期待値(回収率)80%と負けることになる。
期待値(回収率)100%を超えなければ玄人やプロとは言えない。

期待値100%超え

かつて卍氏の競馬裁判事件が有名にはなった。
他にも、UPROデータリサーチ会社なども大規模に回収していた。

ウソかほんとか「JRAはおれの財布」などと公言していたらしい。
どちらも期待値(回収率)100%を超えているのである。

いや待てよ。
確率計算であれば、AIが得意中の得意だ。
期待値(回収率)100%を超えることはできると断言できる。

既存の競馬AI

調べてみると、競馬AIはいくつも存在している。

ほぼ予想を売っている、いわゆる予想屋だ。

  • SIVA:スポニチ
  • AI-GALILEO:サンスポ、競馬8 月額1000円?
  • 競馬予測AI-Mamba:ドワンゴ
  • 競馬予想AI「オリジン」:JRA-VAN 無料・月額 2,090円(税込)
  • Deep4cast:JRA-VAN 無料・月額 2,090円(税込)
  • ニッカンAI予想β版:日刊スポーツ 月額 800 円(税別)
  • 的中型人工知能:netkeiba  株式会社AlphaImpact 月額792円(税別)
  • VUMA:株式会社quantum 月額980円
  • Ringo ver.β:東大工学部卒2名 月額910円(税抜)

pythonによるデータベース構築

AI開発はまずなにより先に、データベースを構築すること

Yahoo競馬の情報としては、
着順 枠番 馬番 馬名 性齢 斤量 騎手 タイム 着差 単勝 人気 馬体重 調教師
払い戻し情報
単勝 複勝 枠連 馬連 馬単 3連複 3連単

を約20年分のスクレイピングは、pythonで比較的簡単にできる。
(スクレイピングは別の機会にでも)

AIアルゴリズム

得られたデータベースを、どう加工して、
以下のAIアルゴリズムに通して

  1. 線形回帰
  2. ランダムフォレスト
  3. 決定木
  4. k近傍法(k-NN)
  5. ニュートラルネットワーク
  6. サポートベクターマシン(SVM)
  7. ナイーブベイズ(単純ベイズ分類器)
  8. 正則化(Regularization)
  9. ロジスティック回帰
  10. マルコフ連鎖

などなど確率を算出することも時間がかかるが可能だ。

さらに、どの買い目を選んだらよいか再計算する。

とりあえず、
今あるデータベースとはランダムフォレストが相性良いように思っている。

1日分を算出してみると、110%程度といい感じを算出している。
これをだんだんとブラッシュアップしてみることにする。

2
1
2

Register as a new user and use Qiita more conveniently

  1. You get articles that match your needs
  2. You can efficiently read back useful information
  3. You can use dark theme
What you can do with signing up
2
1

Delete article

Deleted articles cannot be recovered.

Draft of this article would be also deleted.

Are you sure you want to delete this article?