競馬AI Version1.2を完成させてから、できるだけ余計な変更をせず、結果を蓄積してきました。
途中で何度も「ここを変えた方がいいのではないか」と思いました。
しかし、条件を途中で変更してしまえば、何が良くて何が悪かったのか分からなくなります。
そこで現在は、
Version1.2を固定する。
予想結果をそのまま保存する。
一定数が集まってから検証する。
この方針で進めています。
そして本日、50レースに到達したと思い、一度集計してみました。
正確にはまだ48レースでした。
50レースには少し足りませんが、ここまでの数字だけでも興味深いものが見えてきました。
最近、どうも「A」が気になる
結果を入力していて、以前から一つ気になっていたことがあります。
AI予想では◎○▲△とは別に、
S・A・B
という評価を付けています。
最近の結果を見ていると、
「印に関係なく、A評価の馬が結構馬券に絡んでいるのではないか?」
と感じるようになりました。
しかもS評価より、A評価の方が配当的にも面白いように感じます。
そこで今回、まずS・A・Bを分けて集計してみました。
48レース時点の評価別成績
現時点のデータでは、次のようになりました。
| 評価 | 該当数 | 1着 | 3着以内 | 勝率 | 複勝率 | 平均単勝オッズ |
|---|---|---|---|---|---|---|
| S | 35 | 5 | 11 | 14.3% | 31.4% | 7.65倍 |
| A | 48 | 7 | 15 | 14.6% | 31.3% | 8.14倍 |
| B | 43※ | 2 | 12 | 4.7% | 27.9% | 16.96倍 |
| 断層★ | 17 | 4 | 7 | 23.5% | 41.2% | 19.92倍 |
※B評価には結果未入力が1件あるため、有効43件で計算。
数字を出してみると、私が感じていた印象とは少し違いました。
Aの複勝率は31.3%。
Sは31.4%。
ほとんど同じです。
つまり現段階では、
「Aの方がSより圧倒的に来る」
とは言えません。
ただ、ここには面白いところがあります。
Sは35頭なのに対して、Aは48頭。
Aは出現数が多いにもかかわらず、Sとほぼ同じ複勝率を維持しています。
私が日々結果を入力しながら、
「またAが来た」
と感じていた理由は、ここにあるのかもしれません。
さらにAを◎○▲△に分けてみる
次にA評価だけを取り出して、印別に見ました。
| 印 | 該当数 | 1着 | 3着以内 | 複勝率 |
|---|---|---|---|---|
| ◎A | 21 | 3 | 5 | 23.8% |
| ○A | 14 | 0 | 4 | 28.6% |
| ▲A | 9 | 2 | 4 | 44.4% |
| △A | 4 | 2 | 2 | 50.0% |
ここは面白い結果になりました。
普通なら◎Aが一番良くなってほしいところです。
ところが現時点では、▲Aや△Aからも馬券圏内の馬が出ています。
もちろん▲Aは9頭、△Aはわずか4頭。
これだけで「▲Aと△Aを買えばいい」と考えるのは危険です。
ただ、
A評価については◎だけを見る必要はないのではないか。
これは次の50レースで確認したいポイントになりました。
「Aの5~14.9倍」はどうだったか
私は途中から、A評価の中でも単勝5倍から14.9倍くらいが馬券として面白いのではないか、と考えていました。
ところが実際に集計すると、これも予想とは違いました。
A評価で単勝5.0~14.9倍だった馬は37頭。
そのうち、
1着2頭、3着以内8頭。
複勝率は約21.6%でした。
一方、単勝5倍未満のAは10頭。
こちらは、
1着5頭、3着以内7頭。
複勝率70%でした。
まだ頭数が少ないので結論は出せません。
しかし少なくとも、
「A評価+5~14.9倍なら買い」
と今すぐルール化できる数字ではありませんでした。
これは実際に集計してみなければ分からなかったことです。
自分の印象と数字は、やはり分けて考える必要があります。
そして、もう一つ気になる「★」
今回の集計で、A以上に気になったものがあります。
それが**断層★**です。
私のAIでは、オッズ断層が2.0以上発生した場合、その最大断層の「上の馬」に★を付けています。
オッズを長く見ている人なら、断層という考え方自体は珍しいものではないと思います。
私は1.8ではなく、2.0以上を基準にしています。
この★は毎レース出るものではありません。
今回のデータでも17頭だけでした。
ところが成績を見ると、
17頭中4頭が1着。
7頭が3着以内。
勝率23.5%。
複勝率41.2%。
そして平均単勝オッズは、
19.92倍。
これは少し気になります。
AやSより該当数が少ないので、まだ何とも言えません。
たまたま最初の17頭が良かっただけという可能性も十分あります。
だからこそ、ここで条件を変えないことにしました。
Version1.2はまだ触らない
今回の中間検証を見て、
「Aをもっと上位にしよう」
「★を自動的に買い目へ入れよう」
とは考えていません。
少なくとも今はやりません。
競馬AIを作っていて一番怖いのは、結果を見るたびに条件を変更することだと思っています。
負ければ条件を追加する。
当たればその条件を強くする。
これを繰り返していけば、過去のレースにはよく当たるAIができるでしょう。
しかし、それが次のレースでも通用するとは限りません。
だからVersion1.2は固定します。
あと2レースで正式に50レース。
そして、そのまま次の50レースへ進みます。
次の50レースで確認すること
これから特に見ていきたいのは、
SとAの違い。
A評価はクラスによって成績が違うのか。
Aは印に関係なく狙えるのか。
そして断層★の成績は維持されるのか。
このあたりです。
特に重賞はサンプル数が少ないので、条件戦、OP・L、重賞を分けて見る必要もありそうです。
そして100レースまで到達したら、
最初の50レースと、次の50レースを別々に比較します。
最初の50レースだけ良くても意味はありません。
次の50レースでも同じ傾向が出るのか。
そこが重要だと思っています。
AIに答えを求めるのではなく、データに聞いてみる
競馬AI Version1.2を作った時点では、これで完成したような気持ちもありました。
しかし実際に動かしてみると、完成ではありませんでした。
むしろここからが本当のスタートだったように思います。
予想を出す。
結果を保存する。
気になることがあっても、すぐには変更しない。
そして一定数が集まったところで数字を見る。
今回、「Aがよく来る」という自分の感覚を数字で確認したことで、思っていたことと実際の数字には少し違いがあることも分かりました。
一方で、あまり期待していなかった★から面白い数字も出ています。
これだから検証は面白い。
まだ48レースです。
結論は出しません。
Version1.2のまま、次の50レースまで淡々と記録を続けます。
そして100レースになったとき、この数字がどう変わっているのか。
それを楽しみにしています。
※本記事は個人的に開発している競馬AIの検証記録です。掲載している成績は現時点の少数データによるもので、将来の的中や利益を保証するものではありません。馬券は無理のない範囲で楽しみます。