Estimating probability of winning for each player based on ranking data of previous tournaments

by cd98   Last Updated August 24, 2017 23:19 PM

The question could also be: "estimating the true ability of each player", though I think that already implies some assumptions.

In this paper I saw some references to Rankade and TrueSkill used by Microsoft, but I couldn't find any simple implementation for my relatively simple case.

Let's say there are 5 total players and I have data for

$$ t \in \{1, 2, 3 ..., T\} $$

tournaments. Each tournament has only data on the rankings for the people that played. For example:

 | rank | player |
    1      5
    2      3
    3      1

Note that not all players play in all tournaments.

Assumptions I'm willing to make (but let me know if they're reasonable)

  • The skill of the players doesn't evolve
  • The observed skill of player $i$ at tournament $t$ is some sort of true skill plus noise:

$$O_{it} = s_i + \varepsilon_{it} $$

Then the observed rankings are just the result of the rankings of $O_{it}$ for the players observed. I'm happy to make simplifying assumptions about $Cov(\varepsilon_{it}, \varepsilon_{jt})$ and $Cov(\varepsilon_{it}, \varepsilon_{i(t-1)})$. These cross-terms could be assumed to be zero.

I think one possibility is to go bayesian: start with a prior on $s_i$ (assume they have the same mean and variance) and then to update, but I'm not sure how to proceed with this.

My specific objetive

Coming with a code/estimation/simulation procedure that allows me to predict a ranking after observing $T$ tournaments. Getting confidence intervals is nice but not necessary. Getting a closed-form solution would be great, but I doubt I'll get there.

** My (unfortunately still rather vague) question for you**

How would you approach this?

Related Questions

R code not working as it should?

Updated January 28, 2019 10:19 AM

Simulation study, asking for a Bayesian

Updated March 12, 2019 19:19 PM

Potential Meld Point Range in Pinochle

Updated September 05, 2018 18:19 PM