AI

AI予測で競馬は勝てるのか? ~ データ収集編~

少し前、友達に競馬の話を聞いて競馬ファンになった者です。
まだまだライト層ですが……。
話を聞いてると、それぞれの馬の特徴やレース当日のコンディションは勿論、騎手の特徴、相性などさまざまな要素がありそれを覚える必要があるようで、それならAIで予測すれば覚えなくてもよいのでは?と思ったことがきっかけです。
というわけで、本記事ではAIで競馬予測をするための前準備とその過程を紹介します。

1. 対象レース

予測対象のレースは中央競馬に絞ります。
今回、地方競馬は無視します……。
中央競馬とレースデータの構造が違うため扱いにくそうでした。

2. レース情報の収集

基本的にレース情報はスクレイピングで収集します。
レースデータの収集元は、「netkeiba」に登録されているレースとしました。

3. 収集するデータの粒度

データの粒度はできるだけ細かく収集します。
(予測モデルにおける特徴量の選定・バリエーションの変更、
統計分析の観点から詳細データも収集することにしました)
今回のスクレイピングでは各レースごとに以下の情報を収集しました。

当日のレース情報は以下の20種類とします。
一旦、レース当日に収集可能な情報は全て収集します。

次に各馬ごとに前走3レースに関する情報も取得します。
前走レースのタイム、順位などから馬のコンディションの傾向が掴めれば
予測しやすいのでは?といった感じです。
下記の表は前走1レースの場合の情報で、実際はそれぞれの情報3レース分収集します。

4. 収集結果

実際に収集します。(お願いだから上手く抽出できてほしい……)
2021年3月13日の阪神競馬場で行われた第8レースに関する収集結果です。
まずは、当日のレース情報から……



次に、前走3レースの情報を……


上手く抽出できてますね!
ただ疾走馬数は全8頭ですが、実際に抽出できた頭数は6頭でした。
データの欠損、例外処理により抽出できなかったのかな?
レースに関する情報は2011年〜2022年4月まで収集しました。

全体を通して1割くらいは収集不可のレースがありますが、
全体の約9割ほどは収集できてるので大きな問題はなさそうですね。
一旦スクレイピングに関しては問題なさそうです。

5. おわりに

本記事ではAIで競馬予想を行うための、データ収集をしました。
とにかくスクレイピングの例外処理が多く、止まる度に修正し、
収集の繰り返しで大変でした。
次回以降で収集したデータの基礎分析と予測結果につきてまとめていこうと思います。

AI予測で競馬は勝てるのか? ~ 予測編①~AI予測で競馬は勝てるのか? ~データ収集編~の続きになります。 https://gri.jp/media/entry/7762 ...
T.A
新卒1年目で働いてます。 まだわからないことも沢山ありますが頑張りたいと思います。