Closed dexonsmith closed 9 months ago
One thought: with this in place, I wonder if "step 6" should be skipped. I.e.,
In some sense I think it's basically intended, there's this from the glicko2.pdf:
Note that if a player does not compete during the rating period, then only Step 6 applies
However the context is a little since he's talking about updating everyone's deviation right before a tournament, everyone plays a bunch of games, and then updating it again after all those games, where as we're doing it every game, so maybe it's different.
If we do find that doubling up all the time like this is a problem, I would think that we couldn't skip step 6 though, as that's a function of the outcome of the game. If anything, my gut would point in the direction of doing something in the deviation expansion code or making the periods passed a parameter of the glicko2_update
function itself so we account for it there, but both of those would take a bit of pondering.
Alternatively, and perhaps this would be a better experience anyways, we could only run the expansion code if more than X time has passed, then we side step the whole question of how to correctly handle the constant application of that expansion code.
New option
--aging-period
(a duration measured in days) makes ratings age continuously.--aging-period=0
(the default) turns it off.E.g., setting
--aging-period=7
mimicks a window of one week, where the deviation for each rating is expanded according to the (fractional) number of weeks that have passed since the rating was established.Currently only implemented in analysis/analyze_glicko2_one_game_at_a_time.py. I'll also add it to the ratings-grid script when I get that going again...
One thought: with this in place, I wonder if "step 6" should be skipped. I.e.,
is both (a) evaluated fully on every game and (b) continuously, averaging once per period (via
--aging-period
). Maybe the every-game evaluation should be skipped (andphi_star = player.phi
instead insideglicko2_update
). I'll experiment with that tomorrow/this week.