2026年6月28日日曜日

第567夜 少な過ぎず、多過ぎず、細か過ぎず、粗過ぎず

バイアスとバリアンスのトレードオフ
含水率・クッション値、映像解析による位置取り・走行距離など新たな情報が加わってきた。
映像はテキスト(文字)よりナマに近いから、有力なデータが幾つか発見される可能性は高い。
その分、データは膨大になってきた。

情報の増大と歩調を合わせ、解析能力も上がってきている。
はっきり言えば、情報量が凄まじく、コンピュータ無しには処理できない状況だ。
微細なデータもどんどん入れて、より精緻な予想をしよう。
そう考える人も少なくあるまい。
ところが、統計の世界に生きる人に聞けば必ずしもそうではないと言う。
解析によって走行距離が細かく分かろうと、予測モデルが精緻になるとは限らないそうだ。
「バイアスとバリアンスのトレードオフ」が関係している。

わたしは統計学を知らないので、以下の記述は間違えているかもしれない。
できれば専門家にあたってほしい。
わたしの解釈するところによると、予測モデルはシンプル過ぎても複雑過ぎても駄目だという。
バイアスとは偏りのことで「予測モデルがシンプル過ぎてデータのパターンを捉えきれていないエラー」だ。
情報が少な過ぎる、或いは粗過ぎる。
シングルファクターに対するわたしの疑問は、あながち外れていないと思われる。
反対に、バリアンスは分散で「予測モデルが複雑過ぎてデータの偶々生じた誤差・ノイズまで拾ってしまうエラー」である。
情報が多すぎる、或いは複雑過ぎる。
わたしは、冒頭の「新たな情報」が精緻過ぎて過学習に陥る懸念を持っている。
山ほどの変数や、100分の1秒単位の走破タイムはどうなの? ということである。
バックテストで完璧だと思っても、いざ使い始めると上手くいかない、という場合は過学習になっている可能性が高い。
概念的なので、簡単な具体例を挙げてみる。
既存の情報だが、当日の馬体重を考えよう。
ふたつの図表を用意した。
図表567-1567-2である。
中央競馬では、馬体重は2kg単位である。
2011年から2024年までの期間では最重量馬が640kg、最軽量馬が330kgだった。
概ね440kgから500kg周辺に集中しているが、裾野は広い。
図表567-1ではこの期間に延べ1万頭以上のボリュームゾーンを掲載している。
勝率は馬体重が大きくなるにつれて高まる。
これを示すために最も細かい2kg単位でプロットすると、「微妙に凸凹」する。
454kgで出走した馬より452kgで出走した馬のほうがちょっぴり勝率は高い、といった現象があちこちで発生している。
これが「偶々生じた誤差」なのだろう。
細か過ぎるのだ。
1kg単位が欲しいと言っていた人がいたようだが、2kg単位でさえ充分細かいといえる。
一方、図表567-2では、10kgごとにまとめた。
540kg超と380kg以下はひとまとめである。
これなら凸凹しない。
では、10kg単位が最適かというと、それは分からない。
4kg単位かもしれないし、或いはまったく別の集約方法かもしれない。
素晴らしいソリューション(解決策)をお持ちの人もいると思う。
(図表567-1)抜粋今走馬体重440-500kg勝率
今走馬体重 勝利回数 出走回数 勝率
500 964 11,116 0.087
498 895 10,899 0.082
496 1,014 11,927 0.085
494 976 12,355 0.079
492 1,080 13,219 0.082
490 1,177 14,301 0.082
488 1,112 14,211 0.078
486 1,228 14,986 0.082
484 1,241 15,474 0.080
482 1,274 15,982 0.080
480 1,328 17,196 0.077
478 1,303 16,841 0.077
476 1,312 17,255 0.076
474 1,311 17,143 0.076
472 1,254 17,583 0.071
470 1,334 18,253 0.073
468 1,302 17,499 0.074
466 1,284 17,095 0.075
464 1,157 16,659 0.069
462 1,164 16,677 0.070
460 1,158 17,166 0.067
458 1,084 15,732 0.069
456 1,019 15,742 0.065
454 963 15,071 0.064
452 956 14,354 0.067
450 866 14,158 0.061
448 788 13,168 0.060
446 720 12,463 0.058
444 757 12,341 0.061
442 660 11,202 0.059
440 629 10,832 0.058

(図表567-2)10kg単位にまとめたもの
今走馬体重 勝利回数 出走回数 勝率
540kg超 543 6,617 0.082
540kg以下 846 8,594 0.098
530kg以下 1,449 16,210 0.089
520kg以下 2,412 27,187 0.089
510kg以下 3,654 42,850 0.085
500kg以下 4,929 59,516 0.083
490kg以下 6,032 74,954 0.080
480kg以下 6,508 86,018 0.076
470kg以下 6,241 86,183 0.072
460kg以下 5,180 78,065 0.066
450kg以下 3,791 63,332 0.060
440kg以下 2,448 45,947 0.053
430kg以下 1,452 30,745 0.047
420kg以下 732 17,583 0.042
410kg以下 300 9,040 0.033
400kg以下 91 3,966 0.023
390kg以下 28 1,522 0.018
380kg以下 11 842 0.013

スイートスポット
データサイエンティストたちは、この両者の狭間で最適解(スイートスポット)を探している。
その手法は、交差検証で未学習・過学習を確かめ、正則化、次元削減を試みる。
わたしは難しいことに目が回りそうなので、ひたすらデータ量を増やす。
これもこれで解決策のひとつだ。
そして、新しいものも既存のデータも、徹底的に磨き上げる。
「少な過ぎず、多過ぎず、細か過ぎず、粗過ぎず」を念頭に置く。
(SiriusA+B)

2026年6月21日日曜日

第566夜 前走着順とレースレベルを組み合わせる


連対馬のオッズで表わすレースのレベル
ずっと、レースレベルについて考えが行ったり来たりしている。
クラスや芝・ダートの別、東西第3場、牝馬限定などの区分も検討対象だが、ほかに何かないかといつも探している。
もちろん、速度・スピード指数など走破タイムに基づく分析もある。
前走がどんなレベルだったかは、単位を揃えるように成績を比較しやすくするのだ。
無関係と思うときがある一方で、やはり多少なりとも関係あると思い直すこともある。
わたしの「倉庫」には、残骸というか、捨てるに捨てきれない資料が乱雑に積み上げられている。
その中には、レースのレベルを考察したものが幾つかある。
図表564-1はそのひとつだ。
12着馬の単勝支持率(オッズの逆数)の合計をレース毎に出す。
簡単に例えると1着馬の単勝オッズが1.6(支持率50%)2着馬が7.2(11%)のレースなら合計は61%になる。
これを8段階に区分してレースレベルと仮定する。
この例は、連対馬合計61%なので、70%以下のカテゴリー(レベル7)に位置付けられる。
出走馬を前走のレースレベル別にグループ化した結果が図表の通りである。
前走のレースで連対馬の支持率が高い順に、今走の成績は良い。
ただし、支持率70%(レベル8)の区分で今走勝率は8.6%に過ぎず、10%以下の支持率レース(レベル1)出身馬でも6.6%の勝率と、「関係ありそうだが、それほど差はない」という結果だった。
「うん、失敗作だね」と放置した次第である。
今夜はこれを引っ張り出してきて、着順データとドッキングした。
すると意外な結果を得られた。
(図表566-1)前走レベル別成績(2011-2024年中央競馬平地競走。レベルは12着馬の単勝支持率合計)
前走レベル 連対馬支持率計 勝利回数 出走回数 勝率
8 70%超 988 11,546 0.086
7 70%以下 2,601 33,351 0.078
6 60%以下 4,828 64,401 0.075
5 50%以下 6,486 89,295 0.073
4 40%以下 8,237 114,220 0.072
3 30%以下 9,119 131,094 0.070
2 20%以下 7,110 104,271 0.068
1 10%以下 2,494 37,742 0.066

荒れたレースの着順は
わたしは前走着順を成績と相関の大きいファクターと考えている。
前走2着は、勝率約20%前後あるのだ。
「同点」が多いので着差を組み合わせて差をつけるモデルを記事にしたことがある。
今回、この着差に代えてレースレベルを結びつけた。
図表566-2である。
 (図表566-2)前走着順・前走レースレベル別成績
前走着順 前走レベル 勝利回数 出走回数 勝率
1着 8 230 1,090 0.211
1着 7 509 2,840 0.179
1着 6 740 5,232 0.141
1着 5 874 7,054 0.124
1着 4 943 8,811 0.107
1着 3 895 9,873 0.091
1着 2 517 7,707 0.067
1着 1 134 2,733 0.049
2着 8 335 1,105 0.303
2着 7 802 2,846 0.282
2着 6 1,362 5,259 0.259
2着 5 1,647 7,048 0.234
2着 4 1,877 8,860 0.212
2着 3 1,777 9,915 0.179
2着 2 1,117 7,742 0.144
2着 1 316 2,746 0.115
3着 8 116 1,098 0.106
3着 7 328 2,838 0.116
3着 6 703 5,242 0.134
3着 5 940 7,012 0.134
3着 4 1,296 8,795 0.147
3着 3 1,399 9,859 0.142
3着 2 1,147 7,727 0.148
3着 1 430 2,738 0.157
4着 8 100 1,098 0.091
4着 7 249 2,816 0.088
4着 6 496 5,237 0.095
4着 5 691 6,995 0.099
4着 4 948 8,774 0.108
4着 3 1,135 9,813 0.116
4着 2 920 7,676 0.120
4着 1 322 2,721 0.118
5着 8 52 1,082 0.048
5着 7 187 2,815 0.066
5着 6 352 5,183 0.068
5着 5 541 6,999 0.077
5着 4 674 8,738 0.077
5着 3 771 9,779 0.079
5着 2 645 7,658 0.084
5着 1 253 2,715 0.093
6着 8 55 1,052 0.052
6着 7 148 2,714 0.055
6着 6 282 5,063 0.056
6着 5 400 6,749 0.059
6着 4 509 8,531 0.060
6着 3 636 9,503 0.067
6着 2 584 7,463 0.078
6着 1 210 2,619 0.080
7着 8 23 976 0.024
7着 7 94 2,648 0.035
7着 6 215 4,959 0.043
7着 5 306 6,636 0.046
7着 4 461 8,391 0.055
7着 3 537 9,405 0.057
7着 2 435 7,345 0.059
7着 1 157 2,577 0.061
8着 8 26 908 0.029
8着 7 68 2,538 0.027
8着 6 157 4,777 0.033
8着 5 267 6,501 0.041
8着 4 330 8,129 0.041
8着 3 445 9,180 0.048
8着 2 378 7,250 0.052
8着 1 142 2,572 0.055
9着 8 17 744 0.023
9着 7 56 2,288 0.024
9着 6 148 4,435 0.033
9着 5 211 6,096 0.035
9着 4 284 7,832 0.036
9着 3 353 8,764 0.040
9着 2 317 6,943 0.046
9着 1 134 2,494 0.054
10着以下 8 34 2,393 0.014
10着以下 7 160 9,008 0.018
10着以下 6 373 19,014 0.020
10着以下 5 609 28,205 0.022
10着以下 4 915 37,359 0.024
10着以下 3 1,171 45,003 0.026
10着以下 2 1,050 36,760 0.029
10着以下 1 396 13,827 0.029

各前走着順で勝率に大きな差をつけられた。
前走2着を例に挙げると、レベル8では勝率30.3%、レベル728.2%
これがレベル1になると11.5%まで低下する。
「前走2着馬の勝率は20%前後」という情報が、レースレベルを加えることでここまで細分化できる。

わたしはこれだけでも満足するのだが、さらに興味深いことも分かった。
前走着順別に、勝率を折れ線グラフで描くと一目瞭然だが、前走12着ではレースレベルの高いほど成績が良い。
ところが、前走3着以下ではレースレベルが低いほど良績なのである。
前走3着は、レースレベル8出身で勝率10.6%だが、レースレベルが下がるに従い逆に成績を上げていく。
レースレベル1だと15.7%に達する。
図表566-1では前走レースレベルが下がると成績も低下することを示した。
しかし、前走着順を組み合わせれば、前走12着はレースレベルと成績は連動するのに対し、前走3着以下では荒れたレース出身ほど成績が良くなる。
何故なのか。
波乱のレースで有力馬が敗退して3着以下にいるから?
波乱のレースで力を出しきれなかった馬が多いから?
波乱なのは人間の人気だけで、実力伯仲馬が多いから?
堅いレースは実力通りで、波乱のレースは着順も参考にならないから?
貴方ならどう考えるか。
(SiriusA+B)

ブログ アーカイブ