2021年10月31日日曜日

第353夜 移動平均


凸凹の修正
実際に集計すると凸凹するデータはよくある。
「これが現実だからそのまま使ってもよい」のかもしれないが、なんとなく違和感があったり居心地が良くない感じがしたりする人もいるだろう。
グラフにすれば滑らかな曲線を描き、きれいな計算式にでもなるようなら安心するのだが、どう修正すればいいか分からない。
そもそも修正して良いのかすら、分からない。
こういうとき、きちんと数学を勉強していればよかったと悔やむのだが、長年競馬予想をしていて素人なりにデータをスムージングするようになった。
正しいかどうかは別として、こういうやり方もあるのだと恥ずかしながら記事にしてみようと思った。
非常に単純な方法である。
前世紀末のことだが(大袈裟な笑)、高等数学を用いる資格者とお仕事でデータの集計をする際の話をしたときに、「前後を足すのですよ」というひと言から自分なりに解釈してやってみたのが今にたどり着いている。
このようなデータの加工技術をするようになって久しいが、若いときにはどう手を付けたら良いのか分からず、長い月日を要した。
わたしと同じような数学的素養のない人であれば、わたしがたどり着くまでに要した長い時間を一気に短縮できると思うので、参考にしてもらえればと思う。

(1)前後のデータをまとめてしまう
カテゴリー470kgには、470kg472kg474kg476kg478kgが含まれる。
仮にこの5段階区分に偏りがないとしたら、すなわち例えば472kgだけ突出して多いとかそういうことがなければ、中央の474kg7.48%と考えていいだろう。
ひとつ上のカテゴリー480kgでも同様の考え方をすると、中央の484kg7.90%となる。
では、これをグラフにしてみてほしい。
馬体重と勝率の関係は比較的「きれいな」相関関係があるので、多くのうちが集中するボリュームゾーンでは馬体重が増えるに従い、逓減しつつも勝率が高くなっていくことが分かる。
「逓減しつつも勝率が高くなっていく」とは、450kg460kgの勝率差より、490kg500kgの勝率差のほうが小さいということである。
ただ、グラフを描けば凸凹が気になる人も多いのではないだろうか。
510kg
より520kgのほうが勝率は低い、しかし、530kgだと520kgはもちろん510kgより勝率が高い。
こうした現象が所々に起きる。
特に、データの両端(超大型馬、超小型馬)は勝率の上下動が激しく、何が何だかという感じだ。
これには理由がある。
サンプル数が少なすぎるのだ。
62
万余件のデータ中、600kg(600kg以上610kg未満)で出走した馬はわずか49頭である。
その割合は0.008%に過ぎない。
12,700
頭出走して計測したら1頭出現するくらいである。
さらに600kgで出走した馬の勝利回数は4で、仮に、5回勝っていたとしたら勝率は一気に10.2%に跳ね上がっていた。
これでは、過去のデータから予測するという趣旨からは信用できない区間であることが分かる。
そこで、わたしは前後のデータをまとめてしまう。
上は560kg以上、下は390kg未満でそれぞれひとくくりにするのである。
560kg
以上をひとつにしてもサンプル数は延べ1,507頭、シェアは0.2%程度だが、勝利回数が1回増減しても大勢に影響がない程度になる(108回勝利で勝率7.17%109回勝っていたとしても7.23%)
ちなみに、出現率0.2%というのは、500頭に1頭ということである。
1
3場開催で1頭いるくらいのものなのだ。
細かく区切る必要がないことはご理解いただけるものと思う。

(2)移動平均
さて、サンプル数の少ない上下をまとめても、グラフの凸凹がすべて解消するわけではない。
ボリュームゾーンでもサンプル数の上下動が勝率に及ぼす影響は認められる。
そこで、移動平均を出してみる。
移動平均と言っても単純な方法で、前後の区分も足してボリュームを増やそうというものだ。
例えば、520kgのデータは17,051件だが、530kgのデータと510kgのデータを加えるのである。
520kg
の場合、前後を足すと出走数53,293、勝利数は4,826で勝率9.06%となり、突出して下がっていた勝率を修正できる。

 

出走数

勝利数

勝率

集計

出走数

勝利数

勝率

530kg

9,141

857

9.38%

520kgから540kg

30,362

2,761

9.09%

520kg

17,051

1,521

8.92%

510kgから530kg

53,293

4,826

9.06%

510kg

27,101

2,448

9.03%

500kgから520kg

86,139

7,574

8.79%

生データも前後2区分加えるくらいが良いようだ
図表1は馬体重を10kg単位に切り捨てたものを使用したが、より精緻に求めたいというニーズはあるだろう。
参考までに図表2を用意した。
上下は省略したので、実戦で使用したいという方はご自身で集計されることをお勧めする。
移動1は前後の1区分を加えたもので、移動2は前後2区分(520kgなら、524522520518516kg)を加えたものである。
こちらもいろいろと試してみたが、移動2くらいの集計をした方が良いようだ。

最後に繰り返すが、わたしは素人なのでこの処理が正しいのかどうかは知らない。
数学に強い人がいれば、数学的により正しいやり方を教えてらった方がよいと思う。
(SiriusA+B)

★図表353-1 10kg未満切り捨てによる集計

馬体重 頭数 1着回数 勝率 頭数 1着回数 勝率 頭数 1着回数 勝率
640 1 0 0.00%
630 8 0 0.00%
620 13 1 7.69%
610 15 2 13.33%
600 49 4 8.16%
590 61 5 8.20%
580 173 8 4.62%
570 330 29 8.79% 上下少量データを整理 移動平均(前後1階級を加える)
560 857 59 6.88% 1,507 108 7.17% 3,358 262 7.80%
550 1,851 154 8.32% 1,851 154 8.32% 7,528 645 8.57%
540 4,170 383 9.18% 4,170 383 9.18% 15,162 1,394 9.19%
530 9,141 857 9.38% 9,141 857 9.38% 30,362 2,761 9.09%
520 17,051 1,521 8.92% 17,051 1,521 8.92% 53,293 4,826 9.06%
510 27,101 2,448 9.03% 27,101 2,448 9.03% 86,139 7,574 8.79%
500 41,987 3,605 8.59% 41,987 3,605 8.59% 126,631 10,737 8.48%
490 57,543 4,684 8.14% 57,543 4,684 8.14% 172,747 14,071 8.15%
480 73,217 5,782 7.90% 73,217 5,782 7.90% 213,219 16,633 7.80%
470 82,459 6,167 7.48% 82,459 6,167 7.48% 237,204 17,589 7.42%
460 81,528 5,640 6.92% 81,528 5,640 6.92% 236,576 16,380 6.92%
450 72,589 4,573 6.30% 72,589 4,573 6.30% 212,431 13,551 6.38%
440 58,314 3,338 5.72% 58,314 3,338 5.72% 171,720 9,980 5.81%
430 40,817 2,069 5.07% 40,817 2,069 5.07% 125,096 6,542 5.23%
420 25,965 1,135 4.37% 25,965 1,135 4.37% 80,921 3,706 4.58%
410 14,139 502 3.55% 14,139 502 3.55% 47,228 1,857 3.93%
400 7,124 220 3.09% 7,124 220 3.09% 24,090 779 3.23%
390 2,827 57 2.02% 2,827 57 2.02% 11,341 292 2.57%
380 995 12 1.21% 1,390 15 1.08% 4,217 72 1.71%
370 270 3 1.11%
360 81 0 0.00%
350 34 0 0.00%
340 7 0 0.00%
330 3 0 0.00%

★図表353-2 実測値による集計


馬体重 頭数 1着回数 勝率実際値 前後1等級移動平均頭数 前後1等級移動平均 1着回数 前後1等級移動平均勝率 前後2等級移動平均頭数 前後2等級移動平均 1着回数 前後2等級移動平均勝率
564 169 14 8.28% 527 36 6.83% 857 59 6.88%
562 222 10 4.50% 635 38 5.98% 1,037 78 7.52%
560 244 14 5.74% 732 52 7.10% 1,252 89 7.11%
558 266 28 10.53% 861 65 7.55% 1,424 103 7.23%
556 351 23 6.55% 958 79 8.25% 1,613 130 8.06%
554 341 28 8.21% 1,103 88 7.98% 1,851 154 8.32%
552 411 37 9.00% 1,234 103 8.35% 2,214 179 8.08%
550 482 38 7.88% 1,522 128 8.41% 2,534 210 8.29%
548 629 53 8.43% 1,782 145 8.14% 2,979 250 8.39%
546 671 54 8.05% 2,086 175 8.39% 3,479 289 8.31%
544 786 68 8.65% 2,368 198 8.36% 4,170 383 9.18%
542 911 76 8.34% 2,870 276 9.62% 4,784 451 9.43%
540 1,173 132 11.25% 3,327 329 9.89% 5,599 544 9.72%
538 1,243 121 9.73% 3,902 400 10.25% 6,670 649 9.73%
536 1,486 147 9.89% 4,586 441 9.62% 7,828 767 9.80%
534 1,857 173 9.32% 5,412 514 9.50% 9,141 857 9.38%
532 2,069 194 9.38% 6,412 589 9.19% 10,579 982 9.28%
530 2,486 222 8.93% 7,236 662 9.15% 12,181 1,117 9.17%
528 2,681 246 9.18% 8,255 750 9.09% 13,633 1,263 9.26%
526 3,088 282 9.13% 9,078 847 9.33% 15,187 1,379 9.08%
524 3,309 319 9.64% 10,020 911 9.09% 17,051 1,521 8.92%
522 3,623 310 8.56% 11,282 993 8.80% 18,813 1,686 8.96%
520 4,350 364 8.37% 12,416 1,085 8.74% 20,741 1,849 8.91%
518 4,443 411 9.25% 13,809 1,220 8.83% 22,719 2,005 8.83%
516 5,016 445 8.87% 14,746 1,331 9.03% 24,828 2,227 8.97%
514 5,287 475 8.98% 16,035 1,452 9.06% 27,101 2,448 9.03%
512 5,732 532 9.28% 17,642 1,592 9.02% 29,620 2,626 8.87%
510 6,623 585 8.83% 19,317 1,706 8.83% 32,342 2,857 8.83%
508 6,962 589 8.46% 21,323 1,850 8.68% 35,345 3,127 8.85%
506 7,738 676 8.74% 22,990 2,010 8.74% 38,442 3,361 8.74%
504 8,290 745 8.99% 24,857 2,187 8.80% 41,987 3,605 8.59%
502 8,829 766 8.68% 27,287 2,340 8.58% 44,910 3,855 8.58%
500 10,168 829 8.15% 28,882 2,434 8.43% 48,149 4,082 8.48%
498 9,885 839 8.49% 31,030 2,571 8.29% 51,211 4,256 8.31%
496 10,977 903 8.23% 32,214 2,661 8.26% 54,435 4,436 8.15%
494 11,352 919 8.10% 34,382 2,768 8.05% 57,543 4,684 8.14%
492 12,053 946 7.85% 36,681 2,942 8.02% 60,906 4,926 8.09%
490 13,276 1,077 8.11% 38,577 3,104 8.05% 64,083 5,138 8.02%
488 13,248 1,081 8.16% 40,678 3,273 8.05% 67,449 5,387 7.99%
486 14,154 1,115 7.88% 42,120 3,364 7.99% 70,191 5,619 8.01%
484 14,718 1,168 7.94% 43,667 3,461 7.93% 73,217 5,782 7.90%
482 14,795 1,178 7.96% 45,815 3,586 7.83% 75,647 5,918 7.82%
480 16,302 1,240 7.61% 46,775 3,635 7.77% 77,926 6,098 7.83%
478 15,678 1,217 7.76% 48,413 3,752 7.75% 79,769 6,173 7.74%
476 16,433 1,295 7.88% 48,672 3,755 7.71% 81,326 6,157 7.57%
474 16,561 1,243 7.51% 49,346 3,700 7.50% 82,459 6,167 7.48%
472 16,352 1,162 7.11% 50,348 3,655 7.26% 83,273 6,164 7.40%
470 17,435 1,250 7.17% 50,279 3,626 7.21% 83,277 6,047 7.26%
468 16,492 1,214 7.36% 50,364 3,642 7.23% 82,973 5,947 7.17%
466 16,437 1,178 7.17% 49,186 3,535 7.19% 82,534 5,807 7.04%
464 16,257 1,143 7.03% 48,607 3,343 6.88% 81,528 5,640 6.92%
462 15,913 1,022 6.42% 48,599 3,248 6.68% 80,238 5,418 6.75%
460 16,429 1,083 6.59% 47,544 3,097 6.51% 78,899 5,224 6.62%
458 15,202 992 6.53% 46,729 3,059 6.55% 77,254 4,955 6.41%
456 15,098 984 6.52% 44,912 2,850 6.35% 75,085 4,795 6.39%
454 14,612 874 5.98% 43,454 2,720 6.26% 72,589 4,573 6.30%
452 13,744 862 6.27% 42,289 2,597 6.14% 70,065 4,334 6.19%
450 13,933 861 6.18% 40,355 2,476 6.14% 67,272 4,045 6.01%
448 12,678 753 5.94% 38,916 2,309 5.93% 64,655 3,887 6.01%
446 12,305 695 5.65% 36,978 2,164 5.85% 61,675 3,615 5.86%
444 11,995 716 5.97% 35,064 2,001 5.71% 58,314 3,338 5.72%
442 10,764 590 5.48% 33,331 1,890 5.67% 54,911 3,081 5.61%
440 10,572 584 5.52% 30,611 1,670 5.46% 51,311 2,832 5.52%
438 9,275 496 5.35% 28,552 1,526 5.34% 47,473 2,530 5.33%
436 8,705 446 5.12% 26,137 1,356 5.19% 44,190 2,313 5.23%
434 8,157 414 5.08% 24,343 1,233 5.07% 40,817 2,069 5.07%
432 7,481 373 4.99% 22,837 1,127 4.93% 37,705 1,872 4.96%
430 7,199 340 4.72% 20,843 1,012 4.86% 34,690 1,676 4.83%
428 6,163 299 4.85% 19,052 889 4.67% 31,759 1,487 4.68%
426 5,690 250 4.39% 17,079 774 4.53% 28,884 1,299 4.50%
424 5,226 225 4.31% 15,522 660 4.25% 25,965 1,135 4.37%
422 4,606 185 4.02% 14,112 586 4.15% 23,430 980 4.18%
420 4,280 176 4.11% 12,514 505 4.04% 20,999 852 4.06%

ブログ アーカイブ