glicko2 {PlayerRatings} | R Documentation |
The Glicko-2 Rating System
Description
Implements the Glicko-2 rating system for estimating the relative skill level of players in two-player games such as chess. It extends the Glicko method by including a volatility parameter for each player, representing the degree of expected fluctuation in the rating. Volatility is therefore a measure of consistency of performance.
Usage
glicko2(x, status = NULL, init = c(2200,300,0.15), gamma = 0,
tau = 1.2, history = FALSE, sort = TRUE, rdmax = 350, ...)
Arguments
x |
A data frame containing four variables: (1) a numeric vector denoting the time period in which the game took place (2) a numeric or character identifier for player one (3) a numeric or character identifier for player two and (4) the result of the game expressed as a number, typically equal to one for a player one win, zero for a player two win and one half for a draw. |
status |
A data frame with the current status of the
system. If not |
init |
The rating vector at which to initialize a new player
not appearing in |
gamma |
A player one advantage parameter; either a single
value or a numeric vector equal to the number of rows in
|
tau |
The tau parameter, which controls the change in the player volatility across time. Smaller values prevent the volatility measures from changing by large amounts. Must be a single number. Mark Glickman suggests a value between 0.3 and 1.2. A non-positive value can be specified, in which case the volatilities are never updated. |
history |
If |
sort |
If |
rdmax |
The maximum value allowed for the rating deviation.
The maximum value allowed for the volatility is |
... |
Not used. |
Details
The Glicko-2 rating system is a method for evaluating the skill
of players. It is more complex than Glicko because it includes a
volatility for each player. It requires a single parameter
optimization for each player within each time period. We use the
R function optimize
in preference to the root-finding
approaches suggested in Glickman (2001) and Glickman (2013).
Default values are roughly optimized for the chess data analyzed
in the file doc/ChessRatings.pdf, using the binomial deviance
criterion. A player one advantage parameter has been added to
the original definition in the reference. A player one advantage
parameter is also used for prediction purposes in
predict.rating
.
Value
A list object of class "rating"
with the following
components
ratings |
A data frame of the results at the end of the
final time period. The variables are self explanatory except
for |
history |
A three dimensional array, or |
gamma |
The player one advantage parameter. |
tau |
The tau parameter. |
type |
The character string |
References
Glickman, M.E. (2001) Dynamic paired comparison models with stochastic variances. Journal of Applied Statistics, 28, 673-689.
Glickman, M.E. (2013) Example of the Glicko-2 system.
See Also
Examples
initstate <- data.frame(Player=1:4, Rating = c(1500,1400,1550,1700),
Deviation = c(200,30,100,300), Volatility = 0.06)
games <- data.frame(Week = 1, Payer1 = 1, Player2 = 2:4, Score = c(1,0,0))
robj <- glicko2(games, status = initstate, tau = 0.5, sort = FALSE)
print(robj, cols = 1:4, digits = 6)
afl <- aflodds[,c(2,3,4,7)]
robj <- glicko2(afl)
robj
robj <- glicko2(afl[afl$Week==1,])
for(i in 2:max(afl$Week)) robj <- glicko2(afl[afl$Week==i,], robj$ratings)
robj