0
1

競馬予想AIを作りたい(データ収集編2)

Posted at

前回の話

とりあえずnetkeiba.comからデータを集めてきて学習させた。
一着を当てる問題として学習させたが、過学習するし精度は20%程度しか出なかった。
原因を考えた結果、全レース18頭立てというわけではないので、上手くいかないと仮定し、再挑戦することにした。

補足

前の記事で使っていたデータが吹っ飛んだため、データを収集し直しました。
この記事以降で扱うデータは、中央競馬の2008年~2022年の芝レースかつ、「未出走」「未勝利」「新馬」を除いた全14630レース分のデータを扱っていきます。
(芝に限ったのは、予測しやすくするため)

今回の話

仮定は違っていたようなので、データを見直すことにした。

仮定した結果は影響なし

18頭立てのレースだけに絞って学習させたが、特に傾向が変わることは無かったので失敗に終わった。
ついでにデータを増やし、レース場や距離、馬体重や増減、性別も加えてみたが、これも対して変わらなかった。
(面倒になったので、レース場と距離、性別は外すことにした)

データの見直し

着順と他の項目の相関を見る

ひとまず、着順予想に使える項目がどれか見直すために相関行列を出してみた。
今回収集したデータは18頭立て想定で収集しているが、16頭立ての場合17,18番のような足りない部分は0で埋めている。
それらを除外して相関係数を求めたグラフとなっている。
corrr_map.png

これを見ると、着順と最も強い相関があるのは人気の0.57。
次いで相関があるのは単勝の0.44。
前走までの順位はせいぜい0.2程度しか無い。
年齢は0.12と低いながらも相関があるので、若いほど強いということだろう。
馬番は僅かに相関があるが、内枠有利であることを示しているのだろうか。
逆に、馬体重や増減、前走からの日数は影響していないことが分かる。

着順と人気、単勝オッズの関係を見る

着順と人気でクロス集計してみた。
pop_res.png

分かりにくいが、左上に行くほど人気が高く成績も良い。
右下に行くほど人気が無く成績も悪い。

こう見ると、人気1位が約4400回勝っている。
人気2位が1着になるのが約2700回程度。
以降、人気5位あたりまでは約1000回勝っていることが分かる。
このデータは14630レース分なので、人気1位だけを買い続ければ3割程度の的中率になる。

--

今度は着順とオッズで散布図を出してみた。
odds_res.png

基本的にオッズが低いほど良い成績ではあるが、オッズが低くても悪い成績になることはよくあるらしい。
概ね200倍以下なら1着の可能性が(比較的)高いことが分かる。

ちなみに、人気1位だけに限ってオッズと着順の散布図を出すとこんな感じ。
odds_res_at1.png

なんかよく分からんが、一応オッズが低いほど着順は良いことが分かる。

今回の結論

いかがでしたか?調べてみたけどよく分かりませんでした!
とりあえず、今あるデータは着順と無相関ばかりというほど無意味では無いので(認めたら負けな気がするので)、今度はAIのネットワーク構造を見直すことで改善を期待したい。

InceptionNetのアイデアとかDilated Convolutionとか上手いこと組み合わせれば上手く行ってくれると良いなぁ。

0
1
0

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
0
1