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)

ブログ アーカイブ