I am new to rating systems and glicko2
(i am interested in this system for two reasons
- license
- adjust the score fast, relative to ELO)
I downloaded glicko2 original implementation from here https://code.google.com/archive/p/pyglicko2/ and run the original test.
running the update_player with an individual player each time (instead of a list) gives similar but different results.
for a given input
rating_list = [x for x in [1400, 1550, 1700]]
rating_deviation_list = [x for x in [30, 100, 300]]
outcome_list = [1, 0, 0]
1st example running this example:
Ryan.update_player(rating_list, rating_deviation_list, outcome_list)
have the following results:
Old Rating: 1500.0
Old Rating Deviation: 350.0
Old Volatility: 0.06
New Rating: 1441.5327915010964
New Rating Deviation: 193.22832145690708
New Volatility: 0.05999342346059785
now updating a player at a time (game by game, turn by turn) like this
Ryan.update_player([rating_list[0]], [rating_deviation_list[0]], [outcome_list[0]])
Ryan.update_player([rating_list[1]], [rating_deviation_list[1]], [outcome_list[1]])
Ryan.update_player([rating_list[2]], [rating_deviation_list[2]], [outcome_list[2]])
have similar results:
Old Rating: 1500.0
Old Rating Deviation: 350.0
Old Volatility: 0.06
New Rating: 1439.2340710940164
New Rating Deviation: 194.68265045152114
New Volatility: 0.05999880385903316
what is happening here? how this has an effect on the result over time?
thank you
shay