Product · AI・画像・デバイス

umayomi — JRA 競馬予想 AI アプリ

JRA-VAN のデータを取り込み、出馬表と馬柱を競馬新聞の形のまま表示して、AI の勝率と期待値を一列だけ添える Windows アプリ。複数の学習方式を切り替えて比較でき、学習に使っていない期間で検証してから使うモデルを選ぶ。

  • Python
  • LightGBM
  • CatBoost
  • SQLite
  • C#

ランサーズで販売中

Windows 用のパッケージとして購入できます。別途 JRA-VAN データラボの会員登録(利用料はご購入者様のご負担)が必要です。

販売ページを見る

Background

依頼の背景・課題

競馬の予想を支援するアプリを、まず自分が使うために作り始めました。既存の予想サービスは「◎はこの馬」とだけ示して根拠を見せないものが多く、なぜその評価になったのかを確かめられません。

もう一つの不満は、良い成績だけを切り取って見せることでした。当たった週の結果は載るのに、負けた期間は出てきません。毎週お金を賭ける道具である以上、負けている期間も含めて正直に見えることが先だと考えました。

Solution

作ったもの

JRA-VAN データラボのバイナリデータを取り込んで学習用のデータベースに蓄積し、特徴量を生成して着順を予測する Windows アプリです。出馬表と馬柱(近 5 走・着度数・騎手と厩舎の成績・調教・血統)を競馬新聞と同じ形で表示し、右端の一列にだけ AI の勝率・複勝率・期待値と評価の理由を添えます。

学習方式を 1 つに決め打ちしていません。LightGBM のアンサンブル・二値分類・ランキング(LambdaRank)、CatBoost、Benter 型の条件付きロジット、そしてオッズが示す勝率を出発点に「市場が外している部分」だけを学ぶ方式を、画面から切り替えて比較できます。蓄積しているのは約 93,000 レースです。

学習に使っていない直近の期間で成績を確かめてから、実際に予想へ使うモデルを選びます。開催当日は 5 分ごとに最新オッズと発表された馬体重を取り込み、期待値を計算し直します。

現在はランサーズでパッケージとして販売しています。

Screens

画面

画面は製品版の実際のスクリーンショットです。表示している回収率は過去データによる検証結果であり、将来の結果を保証するものではありません。

umayomi の予想画面。上段に開催全レースの白板、下段に中山11Rの馬柱と各馬の勝率・複勝率・期待値が並んでいる
上段の白板で開催全レースを見渡し、選んだレースの馬柱をそのまま下に読む。左は競馬新聞と同じ近 5 走、右端の一列だけが AI の見立て。
学習モデルの画面。LightGBM アンサンブル・LambdaRank・CatBoost・条件付きロジットなどの学習方式と、モデル一覧、特徴量の重要度が並んでいる
学習方式を切り替えて比較する画面。見分け力と ◎ の複勝率を並べ、どの期間のデータで学習したモデルかも残る。右は予想に効いている特徴量。
成績検証の画面。回収率・収支・的中率・最大連敗・最大の落ち込みと、月別の回収率グラフ、券種別の内訳が表示されている
成績検証。◎ を中心に全レースを機械的に買った場合は回収率 81.2%・収支 −173 万円と、負ける結果もそのまま出す。控除率があるのだから当然こうなる、という前提を隠さない。

Points

工夫した点

  1. 01

    「当たる」より「再現できる」を先に

    評価指標と検証方法(学習期間と検証期間を時系列で分ける)を先に決め、学習のたびに同じ基準で比較できるようにしました。各年の検証も、その年より前のデータだけで学習し直したモデルで行います。手元でたまたま当たったモデルは信用しない、が方針です。

  2. 02

    負けている数字こそ画面に出す

    成績検証の画面には、回収率だけでなく収支・最大連敗・最大の落ち込みを並べます。全レースを機械的に買えば控除率どおり 75〜80% に収束するという当たり前の結果も、隠さずそのまま表示します。道具として信用してもらうには、都合の悪い数字を先に見せるのが早いと考えました。

  3. 03

    判断の根拠を一緒に見せる

    「3 着内に入る確率は何 %」という数字だけでなく、その判断に効いた特徴量(近走成績・スピード指数・上がり 3F など)を並べます。AI の印を信じるかどうかを、使う人が自分で決められる形にしています。

  4. 04

    利用キーを預からない

    JRA-VAN の利用キーは公式の仕組みにそのまま渡し、アプリ内には保存も記録もしません。他人の資格情報を手元に残さない作りにしています。