logistic: Logistic MOV Elo Ratings

Description Usage Arguments Value Details Examples

Description

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

Usage

1
2
logistic(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 logistic model is a generalized of the standard Elo model. For the win outcome:

\hat{W} = \frac{1}{1+α^({R_j - R_i}{σ_{win}})}

. In the standard Elo system, sigma_{win} = 400 and α = 10. The U-step for the logistic model involves updates based on the residual for the win prediction compared to a 0-1 logistic transformation of the MOV. In terms of the ith player,

R_{i+1} = R_i + K_{win} (L(MOV_{ij}/σ_{margin}) - L((R_i - R_j)/σ_{win}))

, where L(x) = 1/(1 + α^-x). The unknown parameters are the scaling factors σ_{margin}, σ_{win}, the base rate α and learning rate K_{win}. Choices for σ_{margin} are on the scale of twice the standard deviation of the MOV, in keeping with the scale of the win exponent. Typical values for K_{win} are 3 times or more of the value of K in the standard Elo system. A reasonable choice for α is an integer between 2 and 10.

Examples

1
2
# Grand Slam MOV Elo Rating
ratings <- logistic(~ winner, ~loser, ~ game_margin, data = atp_games, alpha = 10,  k.win = 60, scale.margin = 4, scale.win = 400)

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