競馬AI開発

競馬AI開発③~使用項目を検討する~

 競馬AI開発についての第3回です。

今回は競馬AIに使用する項目ついて記述します。

使用項目を検討する上でのポイント

 みなさんはどのように競馬の予想をするでしょうか?

一般的には、

競馬新聞やネットでレースの馬柱を見て、各競走馬や騎手などの戦績・特徴を把握したり、調教情報やパドック・天候・馬場状態などを確認

すると思います。

馬券を購入する際は、買目のオッズを見ながら調整することもあるでしょう。

当たり前ですが競馬AIに限らず、コンピューターで競馬を予想・分析する場合も同様に、上記のデータが必要となります。

競馬AIを作成するための使用データを検討する上で、個人的に考えているポイントは以下の通りです。

ポイント1

そもそもデータとして取得できるか?提供されているか?

 これはアナログ予想(人間の脳で考える予想)の強みでもあるのですが、特に競走馬のパドックでの様子、レース中の走り方・不利の有無など、

技術的にデータ化が難しい(そもそも分析するための映像データ取得が困難)場合です。

ただし、映像解析技術に関しては確実に進歩しており、様々な分野で

物体検出(レース映像の中で競走馬や騎手の位置を特定)し、

姿勢推定(競走馬の各部位の位置を特定・動きを分析)する

といった技術は研究・実用されています。

従って、この部分に関しては近い将来競馬予想にも当たり前のように使用されるかもしれません。

【実用事例】ギリア株式会社 深層学習による競走馬の姿勢推定

ポイント2

量化できるか?定量化できるとして信頼性はあるか?

 馬体重や着順など、明確な数値として表すことができる定量データと異なり、競馬関係者のコメント・ネット掲示板の書き込み情報といった数値化ができない定性データは扱いが難しいです。

もちろん、競馬関係者が弱気なコメントをした場合に評価を下げるといった活用方法は考えられますが、そもそも定性データは人の感情や周りの環境が影響することでブレが生じやすく、データの信頼性が怪しいと思っています。

例えばある商品の評価アンケートの例で、「すごく悪い」「悪い」「普通」「良い」「すごく良い」の5段階になっていた場合に、なんとなく「普通」を選びがちだったりしますよね。

この例では一応数値化はできていますけどその値自体にどこまで信頼できるか?疑問があります。

ポイント3

過去十分な期間取得できるか?将来も取得できるか?

 AIは通常「学習」と呼ばれるフェーズを通して作成されます。

そのため、学習用のデータが必要となります。

また、当然ですが収集するデータが将来的にも取得できない・使用されないと意味がありません

受験や資格勉強などでも同じですよね?

まず、過去数年分の過去問を解き対策をします(過去数年分のレースデータで学習する)。

そして試験範囲外の勉強は通常しません(試験に出ない=将来の予測で使わない から)。

学校で「ここ試験にでますか!?」と聞いていたかと思います笑

つまり、今だけでなく過去も将来も考慮しなければなりません。

例えば、JRAは2020年9月よりクッション値を公表するようになりましたが、いくら有益な情報であっても過去のデータが十分に存在しないため今すぐに使うことが難しいのです。

ポイント4

ったらとりあえず取得しておく、はアリ

 最初に使用するデータを全部決めておいてから取得することができれば理想ですが、実際に使うかどうかは後から決めても良いと思います。

取得するための時間やその分のデータ容量はとられますが、後ほど「やっぱり使おう!」と思って取得し直す方が面倒です。

ポイント③と矛盾する内容ですが、使用するか分からないけど取得できるのであれば取っておいても良いでしょう。

実際自分も取得はしたものの使わなかったデータは割と多いです(;^_^A)

データ取得ポイント

データ取得ポイント

実際のデータを眺めてみる

 使用項目を検討する上で、例として2020年ジャパンカップの出馬表および結果表調教情報を見てみましょう(netkeiba)。

<出馬表(抜粋)>

2021年ジャパンカップ出馬表

<結果表(抜粋)>

2020年ジャパンカップ_結果表1

2020年ジャパンカップ_結果表2

<調教情報(抜粋)>

2021年ジャパンカップ調教

特定のレースに関するデータ

○レース情報(①)

  ・レース名
  ・発走日時
  ・レース/トラック条件
  ・天候
  ・馬場状態
  ・レースクラス/条件
  ・賞金

  など
  レース開始前に分かる、レースそのものに関する情報

○出走馬の情報(②)

  ・馬名
  ・枠番/馬番
  ・性別/馬齢
  ・血統
  ・騎手
  ・斤量
  ・調教師
  ・オーナー
  ・馬体重
  ・人気/オッズ
  ・過去の戦績

  など
       レース開始前に分かる、各出走馬に関する情報(人気とオッズ除く)

○各出走馬のレース結果(③)

  ・着順
  ・走破時計
  ・着差
  ・上り3F
  ・レース中の位置取り

  など
       レース終了後に分かる、各出走馬のレース結果情報

○レース全体の結果(④)

  ・払い戻し情報
  ・ラップタイム
  ・コーナー通過順

  など
        レース終了後に分かる、レースそのものの結果情報

○調教情報(⑤)

  ・追切コース
  ・馬場状態
  ・調教タイム
  ・位置取り
  ・脚色

  など
       レース開始前に分かる、各出走馬の調教情報

その他のデータ

以上は、特定のレースについて取得できる情報であり、特徴量を設計する上でベースとなるものですが、それ以外にも活用できそうなデータは

○トラック情報

  ・坂の有無
  ・スピードやパワーなど求める力の違い
  ・ダートの場合、芝スタートか否か
  ・コーナー数(大回りか小回りか)

  など
       レース開始前に分かる、各トラックに関する情報

○競馬場付近の天候情報

  ・気圧
  ・降水量
  ・気温
  ・風速
  ・積雪量
  ・日照時間

  など
       レース開始前に分かる、各競馬場付近の天候情報

○時系列オッズ

  ・各馬券種の時系列オッズ

  など
       レース開始前に分かる、時系列のオッズ情報

 

注意

レース開始 と レース終了後 で色分け表示しているのは、これから特徴量設計・モデル構築をしていく上で特に注意しなければならないからです。第1回でも触れましたが、レース終了後に分かる情報を誤って予測に使用すると、情報リークとなります。

 

まとめ

今回はざっくりと

・競馬AI開発で使用する項目は必要な期間取得できる定量データが大切

・実際のデータを眺めることでどんな情報が取得できるか

を解説しました。

次回は、データ収集方法について説明したいと思います!

次回へ

-競馬AI開発

© 2022 AISS BLOG