見出し画像

[競馬予想AI] 血統情報を追加してAIの性能を上げる

今までは出走する馬の情報のみでAIモデルを作成してきましたが、今回は満を持して血統情報を追加してAIモデルを作成してみようと思います。


血統情報を追加する理由

競馬はブラッドスポーツと言われるほど血統が重要であることは競馬を嗜む方は当然ご存じだと思います。
今までのAIモデルは血統情報を使わずに作成しておりAIモデルの性能も伸び悩んできたところで、今回は血統情報を追加してみることにしました。

しかし、実際に血統がどれほど馬の力(成績)に影響があるのでしょうか?個人的には競馬自体も初心者で血統情報で予想をしたこともなく、血統で予想しておられる方を見ても「それはnが小さすぎると思うけどそのように判断して大丈夫なの?」などかなり懐疑的です。

ということで、今回は血統情報の威力の検証も兼ねております。


使用する血統情報

今回収集した血統情報は極論、5世代血統の馬名のみです。

馬名のみ収集した理由は主に以下の2つです。

  • ○○系という情報まで収集しようとすると収集コストが高い

  • 馬の成績は所謂リーク情報であり使用できない(そもそも時点での成績情報は存在しない)

ということで、馬を一意に区別できる情報である馬名のみを使用します。この情報のみを使ってあとは自前で血統に関する特徴量を作成していきます。


血統情報に関する特徴量を作成する

血統で競馬予想をするときに重要とされるのは「適性」だと聞きます。今回は試しに父と母父の適性のみを考慮した特徴量を追加してみます。

追加する特徴量は主に以下の2つのみです。

  • 芝・ダート適性

  • 距離適性

2つのみと言いましたが、組合せを考慮すると特徴量自体の数は少なくありません。まずはスモールスタートということで最低限これらの特徴量だけ追加します。そのほかの適性としてコース適性や馬場適性などがありますが、こちらは今後試してみることとします。

特徴量はその時点で判明している情報のみを使うよう注意しながら作成していきます。時点を考慮すると計算量が多くなりがちですので、コードの書き方も重要になってきます。場合によっては使用するライブラリが内部でどのような処理を行っているのか調べながらコーディングしていきます。


血統情報を追加したデータで予想してみる

特に凝った特徴量は追加していませんがAIモデルの精度は上がるのでしょうか?早速、血統情報を追加したデータを使用して学習、予想してみましょう。

血統データ追加前と後の的中率と回収率の比較を示します。

血統情報追加前と後の的中率および回収率の比較

すべての馬券において的中率と回収率ともに上昇しました。
単勝回収率は110%前後でくすぶっていましたが、血統情報を入れるだけでいとも簡単に130%を超してしまいました。馬連も的中率1.1ポイントの上昇で回収率は大きく上がりました。馬単や3連複、3連単は確率が低いので参考程度にという感じでしょうか。

これらの結果から、競馬において血統情報は重要なデータであることを実感しました。今回は2つの適性情報だけを追加しましたが、ほかにどのような血統情報が重要なのか勉強しAIモデルを強化していけたらと思います。

ちなみにですが、このAIモデルは2月5日(土)の予想から既に適用しています。


特徴量の採否について注意点

最後に特徴量の採否について注意するべき点を少しお話ししようと思います。

通常、モデルを作成するにあたって特徴量の重要度が低いものは削除すると思います。LightGBMの場合、feature_importanceがそれにあたります。しかし、このように削除したモデルに新たに特徴量をつぎ足ししていく場合は注意が必要です。新たに追加した特徴量にとって以前削除した特徴量の情報が必要な場合があるからです。

例えば、今までは「このレースは芝かダートか」を示す特徴量の重要度が低かったとします。しかし、「親の芝・ダート適性」に関する特徴量を加えると「このレースは芝かダートか」を示す特徴量の重要度が増します。この時、既に「このレースは芝かダートか」を示す特徴量を削除していた場合、「親の芝・ダート適性」に関する特徴量を追加したところでAIの性能はよくならないかもしれません。考えてみると当然なのですが、特徴量の重要度だけではなく特徴量の意味を考慮して各特徴量の採否を考えます。


今後の予定

今回はとりあえず簡単な血統情報を加えてみました。今後は競馬の血統について勉強しつつ血統情報に関する有効な特徴量を見つけてAIモデルの性能を良くしていこうと思います。

今後ともどうぞよろしくお願い致します。


▼ FANBOX
月額支援していただきますと当月間noteと同様の予想をご覧いただけます。


よろしければサポートをよろしくお願い致します。いただいたサポートは今後の技術向上のために書籍費用等に当てられ、このnoteで還元できればと思います。