1年かけてボートレースAIを作った話

きっかけ

私はいわゆるデータサイエンティストと呼ばれるような仕事をしています。
昨今の生成AIブームを見ててもわかるように機械学習の分野では日々新しい情報が公開され新しい手法が提案されています。

一方仕事では、期待値の高いアルゴリズムで運用しやすさを考慮した前処理や特徴量エンジニアリングしか使いません。
これには以下のような理由があります。

  1. うまくいかなかった時のスケジュール影響が大きい。

  2. 運用はサイエンティストが行うのではなく別のチームが動かすことも多く知識レベルに差がある場合が多い。

  3. 微々たる精度改善でビジネス成果が大きく変わるような案件が少ない

私の仕事は研究者じゃなくてビジネスマンなのでここはしょうがないですし妥当ですね。
ただ、ある程度慣れてくると同じようなルーティン作業でちょっと飽きてきて、好き勝手遊ぶことのできる機械学習の課題のためにプライベートで何かやろうと思っていました。

kaggleなどのコンペも考えましたが、「好き勝手遊ぶ」と「勝つための工夫」は少し違うなと思いました。1個人として何か機械学習モデルを作ることを考えると実は課題が結構限られると私は思っています。
当時候補として考えたのは、以下の3つです。

  • FX, 株などの投資

  • ボートレース、競馬をはじめとする公営競技

  • ゲームAI

ゲームAIは規約的にダメだったり、学習データに課題がある。
株やFXは相関あると思われる情報が多すぎる。
ということで公営競技を作ろうと思い立ちました。遊ぶついでに副収入が入ればいいなという理由もありましたね。

ボートレースを選んだ理由

公営競技にも「ボートレース」「競馬」「競輪」「オートレース」の4つがあります。
私は今まで公営競技のようないわゆる「ギャンブル」に手を出したことはなく、それぞれどんな競技でどうな特性があるかを全く知らない状態でした。

正直気持ち的にも遊ぶ環境があれば良かったので当時はすごく雑にボートレースを選びました。
選んだ理由は

  1. 6艇で選ぶので選びやすい。そのためオフラインテストや結果の収束が早そう。

  2. レース数が多いからデータが多そう。

というすごく雑な理由です。
参考までに、他を選ばなかった理由です

  • 競輪:人の気分がすごく影響しそうで、気分の予測はデータでは相性悪そう 

  • オートレース : 場所が少ないからレース数が少なめ。あとレース中の見た目が好みじゃなかった  

  • 競馬 : 有名どころでやってる人も多い点はプラス。ただ中央競馬限定ではレース数が少なめでまたシンプルに馬が多い 

選んだ理由も雑なら選ばなかった理由も雑ですが、正直今思えば競馬の方が良かっただろうなと思ってます。データ数はちょっと心許ないですけどね。

これから

こんなきっかけで私は1年かけてボートレースのAIを作りました。
1年かけて作成し、自動で運用してちょうど半年になりました。半年自動売買を行い2024/6/30現在回収率102%で微妙なプラスです。
まだまだ色々遊びたいことはありますが、一旦一区切りついたので今までの整理も兼ねて記事を書こうと思いこの記事を書いています。

ひとまずは1年半のやったことを個別に記事にしていこうと思っています。

この記事が気に入ったらサポートをしてみませんか?