競馬予想AI②

最終更新日

さてさて、第2回です。

誰も興味無いとは思うんだけど、文章にすることで頭の中がスッキリして、ごっちゃになっていたアイディアが整理できることに気が付きました。これって仕事にも言えることっすよね。とにかくメモを取れって本も確かあったはず。最近、新卒で入った会社を辞めてウチに転職してきた23歳牡。研修してくれって上から指示があったから、1時間だけ研究について説明した。その子がトイレに行った隙に開いてあったノートをチラ見したら、”お手洗いに行ってもよろしいでしょうか?”とだけ書かれてた。ワイの1時間を返してくれ。

さて本題。最初に開発したNICOX、NICOX 1.0とでも名付けよう。これはネトケをスクレイピングしてDBを作成し、その情報をLightGBMに食わせて予測器作成。出力は予想走破タイム。前回も書いたけど、初心者なのでいきなりスクレイピングはかなり苦労しました。基本的な流れは、過去のレース結果・払戻ページから走破タイム、各馬の個別ページURL等取得→個別ページから当該出走より前の各項目(馬番、人気、オッズ、コース、距離、上がり3Fなど)取得→特徴量選択・作出→予測器作成(&パラメータ調整)→予想のような感じ。試しに中山だけに絞り、芝ダともに距離別に予測器を作りました(細かなデータ弄りは省略)。かなり簡易的ですがそれなりに予想はできていて、初日から馬連万馬券を取ったりなど、悪くないスタートを切れたと思います(たまに最低人気くらいの馬を推奨してきたりも…結果はもちろんハズレ)。

まあ、結論から言っちゃうと、このシステムには早々に限界を感じてすぐ修正を入れました。1番のネックは僕がアホであるということで、予想走破タイムから予想勝率や3着内率を算出することができなくて、それぞれのベット期待値を導けなかったこと。かなり厳密にリスク管理しなければならないので期待値の計算は必須、これは致命的。例えばワイドなら”馬①3着内率×馬②3着内率×当該オッズ”、的中確率が高くてもオッズが低すぎたら旨みが無いし、配当が高くても的中率が低ければ買えない。下限や上限を決めて買うと無駄に買い目を増やして負けることへのリスクヘッジができる。そんなこんなでNICOX 1.0は、アプデを経て1.1に進化します。それは次回、具体的にはニコにあげるチュールが鶏ささみ味からカツオ味へ変わります。そうそう、開発の息抜き兼モチベ維持は、買いたい車を考えること。718ケイマン、マカン、GLCクーペ、RX300辺りをぐるぐる回っています。そんなもん買えるわけないだろってみんなに笑われる。今はスバルのXV、もうすぐ10万キロ行っちゃうんですが、毎週手洗い洗車入れてピカピカにしてます。みんなの息抜きはなんじゃろか。

moetake

シェアする