データ工学×馬券術:3つのモデルを合体させて、オッズの歪みをブチ抜く方法
はじめに:競馬投資工学ラボの「脳内」へようこそ
当ブログ「競馬投資工学ラボ 〜PythonとLightGBMによる期待値戦略〜」へようこそ。
普段は「期待値が〜」「データが〜」とインテリぶっていますが、要するに**「いかにして感情を捨て、機械の計算通りに金を増やすか」**を日々追求しているわけです。
今回は、僕が週末のパチスロを安心して楽しむために(笑)、平日にせっせと育てている**競馬予測AIの「脳みそ(学習プロセス)」**を公開しちゃいます。
1. 爆速データ処理:DuckDBはいいぞ。
競馬の予測には、過去の膨大な成績データが不可欠です。でも、単にデータを眺めるだけじゃ勝てません。
- 「相対偏差値」で実力を丸裸に 上がり3Fが34秒でも、超スローペースなら価値は低い。だから、そのレース内での「偏差値」を計算して、本当の実力をあぶり出します。
- 「レースレベル」という隠し味 「前走の勝ち馬が次走でG1を勝った」なら、そのレースは超ハイレベル。これを集計するのは計算量がエグいんですが、SQLエンジンのDuckDBを投入して爆速で処理させています。
SE歴25年のスキルを、まさか「馬の過去の相手関係」を1秒で集計するために使う日が来るとは……技術の無駄遣いこそ最高の贅沢です。
2. 3人の「俺」を召喚:AIアンサンブルの極意
僕のAIは、1つのモデルに頼るほどヤワじゃありません。性格の違う3つのLightGBMを同時に走らせ、最後は「3人による合議制」で本命を決めます。
1人目:正統派「ガチ予測モデル」
すべてのデータを使って、真っ向から1着を当てにいく優等生。ただし、オッズの高い「穴馬」が勝った時の学習重みを大きくして、一発逆転のロマンも忘れない設定です。
2人目:ひねくれ者の「穴馬ハンター」
あえて「人気」に繋がりやすい項目を削除して学習させたモデル。「みんなが盲信しているオッズ」を無視して、裏側に隠れた実力馬を見つけ出す、性格のひねくれたヤツです。
3人目:冷静な「着差測定器」
着順ではなく「1着と何秒離れているか」を予測する回帰モデル。1着か2着かという結果論より、「どれくらいの能力差があるか」という本質を冷静に数値化します。
この3人が「コイツは買いだ!」と一致団結した馬こそが、僕の財布を託せる本命馬になるわけです。
3. 「勝てる場所」だけで戦う:真の勝率マトリクス
AIが「勝率30%」と言っても、それがオッズに見合っていなければ投資価値はゼロ。
そこで、「AIスコア」×「実際のオッズ」のクロス集計を行い、ヒートマップを作って分析しています。「AIが自信満々で、かつオッズが○倍以上の時に、本当に勝っているのか?」を統計的に裏付けるわけです。
このマトリクスのおかげで、**「このオッズ帯ならAIは信頼できるけど、あっちの帯域は罠だ」**という引き際がハッキリわかります。パチスロの天井狙いと同じで、期待値がプラスのゾーンしか打ちません(買いません)。
4. 僅差はスルー。それが大人の投資術
シミュレーションでこだわっているのが、**「僅差レースの除外」**です。
AIの1位と2位のスコア差がほんの少ししかない場合、それは「どっちが勝ってもおかしくない混戦」ということ。そんなギャンブルに貴重な資金を突っ込むのは非効率です。
「1位と2位に圧倒的な差がある」ときだけ、冷徹にボタンを押す。このロジックが、僕がパチスロのレバーを叩いている間の心の平穏を保ってくれています。
おわりに
これが、僕の1週間(とパチスロ資金)を支えるAI予測の裏側です。
Python、LightGBM、Optuna、そしてDuckDB。最新技術を惜しみなく投入して、週末にAIを起動した後は、僕は悠々とマイジャグラーのGOGO!ランプを眺める。これが現代の投資工学の完成形(?)です。
これからも、モデルの微調整という名の「AIとの対話」を楽しみながら、期待値を追い続けていきます。皆さんの馬券ライフに、少しでもデータ工学の光が差し込みますように!
にほんブログ村
投資競馬ランキング







ディスカッション
コメント一覧
まだ、コメントがありません