Open jasonfsmitty opened 1 year ago
For basis, here's the ratings while using 0.85 "alpha points" from before, and no bonus points:
$ ./ahf.py update -d "15U AA" --test --alphas 1 --alpha-value 0.85 --bonus 0.0
INFO:root:Updating ratings for 15U AA
Division: 15U AA
Rank KRACH Subdivision Team GP WW-LL-TT OTW OTL SoS | Predict Diff WinPt Match
------------------------------------------------------------------------------------------------------------------------
1 1222 : Championship : Rebels 15U 7 6- 1- 0 0 1 1014 | 6.8 -0.0 6.8 0.0
2 149 : Championship : Philadelphia Blazers 8 6- 2- 0 3 0 55 | 6.9 0.0 6.8 0.0
3 134 : Championship : NJ Bandits 15AA 11 6- 4- 1 0 1 257 | 7.4 0.0 7.3 0.0
4 97 : Championship : North Jersey Kings Yellow 7 5- 2- 0 0 0 47 | 5.9 0.0 5.8 0.0
5 95 : Gold : North Jersey Avalanche 10 6- 3- 1 1 0 63 | 7.4 0.0 7.3 0.0
6 91 : Gold : Rams Hockey 6 3- 3- 0 1 2 1167 | 3.9 0.0 3.9 0.0
7 86 : Gold : Team Philadelphia 8 5- 3- 0 0 0 176 | 5.9 0.0 5.8 0.0
8 55 : Gold : RHC 15U AA 11 4- 4- 3 0 0 73 | 6.4 0.0 6.3 0.0
9 38 : Silver : VFC 15AA Scandone 11 5- 3- 3 0 1 678 | 7.4 0.0 7.3 0.0
10 33 : Silver : Igloo Jaguars 15U AA Elite 9 5- 4- 0 0 0 52 | 5.9 0.0 5.8 0.0
11 23 : Silver : Tri-City Eagles 15U Gold 8 4- 2- 2 0 0 17 | 5.9 0.0 5.8 0.0
12 14 : Silver : North Jersey Skylands Kings 11 3- 7- 1 0 0 148 | 4.4 0.0 4.3 0.0
13 7 : : York Devils 11 2- 9- 0 0 1 147 | 2.9 0.0 2.9 0.0
14 7 : : Lehigh Valley Phantoms Youth U15AA 12 3- 9- 0 0 0 38 | 3.9 0.0 3.9 0.0
15 2 : : Royals 15U AA Gold 10 0-10- 0 0 0 44 | 0.9 0.0 0.8 0.0
Differences between expected and actual wins:
ABS RAW
Total: 0.01 0.00
Avg : 0.00 0.00
Versus turning off all alpha games, and enabling 0.85 bonus points. Note that the default scaling is insufficient. Also note that the SOS for several teams is way out of wack:
$ ./ahf.py update -d "15U AA" --test --alphas 0 --bonus 0.85 --scale auto
INFO:root:Updating ratings for 15U AA
Division: 15U AA
Rank KRACH Subdivision Team GP WW-LL-TT OTW OTL SoS | Predict Diff WinPt Match
------------------------------------------------------------------------------------------------------------------------
1 8821 : Championship : Rebels 15U 7 6- 1- 0 0 1 4434 | 13.9 7.1 6.8 0.0
2 2776 : Championship : North Jersey Kings Yellow 7 5- 2- 0 0 0 862 | 12.0 6.1 5.8 0.0
3 2383 : Championship : Philadelphia Blazers 8 6- 2- 0 3 0 1038 | 14.0 7.1 6.8 0.0
4 1682 : Championship : NJ Bandits 15AA 11 6- 4- 1 0 1 2701 | 15.0 7.7 7.3 0.0
5 1437 : Gold : Team Philadelphia 8 5- 3- 0 0 0 1836 | 11.9 6.1 5.8 0.0
6 1393 : Gold : North Jersey Avalanche 10 6- 3- 1 1 0 1226 | 15.0 7.7 7.3 0.0
7 1371 : Gold : Rams Hockey 6 3- 3- 0 1 2 5275 | 7.9 4.0 3.9 0.0
8 1053 : Gold : VFC 15AA Scandone 11 5- 3- 3 0 1 9906 | 15.0 7.7 7.3 0.0
9 965 : Silver : RHC 15U AA 11 4- 4- 3 0 0 1450 | 13.0 6.6 6.3 0.0
10 774 : Silver : Igloo Jaguars 15U AA Elite 9 5- 4- 0 0 0 1039 | 12.0 6.1 5.8 0.0
11 765 : Silver : Tri-City Eagles 15U Gold 8 4- 2- 2 0 0 518 | 12.0 6.1 5.8 0.0
12 399 : Silver : North Jersey Skylands Kings 11 3- 7- 1 0 0 1886 | 8.9 4.5 4.3 0.0
13 292 : : York Devils 11 2- 9- 0 0 1 326751132 | 5.8 3.0 2.9 0.0
14 230 : : Lehigh Valley Phantoms Youth U15AA 12 3- 9- 0 0 0 303984368 | 7.9 4.0 3.9 0.0
15 53 : : Royals 15U AA Gold 10 0-10- 0 0 0 275783403 | 1.7 0.9 0.8 0.0
Differences between expected and actual wins:
ABS RAW
Total: 84.64 84.64
Avg : 5.64 5.64
Implementing "bonus" points was trivial, but the results are quite clear - this is a failed approach. Note the huge SoS values for the bottom few teams. The large differences between predicted wins vs actual wins, and so on.
Once the official KRACH ratings are released I'll know for sure, but I suspect this patch can be reverted. For now, leaving in place, and leaving this ticket open as a reminder to revisit.
While implementing #11, another possibility came to mind - which is what if the "alpha value" wasn't implemented as an actual game, but simply a raw value added to a teams win points? The difference being that it wouldn't affect number of games played, creating another knob to how the ratings are calculated.
I'm calling this "bonus points" to distinguish from alpha points.