2026年7月12日日曜日

第568夜 着順をポイントに換算する

 

▼ポイント化する方法の考察
前走或いは過去走の着順は、わたしは一級品の予想材料だと思っている。
ところが、これが扱いにくい。
着順が良いということは数字が小さくなるのだが、多くのデータは数字が大きいほど有力である。
また、着順が最大18種類なので、前走で同じ着順の馬が複数いることも多く、「同点馬をどうするか」と頭を悩ますことになる。
そこで、着順をポイント化したいと思うことになるのだ。
「着順をポイント化して過去走を加味する」ことで、次の2点が改善する。
(1)
成績が良いほどポイントが高く表示できる。
(2)
過去走も含めて計算することで同点馬を極力減らすことができる。
とても単純だが、これまでこんな簡単なことがわたしにはできなかった。
できなかったというより、正確さを求めたかったのである。

着順をポイント化する方法は数多い。
1の方法は、着順を「逆順」にするやり方である。
最も簡便だろう。
18
頭立てなら、1着を18点、2着を17点とし、18着を1点とする。
たいへん分かりやすいのだが、ふたつの問題点がある。
ひとつは、出走頭数が少ない場合、上位入線馬の点数が低く抑えられてしまうことだ。
12
頭立てなら、112点、211点となる。
18
頭立て7着は12点だから、12頭立て1着馬12点と同点になってしまう。
これは実力を充分に表わしているようには見えない。
この問題を解決するために、1着は何頭立てだろうが18点、2着は17点とする修正も考えられる。
ただ、もうひとつの問題は解決しない。
もうひとつの問題とは、1着と2着の差が1点、17着と18着の差も1点と点差が同じになることである。
下位着順ほど、1着と2着の差ほどの能力差はないのではないか、したがって点差をつけすぎなのではないか、ということだ。
そこで、着順によって点差を変える第2の方法を考えることになる。

2の方法というのは、着順別ポイント表を作成するやり方である。
一例を挙げる。
1
100ポイント
2
40ポイント
3
25ポイント
4
15ポイント
5
10ポイント
6,
8ポイント
7
7ポイント
8
6ポイント
9
着から125ポイント
13
着以降 4ポイント
この例では、上位着順は本賞金に倣ってみた。
1
着と2着の点差は60点もあるのに対し、2着と3着の点差は15点だ。
概ね妥当だと思う人はこれを基本に考えればいいし、「点差が大きすぎないか」と思う人は2着に80ポイントくらいあげるといったやり方をとるのもいい。
ここでは示さないが、このポイント数でもソコソコ上手くいくことは検証した。
ただ、わたしはこのポイントの配分がほんとうに適切なのか、と常日頃思ってきたのだ。
だいたいは合うんだよ、それでもね、という感じなのである。

この第2の方法に近い算式を作ってみた。
ちょっと頭がくらくらする人には申し訳ない、わたしもそうだが。
JRA
の賞金に近い形のべき乗計算は次のようになるかと思う。
 
着順別賞金≒1/着順^1.3
あくまで、割と近いだけであることをお断りしておく。
記号^(ハット)Excelなどで使用できる(掛け算をアスタリスク*で表わすようなもの)
着順を底(てい)にし、1.3という「べき指数」でべき乗した数字の逆数である。
3
2乗なら、3*39、これは多くの人が計算できるが31.3乗というと計算できる人がぐっと減るのではないか。
ありがたいことに、表計算ソフトではこれが簡単にできる。
  =1/n^a
n
は着順、aはべき指数、ここでは1.3である。
この計算結果は、1着が12着が0.413着が0.244着が0.165着は0.12となる。
詳細は記事下の表をご覧願う。
1
ポイントから2ポイントくらい「ずれ」は生じるが、かなり近い数字になっていると思う。

ちなみに、わたしが過去の記事で面倒がって「点数化したいなら、着順の逆数にでもすればいい」と何度か申し上げている。
これは、1/n^aaを「1」と考えればいい(というか、1/nと考えればいい)
賞金よりややマイルドだが、1着が12着が0.503着が0.334着が0.255着は0.20となる。

▼フィットするのは、実は0.2乗?
賞金に近いべき指数は1.3、わたしが簡単だからと言ってきたべき指数は1.0すなわちただの1/nである。
適当なことを言ったと申し上げたが、実のところ、賞金に近いべき指数1.3よりも成績が良いことは分かっていたのでこれを使うようお勧めしていた。
図表568-2で検証結果を示している。
この検証は、デビュー戦から前走までの平均ポイントを算出して、出走馬中最もポイントが高い馬の勝率を調べたものである。
クラスも着差もまったく無考慮である。
連対率、複勝率(3着以内率をいう)では1.3乗より1.0乗すなわち単純な逆数のほうが成績が良かった。
検証はいつものデータベースで2011-2024年中央競馬平地競走である(新馬、障害を除く)
1.3
乗では勝率21.1%1.0乗では21.3%
僅かなようだが、39,000レース以上で0.2%分の差異は大きい。

今回、この検証方法で「もっと成績に直結するべき指数があるのではないか」と考え、さまざまなべき指数で試してみた。
その結果、驚くべきことに、最も勝率の良い「べき指数」は0.2乗であることが分かった。
図表1で照合してもらいたいが、11ポイント、2着は0.87ポイント、3着は0.80ポイント、4着は0.76ポイントだ。
勝率は21.7%である(図表では分からないかもしれないが0.25乗より良績だ)
なお、連対率や複勝率ではさらに小さい0.1乗が最適のようである。
つまり、賞金ほどの差がつくのではなく、むしろ差が小さいということなのである。

この検証条件(過去のすべての出走の平均、クラス等考慮無し)においてということだけ改めて申し上げておく。
これは1着で昇級した場合でも無考慮で(つまり着順通りn1として)予想ができる方法である。
昇級を考慮してポイント化すると、また違った世界が見えてくる可能性は極めて高い。
例えば、下級条件なら1着が昇級後4着相当の実力しかない。
これをうまく反映するには1着のn1から別の数字に置き換えるしかないが、そうすると最適なべき指数も変わるだろうということである。

たいへん分かりにくい説明だったので、図表568-12をご覧の上、わたしの説明不足を補っていただきたい。
わたしは頭から煙が出そうなのでこの辺にしておく。
(SiriusA+B)

(図表568-1)着順ごとのポイントテーブル(着順別賞金≒1/着順^べき指数)
着順/べき指数 1.3乗 1.2乗 1.1乗 1.05乗 1.0乗 0.9乗 0.5乗
1着 1 1 1 1 1 1 1
2着 0.4061 0.4353 0.4665 0.483 0.5 0.5359 0.7071
3着 0.2397 0.2676 0.2987 0.3155 0.3333 0.372 0.5774
4着 0.1649 0.1895 0.2176 0.2333 0.25 0.2872 0.5
5着 0.1234 0.145 0.1703 0.1845 0.2 0.2349 0.4472
6着 0.0974 0.1165 0.1393 0.1524 0.1667 0.1994 0.4082
7着 0.0797 0.0968 0.1176 0.1296 0.1429 0.1735 0.378
8着 0.067 0.0825 0.1015 0.1127 0.125 0.1539 0.3536
9着 0.0575 0.0716 0.0892 0.0996 0.1111 0.1384 0.3333
10着 0.0501 0.0631 0.0794 0.0891 0.1 0.1259 0.3162
11着 0.0443 0.0563 0.0715 0.0806 0.0909 0.1155 0.3015
12着 0.0395 0.0507 0.065 0.0736 0.0833 0.1068 0.2887
13着 0.0356 0.0461 0.0595 0.0677 0.0769 0.0994 0.2774
14着 0.0324 0.0421 0.0549 0.0626 0.0714 0.093 0.2673
15着 0.0296 0.0388 0.0509 0.0582 0.0667 0.0874 0.2582
16着 0.0272 0.0359 0.0474 0.0544 0.0625 0.0825 0.25
17着 0.0251 0.0334 0.0443 0.0511 0.0588 0.0781 0.2425
18着 0.0233 0.0312 0.0416 0.0481 0.0556 0.0742 0.2357
着順/べき指数 0.3乗 0.25乗 0.2乗 0.15乗 0.1乗 0.05乗
1着 1 1 1 1 1 1
2着 0.8123 0.8409 0.8706 0.9013 0.933 0.9659
3着 0.7192 0.7598 0.8027 0.8481 0.896 0.9466
4着 0.6598 0.7071 0.7579 0.8123 0.8706 0.933
5着 0.617 0.6687 0.7248 0.7855 0.8513 0.9227
6着 0.5842 0.6389 0.6988 0.7643 0.836 0.9143
7着 0.5578 0.6148 0.6776 0.7469 0.8232 0.9073
8着 0.5359 0.5946 0.6598 0.732 0.8123 0.9013
9着 0.5173 0.5774 0.6444 0.7192 0.8027 0.896
10着 0.5012 0.5623 0.631 0.7079 0.7943 0.8913
11着 0.4871 0.5491 0.619 0.6979 0.7868 0.887
12着 0.4745 0.5373 0.6084 0.6888 0.78 0.8832
13着 0.4633 0.5266 0.5987 0.6806 0.7738 0.8796
14着 0.4531 0.517 0.5899 0.6731 0.768 0.8764
15着 0.4438 0.5081 0.5818 0.6662 0.7628 0.8734
16着 0.4353 0.5 0.5743 0.6598 0.7579 0.8706
17着 0.4274 0.4925 0.5674 0.6538 0.7533 0.8679
18着 0.4202 0.4855 0.561 0.6482 0.749 0.8654
(図表568-2)各乗数別の集計による本命馬の勝率・連対率・複勝率
1着 2着 3着 勝率 連対率 複勝率
1.3乗 9,097 6,371 4,875 43,111 0.211 0.359 0.472
1.2乗 9,139 6,396 4,898 43,125 0.212 0.360 0.474
1.1乗 9,179 6,420 4,912 43,088 0.213 0.362 0.476
1.05乗 9,183 6,433 4,921 43,095 0.213 0.362 0.477
1.0乗 9,239 6,488 4,954 43,348 0.213 0.363 0.477
0.9乗 9,246 6,476 4,935 43,163 0.214 0.364 0.479
0.5乗 9,358 6,526 4,974 43,210 0.217 0.368 0.483
0.3乗 9,385 6,565 5,028 43,203 0.217 0.369 0.486
0.25乗 9,407 6,553 5,008 43,175 0.218 0.370 0.486
0.2乗 9,418 6,573 5,007 43,214 0.218 0.370 0.486
0.15乗 9,406 6,585 5,015 43,216 0.218 0.370 0.486
0.1乗 9,401 6,578 5,026 43,175 0.218 0.370 0.487
0.05乗 9,390 6,572 5,025 43,184 0.217 0.370 0.486











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)

ブログ アーカイブ