— TL;DR —

機械学習は強力ですが、データが少ない領域では精度が落ちるという弱点があります。新人選手の初出場、開催初日のレース、マイナー会場のレアな組み合わせ。 BOATCRAFT はこの弱点を補うために、ベイズ推定・階層モデル・ロジスティック回帰といった統計学の手法を組み合わせています。 本記事では、機械学習が苦手な場面の正体、統計学が果たす役割、そしてベイズ推定の直感的な仕組みまで、BOATCRAFT の実装と絡めて解説します。

この記事では「なぜ機械学習だけじゃダメなの?」「ベイズ推定って何?」という方のために、以下の内容をまとめています。

第 1 回「AI予想とは何か」で予告した「機械学習 × 統計学のハイブリッド設計」の、統計学パートを深掘りする記事です。 第 2 回の「4 モデルブレンド」と合わせて読むと、BOATCRAFT の AI 予想の全体像が見えてきます。

— Key Message —
機械学習はデータが多い領域で強く、少ない領域は苦手。だから BOATCRAFT は統計学を組み合わせて、その弱点を補います。
I.

機械学習が苦手な 3 つの領域

機械学習は、過去の大量のデータから学ぶ仕組みです。データが多ければ強い。逆に言うと、データが少ない領域では弱い

BOATCRAFT の実運用で見える、機械学習が苦戦する場面は次の 3 つです。

領域 1: 新人選手の予測

競艇には、毎年 4 月に新人選手 (養成所卒業組) がデビューします。彼らのレースデータはまだほぼゼロ

機械学習は「過去データに似たパターンを探す」のが基本。データがなければ、似たパターンも探せない。新人選手の予測はほぼ運になります。

「あの選手は養成所で優秀だった」という情報があっても、それは過去のレース結果には反映されていない。機械学習は使えるデータしか見ないので、こういう「外部情報」を取り込めません。

領域 2: 開催初日の予測

競艇は 1 節 (1 開催) が 5-7 日続きます。1 日目は 「ぶっつけ本番」

選手・モーター・ボートの組み合わせがその節で初めて走る。過去にこの組み合わせのデータがない

機械学習が予測の根拠とする「直前情報」(モーター 2 連率、節内 ST、調子の波) もまだ蓄積されていない。1 日目の予測精度は、節後半に比べて確実に落ちます。

領域 3: マイナー会場のレアな組み合わせ

たとえば「桐生 × 6 コース × 体重 56 kg 以上の選手」みたいな細かい条件。データを絞り込んでいくと、過去 27 年分でも数十件しか該当しないことがあります。

機械学習は「サンプル数が少ない条件下では過剰反応する」傾向があります。10 件のレースで偶然「全勝」だった選手がいたら、機械学習は「この選手 100% 勝つ」と学習してしまう。実際には次走で普通に負ける。

共通する問題: サンプル不足

3 つの領域に共通するのは 「サンプルが少ない」 こと。

機械学習はデータドリブンなので、サンプル不足には弱い。これは構造的な制約で、どんなに優秀なアルゴリズム (LightGBM だろうが NN だろうが) でも避けられません。

ここで出番なのが 統計学 です。
II.

統計学の 3 大ツール

統計学は 100 年以上の歴史を持つ、データ分析の古典的な学問です。サンプルが少なくても、なんとか答えを出す技術が体系的に発展してきました。

BOATCRAFT で使っている統計学の手法を 3 つ紹介します。

ツール 1: ベイズ推定

事前の知識」と「観測されたデータ」を組み合わせて確率を更新する手法です。

新人選手の予測なら、「同じ養成所出身の若手選手の過去傾向」を事前知識として使い、わずかな初動データで確率を計算する。

これは機械学習にはない発想です。機械学習は「データのみ」を見るが、ベイズは「データ + 事前知識」を組み合わせる。

ツール 2: 階層モデル

選手は属性のグループに属している」という構造を活かす手法です。

ある新人選手のデータが 5 件しかなくても、「同じ年齢・同じ支部・同じ級別」の選手たち の傾向は数百〜数千件のデータがある。階層モデルは、その「上位グループの傾向」から個人の予測を補完します。

ツール 3: ロジスティック回帰

オッズ (賭けの倍率) から 「市場が見ている勝率」を逆算する 古典的な手法です。

機械学習が「過去データからの予想」を出すのに対し、ロジスティック回帰は「今この瞬間の市場の判断」をモデル化します。両者の差分 が予想エッジの源泉になります。

ベイズ・階層モデル・ロジ回帰。
この 3 つが、機械学習の弱点を補う統計学のツールセットです。
III.

ベイズ推定 ─ 直感的に理解する

ベイズ推定は、聞いたことはあるけど中身は難しそう、というイメージが強いかもしれません。ここでは数式は一切使わず、直感的に説明します。

例: 新人選手 A の 1 コース勝率を推定する

ある新人選手 A が、デビューから 1 ヶ月で 1 コース から 5 回出走、1 着 2 回取ったとします。

単純に計算すると、1 コース勝率 = 2 / 5 = 40%

でも、これは正しいでしょうか。

機械学習の答え

機械学習は素直に「40%」と返します。それが過去データだから。

でも 5 件しかないデータで「40% の選手」と決めつけるのは早計です。直感的にも、5 試合のうち 2 勝なら、本当の実力は 30〜50% のどこか の可能性が高い。

ベイズの答え

ベイズ推定は、まず「事前の知識」を考えます。

「同じ年齢・同じ支部・同じ級別」の 新人選手たち の平均 1 コース勝率は、過去データから 35% だったとします。これが「事前確率」。

次に、その新人 A の実データ (5 回中 2 勝) を組み合わせる。

ベイズ推定は、「事前確率 35% × データの強さ」 で更新します。データが少ない (5 件) なら事前確率に近く、データが多ければ実データに近づく。

具体的には、こんな感じ:

サンプル数 単純計算 ベイズ推定 (事前 35%)
5 件 (2 勝) 40% 約 36%
20 件 (8 勝) 40% 約 38%
100 件 (40 勝) 40% 約 39.5%
500 件 (200 勝) 40% 約 39.9%

データが少ない時は事前知識 (35%) に引きずられ、データが増えるほど実データ (40%) に収束する。これが「ベイズ平滑化 (Bayesian smoothing)」 の正体です。

なぜこれが効くのか

5 件で「40%」と決めつけて買うと、実態 36% の選手を高評価しすぎて損する。ベイズなら、データの量に応じた適切な評価ができる。

サンプル不足な選手の評価を慎重にする。
これが新人選手のレースで効くロジックです。
IV.

階層モデル ─ サンプル不足を補う技術

階層モデルは、ベイズ推定をさらに進化させた手法です。

階層構造の例

競艇選手のデータには、以下のような階層があります:

全選手 (約 1,600 人)
├── 級別 A1 (約 320 人)
│   ├── 支部 福岡
│   │   ├── 年齢 30 代
│   │   │   └── 選手 X
│   │   └── 年齢 40 代
│   │       └── 選手 Y
│   └── 支部 大阪
│       └── ...
├── 級別 A2
└── ...

ある選手のデータが少なくても、その選手が属するグループ (級別 × 支部 × 年齢) の傾向は豊富なデータで分かります。

階層モデルの考え方

階層モデルは、選手の予測を以下のように分解します:

選手の真の実力
= 全体の平均
+ 級別による偏り
+ 支部による偏り
+ 年齢による偏り
+ 選手個人の偏り

各層の偏りを別々に推定して、最後に合成する。

選手個人のデータが少ない場合は、上位層 (級別・支部・年齢) の偏りで補う。データが豊富な選手なら、上位層の影響は薄れ、本人の実データが支配的になる。

新人選手への適用

新人選手 A について、階層モデルの推定はこうなります:

情報 寄与度
全選手の平均 1 着率 約 17% (1/6)
選手 A の級別 (B2 デビュー) -3% (B2 は平均より低い)
選手 A の支部 (福岡) +1% (福岡は若手育成が強め)
選手 A の年齢 (24 歳) +2% (新人は伸び盛り)
選手 A 本人の 5 件のデータ +5% (5 件で 1 勝なら平均より良い)
合成 約 22%

これで、データが少ない選手でも合理的な推定が出ます。

機械学習がこういう「データのない領域を補う」のは苦手。統計学のメソッドが補完することで、新人選手の予測精度が大幅に上がります。

個人データの不足を、属するグループの傾向で補う。
階層モデルは「グループの知恵」の活用法です。
V.

BOATCRAFT の実装例

BOATCRAFT では、以下の場面で統計学的手法を使っています。

場面 1: 新人選手の勝率推定

過去 1 期 (半年) で 20 走未満の選手については、ベイズ平滑化で勝率を推定。同期の他の新人選手のデータを事前知識として使う。

場面 2: マイナー会場 × 選手の組み合わせ

「桐生 × 選手 X」の組み合わせ実績が 5 件未満の場合、選手 X の他会場での成績 + 桐生での同類選手 (同級別・同支部) の成績を階層モデルで合成。

場面 3: 開催初日の補正

節 1 日目のレースは、機械学習の予測値に対して「過去の節 1 日目の的中率」(節後半より約 8% 低い) を使って 下方修正。過信を抑える。

場面 4: オッズとの統合

ロジスティック回帰で、直前オッズから「市場予想確率」を逆算。AI 予想との 差分が大きい艇 = 市場が見落としてる可能性のある艇として、穴狙いの候補に。

機械学習と統計学のバランス

BOATCRAFT の中で、機械学習部分 (4 モデルブレンド) と統計学部分 (ベイズ + 階層モデル + ロジ回帰) を比べると、サイズで言えば機械学習側が圧倒的に大きい。 ただ、機械学習が弱い領域での精度は統計学が支えている、というのが内部の実感です。

— Design Philosophy —
得意な領域は機械学習、苦手な領域は統計学。両方を組み合わせることで、どんな場面でも崩れない予測を目指します。
VI.

まとめ

長くなりましたが、ポイントを 5 つにまとめます。

  1. 機械学習はデータが多い領域で強い。少ない領域は苦手 (新人選手・開催初日・レアな組み合わせ)。
  2. 統計学の 3 大ツール (ベイズ推定・階層モデル・ロジスティック回帰) がこの弱点を補う。
  3. ベイズ推定 = 事前知識とデータを組み合わせて、サンプルが少なくても合理的な推定を出す。
  4. 階層モデル = 選手の属するグループの傾向で、個人データの不足を補う。
  5. BOATCRAFT は機械学習 + 統計学のハイブリッド設計。両方使うことで、機械学習だけ・統計学だけよりも全体精度が高い。

次回の記事では、BOATCRAFT の 23 つまみを全公開します。各つまみがどの場面で効くのか、どう組み合わせるとどんな予想が出るのか。設計者目線で全部解説します。

— About the Author —
有田 光志

craft シリーズ制作。競艇予想 AI「BOATCRAFT」を個人開発しています。

機械学習で精度が頭打ちになった時、統計学を勉強し直したことが BOATCRAFT のハイブリッド設計につながりました。 「機械学習だけ」「統計学だけ」ではなく、両方の良いとこ取りをするという発想は、AI 予想アプリでは BOATCRAFT 以外に見ない設計です。

→ 運営者について詳しく

— Related Reading —

— Column #01 —

AI予想とは何か

AI予想は「絶対当たる魔法」ではなく「確率を数字で示す道具」。本質・予想家との違い・限界・正しい使い方を解説した第 1 回。

— Column #02 —

4モデルブレンドの設計思想

なぜ BOATCRAFT は単一の AI を使わず、LightGBM・XGBoost・CatBoost・NN の 4 つをブレンドするのか。機械学習パートを深掘りした第 2 回。

— Column #04 —

23 つまみ全公開

BOATCRAFT の 23 つまみ、その設計思想を 1 つずつ解説。10 の 39 乗通りの予想ロジックを支える仕組み。Coming Soon。

機械学習 × 統計学のハイブリッドを、体感する

新人選手のレース、開催初日、マイナー会場のレアな組み合わせ。機械学習が苦戦する場面で、統計学がどう支えているか。 実際に BOATCRAFT を使うと、その違いを肌で感じていただけるはずです。

Free
¥0
10 つまみ
体験から始める
Standard
¥330 / 月
16 つまみ
予想保存 10 件
Pro
¥980 / 月
23 つまみ
最適化済プリセット
App Store で見る →