multiplicative: Multiplicative MOV Elo Ratings

Description Usage Arguments Value Details Examples

Description

This function calculates MOV Elo ratings using a multiplicative model that combines information for both the win result and MOV result.

Usage

1
2
multiplicative(winners, losers, margin, k.win, scale.margin, scale.win,
  alpha, data, default = 1500)

Arguments

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

Value

A data frame with Elo ratings before and after each event result.

Details

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.

Examples

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)

GIGTennis/elomov documentation built on June 15, 2019, 12:01 a.m.