前置き:少ない週と、静かな0
前回(#29)は、検証スクリプトの全角数字バグを見つけ、全期間を再検証した話を書いた。結果は変わらず、累計65件・的中0だった。
その後の週末(10月3日・4日)の結果を報告する。
```
10月3日:推奨馬なし
10月4日(京都・東京):2件推奨 的中0
```
```
ロードフェルム (京都1R・ダ1800m)EV3.80 → 6着(5番人気)
ユイノヘラクレス (東京1R・芝1800m)EV4.79 → 7着(6番人気)
```
2件とも着外。累計は**67件、的中0**になった。
なお今回は、結果CSVの全角数字を半角に直す処理を入れた状態で検証している。数字の取りこぼしはない。
---
今週の事実:2件とも「あと一歩」ではなかった
#27・#28では、5着・7着といった「惜しいハズレ」の濃淡に触れた。今回の2頭は、6着と7着。馬券圏内(3着以内)には絡んでおらず、惜しい負けとは言いにくい。
推奨した2頭はどちらも1R(未勝利戦)で、オッズは30倍・58倍台。モデルは「人気ほど評価されていない馬」を拾う設計なので、このレンジに集まるのは想定通りだ。ただ、当たらない週が続くと、この設計思想そのものが問われているように感じてしまう。
---
数字で確認する:札幌除外後24件
いつも通り、感情ではなく数字で見る。
```
全期間累計:67件 的中0 回収率0%
札幌除外前(8/8〜8/30):43件 的中0
札幌除外後(9/5〜10/4) :24件 的中0
全ハズレ確率(バックテスト的中率9.6%想定)
67件すべて:約0.12%
札幌除外後24件のみ:約8.9%
```
札幌除外後だけで見た「全ハズレ確率」は、前回の約11.0%から8.9%に下がり、**10%を割った。**
まだ「5%以下」という一般的な有意水準には届かない。ただ、「普通に起こる」と言い切れる水準からは、少しずつ離れてきている。
---
判断:条件は変えない。チェックポイントはあと6件
事前に決めたルールは、札幌除外後30件に到達した時点で棚卸しする、というものだった。現在24件。あと6件。
ここで条件を動かせば、これまで繰り返し避けてきた「少ないサンプルで設計を変える」ことになる。今回も、条件は変更しない。
```
✓ EV 3.50〜5.00・既知馬のみ・札幌除外(現行設計を維持)
✓ 30件到達までは記録のみ
✓ 30件到達時に、的中率・回収率・全ハズレ確率を再評価
```
---
30件到達時に、先に決めておくこと
後から基準を動かさないために、30件時点の判断ラインを、今のうちに書いておく。
```
的中が1件以上ある場合:
→ 条件は維持。引き続き記録を積む(的中率・回収率はサンプル不足で評価保留)
30件すべてハズレの場合(確率:約5.2%):
→ 「偶然」の説明が苦しくなる水準。
バックテスト期間と実運用期間の差(開催時期・馬場・出走馬の質)を
要因別に分解して調べる。
ただし、条件変更の前に、まず原因の特定を優先する。
```
30件全ハズレの確率は 0.904^30 ≈ 5.0% 前後。ここで初めて、「偶然の可能性は低い」と言える境界に入る。ただし、これは「モデルが壊れている」ことの証明ではなく、「調べる価値がある」という合図にすぎない。
---
Data Scientistとしての振り返り
今回の教訓は小さい。**「結果が出ない週」こそ、ルールを守る練習の場になる**、ということだ。
推奨馬なしの日、2件だけの日。派手さのない週は、判断を動かしたくなる誘惑も小さい。その分、静かに記録を積むという地味な作業の価値が、よく分かる。
そして、事前に決めた基準を紙に書いておくことの強さも、あらためて感じている。結果を見てから基準を決めると、どうしても自分に甘くなる。
---
## 技術ノート
### 実運用累計成績(2026年10月5日時点)
```
全期間累計:67件 的中0 回収率0%
札幌除外前(8/8〜8/30):43件 的中0
札幌除外後(9/5〜10/4) :24件 的中0(次のチェックポイントまであと6件)
```
### 統計的評価(的中率9.6%想定)
```
67件すべてハズレ :約0.12%
札幌除外後24件すべてハズレ:約8.9%
札幌除外後30件すべてハズレ:約5.0%(チェックポイント到達時の参考値)
```
---
## 次回の予定
札幌除外後30件に到達するまで、条件は変更せず記録を続ける。到達次第、事前に決めた基準に沿って棚卸しを行う。
---
**【競馬AI開発記】次回予定:**
- Day 31:札幌除外後30件到達時の棚卸し(または次週の実運用報告)