競馬AI開発について第11回です。
今回は地方競馬の予測AIを構築する際のポイントなどについて記述します。
中央競馬との違い
ここまで10回に渡り、競馬AI開発について説明してきましたがおそらく多くの方が最初に取り組むのは中央競馬(JRA)だと思います。
AISSに関しても中央競馬のAI開発からスタートし、ある程度運用面で安定してきてから地方競馬のAI開発もスタート(2020年の途中から)しました。
地方競馬でも基本的な開発の流れは中央競馬と同様ですが、中央競馬と異なる特徴をきちんと把握することでより地方競馬に最適化したAI開発をすることができます。
まずはざっくりと中央競馬との違いについて主にAI開発という視点から説明していきます。
データ数
データ(レース)数は圧倒的に地方が多いです。
中央競馬は全10場で、基本的に土日の開催するのに対して、地方競馬は全15場で基本的に毎日どこかしらで開催されています(2021年6月時点)。
また、1日のレース数について、中央競馬は最大3場開催36Rなのに対し、地方競馬では8場開催94R(ゴールデンウィーク中)なんて日もあります。
2020年の全レース数は、
- 中央競馬:約3,500R
- 地方競馬:約13,000R ※ばんえい競馬除く
と、地方競馬は中央競馬の約3倍です。
データ数が増えるということは、データ保存の容量や、処理の時間がかかるといった点に注意する必要があります。
頭数
レースごとの頭数は圧倒的に地方の方が少ないです。
また、地方競馬では中央競馬と同様に競馬場ごとに最大頭数が決まっていますが、全体的に少なめです。
中央競馬では、フルゲートが14~18頭なのに対し、
地方競馬では、
上記の表の通り、12・14頭がフルゲート数である競馬場が多いです。
次に、2020年の中央競馬・地方競馬の頭数別レースの分布は下記の通りです。
中央競馬レースの60%程度は15頭以下なのに対し、地方競馬レースの60%程度は10頭以下です。
レースに出走する頭数が少ないということは、その分堅い決着に収まりやすく、配当が安い場合も多いので、
馬券の組み立て方もより注意する必要があります。
ただし、地方競馬でも大井競馬場のようなフルゲート数が多い場所では、荒れ決着も珍しくなく、
1000万超えの三連単配当がときたまでることもあるように、馬券の難易度は高いです。
従って、「地方競馬」とひとくくりにするのではなく、頭数や開催場所別で買い方を調整できるとさらに馬券成績が向上する可能性があります。
配当
まず中央競馬・地方競馬それぞれの代表的な券種の払戻金平均値・中央値ですが(2020年)、
難易度が高い券種(三連複・三連単)ほど、配当に差が見られます。
次に人気別の勝率・連対率・複勝率ですが、
明らかに人気馬(1~5人気)の成績は地方の方が良く、穴馬(6人気以降)の成績は中央の方が良いです。
地方競馬で馬券を購入する際は、より軸馬と相手馬の選び方に気を付けて、基本的には買目を絞らないといけないということが分かると思います。
直前変更
こちらはしっかりとした集計をしたわけではなく根拠もほとんどないですが、中央競馬と異なり、地方競馬では「騎手変更」「出走除外・取消」などレース直前の変更が明らかに多い気がします。
しかも、それが人気馬の場合も少なくないため、第5回でも触れた通り、出走除外などの扱いは十分に注意しないと、運用してみてシミュレーション通りの成績にいかないといった状況に陥る可能性があります。
私も過去に、シミュレーションで特大配当の馬券を当てていて浮かれていたところ、よく分析したら圧倒的な1番人気が除外されていたがそれが考慮できていなかった(1番人気抜きで印をつけていた)、
といった経験があります(^ ^;
地方競馬では騎手に関する特徴量は重要度が比較的高めですし、データの使い方によっては出走除外・取消の精度への影響も大きいのでよく考えておきましょう。
データ収集と特徴量について
どこからデータを収集するか
第4回で、中央競馬のデータ収集について説明しており、
- 既存ソフトやサービスからデータをダウンロードする
- 競馬関連サイトよりスクレイピングにより入手する
と大きく、2通りのデータ収集方法について記述しました。
地方競馬については、私の知る限り、TARGETのような地方の全開催場所について分析しやすい形でのデータ提供をしているソフトやサービスは存在せず、
基本的にはスクレイピング一択になるのではないのかな、と思います。
スクレイピングについては詳細の説明はできませんが、競馬サイトによって掲載されているデータの種類などが異なるので良く見比べて、必要であれば複数サイトからデータ収集しても良いですね。
地方競馬では使用できない特徴量
次に、中央競馬では使用しているが、地方競馬では使用できない(収集できない)データについて説明します。
まず、前提として、中央競馬は日本中央競馬会(JRA)が全ての競馬場の主催をしていますが、地方競馬については競馬場ごとに主催者が異なります。
そのため、競馬場ごとにルールや公開されている情報に違いがあるため、特徴量によってはを特定の競馬場のレース予測にしか使えない場合があります。
例としては、
- 調教情報
- ブリンカー
- レースクラス
など
上記項目は、おそらく地元の新聞や特定のサイトでは情報公開している可能性はありますが、もし収集できたとしても特にレースクラスのように競馬場によって異なる基準で設定されているため、特徴量としてあまり意味をなさない場合もあるため、活用は厳しいと思います。
- ラップタイム
- レース中の各馬の位置取り
など
上記項目は、競馬場によって情報公開されていない/測定していないところがあります。
データとして収集しているのに使わないのはもったいないので、AISSでは使用できる競馬場のみ対応し、データがない競馬場に関してはゼロ値で埋めて対応しています。
ざっと、地方競馬で使用できない(使用するとしても一部の競馬場)特徴量について説明しましたが、仮にモデル構築を地域別にする場合は、地域によって使用する項目を分けてあげると精度向上が期待できるかもしれません。
モデル構築について
データ(モデル)をどう分けるか
中央競馬では、輸送により東西・北海道の競馬場のあらゆる競馬場のレースへ参戦されるのが一般的です。
では地方競馬ではどうでしょう?
下図は、2021年6月時点でダートG1を2勝している、船橋競馬所属のカジノフォンテンの戦績です。
2021年5月5日までに、21戦していますが、レース開催場所は「大井」「船橋」「川崎」の3つしかありません。
このように、地方競馬では地方交流重賞や所属の移籍などを除いて基本的には各競馬場に属する地域内でのレースに参戦される場合がほとんどです。
大まかには下図の地域区分となります。
従って、地方競馬では地域ごとにレースの特徴が出やすい・出走メンバーも似たような戦績になる・出走頭数が異なるといったことが考えられるため、地域別にモデルを分けて構築してみると良いでしょう。
ただし、地域を細かく分けすぎると、それぞれの地域で学習できるデータ数が少なくなる、運用が大変(データの集計や買目シミュレーションなど)なので、最初から細かく分けるのではなくて、まずはざっくりとした区分で分けてみるのがベターです。
実際にAISSでは
- 東日本地域:門別、盛岡、水沢、大井、船橋、川崎、浦和
- 西日本地域:金沢、名古屋、笠松、園田、姫路、高知、佐賀
の2つにデータを分けて、モデル構築・運用をしています。
精度について
最後に地方競馬AIの精度について説明します。
第9回で載せた中央競馬予測モデルの基本的な買目での成績シミュレーションを地方競馬予測モデルで行ったときの結果は下記の通りとなりました。
比較のために、中央でのシミュレーション結果も載せています。
中央と異なり、三連複・三連単の相手は3頭に絞っていますが、全レースベタ買いでおおむね良好な結果が得られています。
ただし、的中率が中央競馬のシミュレーションと比較して高いですが、回収率は中央競馬ほどの数値を出すことができていません。
レース数が全く異なるので単純な数値での比較はできませんが、特に地方競馬では相手数や買い方をよく考えないといくら予測精度が高くても馬券成績がイマイチとなってしまいます。
まとめ
今回は、
- 地方競馬と中央競馬の違い
- 地方競馬AI開発のデータ収集とモデル構築
について説明しました。
地方競馬は中央競馬と比較して情報がやや少ないため、AI開発が大変ですが、中央競馬ほど馬券の攻略がされていない印象なので、他の方が買えないような馬券をAIで購入することができる期待があります。
私が地方競馬開発にあたり、参考にした本・ブログは下記などです。
【参考】地方競馬は面白い!競馬初心者におすすめの地方競馬の魅力とは?
地方競馬は毎日開催されているため、休日だけでなく平日も予測結果を毎日確認でき楽しみも増えますので、余裕ができたら是非チャレンジしてみると良いです!
それでは、全11回に渡り競馬AI開発についてブログを記述してきましたが今回で一度完結となります、見ていただいた方々ありがとうございましたm(_ _)m
正直、自分で書いていて誰向け(競馬AIって何となんとなく知りたい人?実際に競馬AI開発している人?)に書いているか分からなくなる時もありましたが、少しでも得られるものがあったら嬉しいです笑
今後は、もう少し技術的に深堀した内容や、AISSの成績、競馬データ分析などについても記述していければなと思っています!