Description Usage Arguments Value Details Examples
This function calculates MOV Elo ratings using a multiplicative model that combines information for both the win result and MOV result.
1 2 | multiplicative(winners, losers, margin, k.win, scale.margin, scale.win,
alpha, data, default = 1500)
|
winners. |
Character vector or formula specifying the winners of each result |
losers. |
Character vector or formula specifying the losers of each result |
margin. |
Numeric vector vector or formula specifying the margin of victory, given as winner score - loser score |
k.win. |
Numeric value of the learning rate to be applied to the win result |
scale.margin. |
Numeric scaling factor applied in the expectation step for the MOV |
scale.win. |
Numeric scaling factor applied in the expectation step for the win prediction |
alpha. |
Numeric base rate for the logistic multiplication factor. |
data. |
Data frame containing winner, loser, and margin variables if using a data/formula specification. |
default. |
Numeric value of the initial rating to assign to new competitors |
A data frame with Elo ratings before and after each event result.
Datasets should be ordered from first game result to last. Competitors must be uniquely and consistently identified in the winner and loser vectors. Missing values in the MOV variable will be omitted and will throw a warning.
The E-step for the multiplicative model is the same as standard Elo:
\hat{W} = \frac{1}{1+10^({R_j - R_i}{σ_{win}})}
. The U-step for the multiplicative model involves updates based on the observed MOV. In terms of the ith player,
R_{i+1} = R_i + K_{win} (1 + |\hat{MOV}_{ij}/σ_{margin}|)^α (W_{ij} - \hat{W}_{ij})
. Where W_{ij} is a 0-1 indicator for the win result. The unknown parameters are σ_{margin}, σ_{win}, the power α and learning rate K_{win}. Typical values for K_{win} and σ_{win} can be guided by the standard Elo system. For, σ_{margin}, reasonable choices would be the standard deviation (or some multiple) of the MOV variable. The α modifies the rate of the MOV multiplier and choices between positive value between 0.2 and 2, for an SD-scaled MOV would ensure that the magnification for a single update was usually no more than double the margin difference in SD units.
1 2 | # Grand Slam MOV Elo Rating
ratings <- multiplicative(~ winner, ~loser, ~ game_margin, data = atp_games, alpha = 1, k.win = 24, scale.margin = 2, scale.win = 400)
|
Add the following code to your website.
For more information on customizing the embed code, read Embedding Snippets.