ブログに掲載している「本命選手情報」の1着予測値・2連対予測値・3連対予測値について,その値がどのように算出されているか説明してなかったので簡単にまとめておきます。 これらの予測値は機械学習で構築した予測モデルを使用して算出してます(統計分析ソフトにはRを使用)。 日々掲載している本命選手の予測値は私の独断と偏見で出しているわけでないことと,ブログのタイトルにもある機械学習について一度も触れてなかったので記事に起こしました。 Rのコードやモデル・その他実装周りについては晒してもしょうもないので割愛します。
予測対象となる選手の条件
全ての選手が予測対象となるわけではなく,出走メンバーのうち競走得点が最も高く,かつラインの先頭を走る選手に限定してます。必然的に,対象となるレースも限定されます。
予測モデル構築のための学習データ
機械学習による予想モデル構築のための学習データとして,2012年1月1日~2017年12月31日までの6年間(13万レース程度)の競走データの中から 前述した予測対象となる選手がいるレースを抽出して学習データとしています(4.5万レース程度)。
予測モデル構築
学習データをRで扱えるよう適当に加工してモデル作成。 (モデルの作成には入力変数の正則化やハイパーパラメータのサーチなど非常に泥臭い作業がありますが省略)
予測精度の検証
学習データとは別に準備しておいた検証用データで予測精度の検証をしてみました。結果を表とグラフで示します(予測値の±3σを10区間に区切って,その予測区間のデータの実際の1着率・2連対率・3連対率をプロット)。 グラフの見方ですが,X軸は予測モデルの予測値(%),Y軸は実際の発生率(%)となってます。 グラフのX軸・Y軸のレンジは同じにしてあるのでグラフの対角線(左下から右上)に対してデータの傾きが小さければ予測値より実際の発生率は低く,逆に対角線より傾きが大きければ予測値より実際の発生率が高いことになります(以下の説明図を参照)。
ではここから実際の結果を掲載します。掲載の順序は以下の通り。
- S級 本命ライン3車 1着率・2連対率・3連対率
- S級 本命ライン2車 1着率・2連対率・3連対率
- A級(1・2班) 本命ライン3車 1着率・2連対率・3連対率
- A級(1・2班) 本命ライン2車 1着率・2連対率・3連対率
- チャレンジ 本命ライン3車 1着率・2連対率・3連対率
- チャレンジ 本命ライン2車 1着率・2連対率・3連対率
S級ライン3車 1着率
予測値 (%) |
実際の 発生率 (%) |
レース数 (発生数/予測数) |
|
14 | 0 | 0/1 | |
21 | 20 | 15/76 | |
28 | 26 | 186/713 | |
35 | 31 | 515/1662 | |
42 | 37 | 666/1823 | |
49 | 46 | 713/1557 | |
56 | 51 | 545/1069 | |
63 | 60 | 335/561 | |
70 | 65 | 191/296 | |
77 | 73 | 78/107 |
S級ライン3車 2連対率
予測値 (%) |
実際の 発生率 (%) |
レース数 (発生数/予測数) |
|
32 | 26 | 5/19 | |
39 | 41 | 82/202 | |
46 | 44 | 336/756 | |
53 | 49 | 658/1334 | |
60 | 57 | 953/1687 | |
67 | 63 | 1015/1604 | |
74 | 69 | 879/1276 | |
81 | 79 | 585/737 | |
88 | 86 | 217/253 | |
95 | 96 | 25/26 |
S級ライン3車 3連対率
予測値 (%) |
実際の 発生率 (%) |
レース数 (発生数/予測数) |
|
45 | 54 | 28/52 | |
51 | 51 | 130/254 | |
57 | 56 | 374/674 | |
63 | 59 | 724/1235 | |
69 | 66 | 1079/1630 | |
75 | 72 | 1213/1680 | |
82 | 78 | 1061/1362 | |
88 | 86 | 668/781 | |
94 | 91 | 202/221 | |
100 | 0 | 0/0 |
S級ライン2車 1着率
予測値 (%) |
実際の 発生率 (%) |
レース数 (発生数/予測数) |
|
11 | 0 | 0/0 | |
17 | 17 | 2/12 | |
24 | 25 | 64/260 | |
31 | 30 | 210/709 | |
38 | 33 | 260/794 | |
45 | 41 | 240/586 | |
52 | 46 | 183/402 | |
59 | 51 | 107/209 | |
65 | 64 | 70/109 | |
72 | 68 | 36/53 |
S級ライン2車 2連対率
予測値 (%) |
実際の 発生率 (%) |
レース数 (発生数/予測数) |
|
27 | 43 | 3/7 | |
33 | 37 | 22/60 | |
40 | 41 | 108/266 | |
47 | 44 | 268/616 | |
54 | 50 | 342/690 | |
60 | 56 | 375/672 | |
67 | 61 | 269/443 | |
74 | 70 | 178/253 | |
80 | 83 | 91/110 | |
87 | 89 | 32/36 |
S級ライン2車 3連対率
予測値 (%) |
実際の 発生率 (%) |
レース数 (発生数/予測数) |
|
40 | 63 | 5/8 | |
46 | 49 | 50/102 | |
51 | 53 | 127/241 | |
57 | 54 | 302/558 | |
63 | 59 | 401/677 | |
69 | 64 | 444/690 | |
74 | 71 | 349/493 | |
80 | 76 | 197/258 | |
86 | 87 | 90/104 | |
92 | 91 | 20/22 |
A級ライン3車 1着率
予測値 (%) |
実際の 発生率 (%) |
レース数 (発生数/予測数) |
|
13 | 0 | 0/1 | |
20 | 20 | 21/107 | |
28 | 25 | 312/1269 | |
36 | 33 | 1031/3135 | |
44 | 38 | 1468/3824 | |
51 | 46 | 1286/2787 | |
59 | 55 | 999/1822 | |
67 | 64 | 651/1025 | |
74 | 74 | 424/576 | |
82 | 81 | 222/273 |
A級ライン3車 2連対率
予測値 (%) |
実際の 発生率 (%) |
レース数 (発生数/予測数) |
|
34 | 31 | 14/45 | |
41 | 38 | 145/387 | |
48 | 45 | 582/1296 | |
55 | 54 | 1384/2587 | |
62 | 59 | 1940/3314 | |
70 | 65 | 1993/3092 | |
77 | 73 | 1634/2233 | |
84 | 81 | 1035/1283 | |
91 | 91 | 516/569 | |
98 | 98 | 59/60 |
A級ライン3車 3連対率
予測値 (%) |
実際の 発生率 (%) |
レース数 (発生数/予測数) |
|
48 | 48 | 50/104 | |
54 | 51 | 202/397 | |
60 | 57 | 596/1039 | |
65 | 64 | 1300/2033 | |
71 | 68 | 1963/2871 | |
77 | 73 | 2317/3165 | |
83 | 79 | 2094/2655 | |
88 | 86 | 1477/1728 | |
94 | 95 | 725/766 | |
100 | 100 | 91/91 |
A級ライン2車 1着率
予測値 (%) |
実際の 発生率 (%) |
レース数 (発生数/予測数) |
|
12 | 0 | 0/1 | |
18 | 21 | 5/24 | |
24 | 23 | 78/347 | |
30 | 28 | 230/828 | |
37 | 34 | 327/957 | |
43 | 39 | 302/779 | |
49 | 44 | 221/504 | |
55 | 51 | 127/251 | |
62 | 56 | 75/134 | |
68 | 73 | 41/56 |
A級ライン2車 2連対率
予測値 (%) |
実際の 発生率 (%) |
レース数 (発生数/予測数) |
|
25 | 25 | 1/4 | |
32 | 33 | 24/73 | |
39 | 35 | 135/386 | |
46 | 44 | 306/697 | |
52 | 49 | 434/893 | |
59 | 56 | 436/776 | |
66 | 62 | 358/582 | |
73 | 67 | 212/318 | |
80 | 77 | 116/150 | |
87 | 87 | 27/31 |
A級ライン2車 3連対率
予測値 (%) |
実際の 発生率 (%) |
レース数 (発生数/予測数) |
|
37 | 29 | 7/24 | |
44 | 42 | 49/118 | |
51 | 51 | 163/318 | |
57 | 55 | 354/644 | |
64 | 60 | 492/825 | |
70 | 67 | 569/850 | |
77 | 72 | 480/664 | |
83 | 81 | 265/328 | |
90 | 83 | 111/134 | |
97 | 100 | 5/5 |
チャレンジライン3車 1着率
予測値 (%) |
実際の 発生率 (%) |
レース数 (発生数/予測数) |
|
20 | 24 | 4/17 | |
29 | 30 | 75/253 | |
38 | 33 | 249/759 | |
47 | 42 | 549/1296 | |
56 | 51 | 818/1594 | |
65 | 58 | 1019/1761 | |
73 | 69 | 1191/1722 | |
82 | 80 | 1114/1399 | |
91 | 88 | 569/646 | |
100 | 100 | 23/23 |
チャレンジライン3車 2連対率
予測値 (%) |
実際の 発生率 (%) |
レース数 (発生数/予測数) |
|
44 | 43 | 44/102 | |
50 | 53 | 132/248 | |
56 | 54 | 213/398 | |
62 | 57 | 370/650 | |
69 | 68 | 613/904 | |
75 | 70 | 847/1205 | |
81 | 77 | 1173/1521 | |
87 | 85 | 1607/1896 | |
94 | 92 | 1844/2016 | |
100 | 96 | 468/486 |
チャレンジライン3車 3連対率
予測値 (%) |
実際の 発生率 (%) |
レース数 (発生数/予測数) |
|
60 | 68 | 84/123 | |
64 | 63 | 122/195 | |
69 | 66 | 207/316 | |
73 | 68 | 307/451 | |
78 | 77 | 513/665 | |
82 | 80 | 768/956 | |
87 | 85 | 1154/1362 | |
91 | 88 | 1588/1809 | |
96 | 94 | 2252/2399 | |
100 | 98 | 1062/1086 |
チャレンジライン2車 1着率
予測値 (%) |
実際の 発生率 (%) |
レース数 (発生数/予測数) |
|
9 | 0 | 0/1 | |
19 | 12 | 18/148 | |
28 | 27 | 173/650 | |
38 | 32 | 336/1055 | |
47 | 42 | 438/1056 | |
57 | 51 | 490/957 | |
66 | 62 | 472/758 | |
76 | 74 | 363/492 | |
85 | 81 | 149/183 | |
95 | 87 | 13/15 |
チャレンジライン2車 2連対率
予測値 (%) |
実際の 発生率 (%) |
レース数 (発生数/予測数) |
|
25 | 19 | 5/27 | |
33 | 30 | 37/123 | |
42 | 42 | 151/356 | |
50 | 45 | 280/627 | |
58 | 52 | 440/841 | |
67 | 61 | 569/928 | |
75 | 70 | 663/949 | |
83 | 80 | 727/905 | |
92 | 91 | 466/514 | |
100 | 98 | 43/44 |
チャレンジライン2車 3連対率
予測値 (%) |
実際の 発生率 (%) |
レース数 (発生数/予測数) |
|
43 | 49 | 26/53 | |
49 | 50 | 58/115 | |
55 | 57 | 140/247 | |
62 | 56 | 246/439 | |
68 | 66 | 392/593 | |
75 | 68 | 524/767 | |
81 | 77 | 713/925 | |
87 | 85 | 892/1044 | |
94 | 92 | 871/951 | |
100 | 96 | 149/156 |
おわりに
こんな感じで個人的には概ね期待どおりの性能が出ました。予測モデルの傾向としては本命選手のラインの長さが3車と2車では前者の方がモデルの当てはまりが良い感じです。これはライン2車のほうが学習データのサンプル数が少ないことと、競走がパターン化しにくいことが影響しているものと考えています。
あとでこの予測値を使用した車券購入シミュレーションについての記事を書こうと思ってます。
以下のリンクは機械学習の関連記事です。「機械学習による本命選手ライン2名の2連対率・3連対率の予測」www.ai-keirin.com