Dimanche dernier, Rafael Nadal (alors n°4 mondial) a battu David Ferrer (n°5 mondial) 6-3, 6-2, 6-3 lors de la finale du tournoi de Roland-Garros. Du coup, les classements ont été actualisés : Nadal a perdu une place (et devient n°5) et Ferrer est remonté dans le classement (et devient n°4). Non, mais, allô, quoi(1) ? Tu gagnes Roland-Garros et tu perds une place dans le classement ATP ! C'est comme si je te dis : tu gagnes contre Garry Kasparov et tu baisses au classement Elo. Non, mais, Elo, quoi(2)

xkcd_sports

Le classement ATP
Nadal gagne Roland-Garros mais descend dans le classement. Cet étrangeté vient du mode de calcul permettant de calculer le classement ATP (Association of Tennis Professionals) d'un joueur de tennis. Pour chaque tournoi de l'ATP World Tour, un nombre de points est mis en jeu. Ainsi, une victoire à Roland-Garros rapporte 2000 points tandis qu'une défaite en finale rapporte tout de même 1200 points. Subtilité supplémentaire : les points ne sont valable que un an.

Du coup, grâce à sa victoire, Nadal a gagné 2000 points, mais a perdu le bénéfice des 2000 points de sa victoire en 2012. Bilan des courses : +0 points. De l'autre côté, Ferrer gagne 1200 points, et perd ses 720 points obtenu lors de sa défaite en demi-finale l'année dernière. Bilan : + 480 points. Puisque seulement 155 points séparaient les deux espagnols avant le tournoi, le calcul est vite fait.

Le classement ATP échoue donc à sa tâche principale : indiquer qui est le meilleur tennisman. C'est à se demander si Djokovic, numéro 1 au classement ATP, est vraiment le meilleur des tennismen.

Le classement Elo
Pour prédire le résultat d'un match, on peut utiliser la méthode de tout bon commentateur sportif : prendre au hasard les statistiques des dernières rencontres et tenter d'extrapoler.
Sinon, on peut essayer d'établir un classement qui chiffre le niveau de l'ensemble des joueurs, et l'utiliser pour prédire le résultat d'une confrontation future. Un match entre deux joueurs de niveaux proches a une issue incertaine, celle d'un match entre le n°1 et le n°420 mondial l'est beaucoup moins. Tout le problème réside finalement dans le calcul du score des joueurs.

La plupart des fédérations sportives utilisent leur propre système de classement. Le tennis a son classement ATP, le football a son classement FIFA, le curling a son classement WCF. Tous ces classements ont un point commun : leur système de calcul possède beaucoup de points totalement arbitraire. Pourquoi une demi-finale de coupe Davis rapporte moins qu'un 16e de finale à Wimbledon ? Pourquoi un match-nul en coupe du monde de football rapporte moins qu'une victoire en match amical ? Pourquoi une victoire aux JO en curling rapporte deux fois plus qu'une victoire en championnat ?...

Un système de classement sort du lot, le classement Elo, mis au point par le joueur d'échecs/mathématicien Arpad Elo qui ne supportait plus le classement utilisé par la fédération d'échecs américaine. Depuis, il a été adopté par la FIFA pour classer les équipes de foot féminin ou par le coloc de Mark Zuckerberg pour classer les filles de son campus (dans le film The Social Network). 

Aux échecs, le nombre de points attribué par la FIDE (Fédération internationale des échecs) va de 1000 (pour les débutants) jusqu'à 2900. On considère qu'un excellent joueur a un classement de 2000. En 2013, seuls 6 joueurs ont dépassé les 2800 points.

Le principe de base du classement Elo est de donner un nombre de points à la hauteur du challenge : si j'affronte un adversaire objectivement plus fort que moi et que je perds, mon classement ne diminuera pas beaucoup (et le sien montera peu). Par contre, si je gagne, ma victoire sera récompensée à la hauteur de l'exploit, et mon classement augmentera d'un grand nombre de points.

La raison d'être du classement Elo est de fournir un moyen de prédire l'issue d'un match, ou du moins, de donner l'espérance de gain du challenger (0 : défaite ; 0.5 : match nul, 1 : victoire). Si deux joueurs A et B ont respectivement un classement CA et CB, l'espérance de gain du joueur A sera donnée par f(CA-CB), où f est une fonction de répartition (dans le cas des échecs, on prend la loi logistique). Concrètement, si A et B ont un score proche, l'espérance de gain sera proche de 0.5 (un match nul) ; tandis que plus les scores sont éloignés, plus l'espérance de gain confortera le favori.

Fonction_logistiqueLa fonction répartition de la loi logistique (de paramètre 400) utilisée pour le classement Elo de la FIDE.
Pour un écart de -300, l'espérance est de 0.15.

Exemple : Si un joueur amateur A (CA = 1400) affronte un très bon joueur B (CB=1700), la probabilité de gain est de f(1400-1700) = 0.15. Autrement dit, notre joueur A a peu de chances de gagner... Mais si A gagne effectivement contre B, c'est que l'espérance - et donc le classement Elo des joueurs - ne coïncide pas exactement avec la réalité des faits : il faut les actualiser ! Une victoire augmente le classement Elo, le nombre de points en plus dépendant de la différence de niveau entre les joueurs : plus elle est importante, plus le challenger pourra gagner de points.

Pour cela, on utilise la méthode incrémentale. À l'issue du match, le nombre de points du joueur A augmentera de :

K×[SA-f(CA-CB)]
SA est le score de A lors du match (1 pour une victoire, 0.5 pour un march nul, 0 pour une défaite)
K est le coefficient de développement. Plus K est grand, plus le classement évolue vite.

Dans le cas particulier des échecs, le coefficient K vaut 25 (joueurs débutants, moins de 30 matchs), 15 (joueurs confirmés, C≤ 2400) ou 10 (joueurs experts, C> 2400). De plus, pour éviter les matchs trop déséquilibrés, la différence CA-CB est plafonnée à ± 400.

Reprenons l'exemple plus haut : CA = 1400, CB=1700, K=15 et f(1400-1700) = 0.15. Après le match, le classement de A sera :
- Si A gagne : 15×[1 - 0.15] = + 12.75
- Si match nul : 15×[0.5 - 0.15] = + 5.25
- Si A perd : 15×[0 - 0.15] = -2.25
Le classement de B évoluera dans le sens opposé.

Il reste le problème du classement des joueurs non encore classés. La plupart des fédérations résolvent le problème en utilisant la méthode de l'adversaire moyen, qui se base sur le principe suivant : si je fais match nul contre des joueurs de classement 1500, c'est que mon classement est 1500.

Qui est le meilleur joueur de tennis ?
Du coup, on peut s'amuser à appliquer la méthode de classement Elo pour les matchs de tennis. L'avantage par rapport au classement ATP, c'est qu'il permet de classer des joueurs d'époques différentes (bien que le classement Elo ne soit pas à 100% adapté à ce genre de situations).

Cela a été fait par un certain "leapfrog" sur un forum de tennis en 2010 (ça vaut ce que ça vaut...). Pour cela, il a utilisé la même fonction f (fonction logistique de paramètre 400), il a pris K=30 et supposé que chaque nouveau joueur a pour classement 1500. Le classement donne alors :

  1. Roger Federer (2007) 2890.2
  2. John McEnroe (1985) 2835.6
  3. Ivan Lendl (1990) 2814.3
  4. Rafael Nadal (2009) 2799.6
  5. Bjorn Borg (1980) 2771.4
  6. Jimmy Connors (1980) 2665.1
  7. Novak Djokovic (2009) 2619.4
  8. Pete Sampras (1997) 2609.6
  9. Andy Murray (2010) 2584.2
  10. Rod Laver (1975) 2567.8

Les données semblent disponibles sur le site de l'ATP, mais je n'ai pas réussi à mettre la main dessus. Il serait intéressant de voir le classement en 2013, Djokovic a sans doute grimpé dans le classement. 

Le classement Elo a maintenant 50 ans, et commence à être aujourd'hui un peu dépassé par les méthodes bayésiennes plus à la mode, plus efficaces mais plus coûteuses en calcul. Grâce à sa relative simplicité, le classement Elo a cependant encore de beaux jours devant lui.


Sources :
Jeux et sports : le problème des classements, Rémi Coulom, Pour la Science, juillet 2010.


(1) Toute l'équipe du blog Choux romanesco, vache qui rit et intégrales curvilignes - qui ne comprend qu'une unique personne - s'excuse publiquement pour l'utilisation de ce mème.

(2) Toute l'équipe du blog Choux romanesco, vache qui rit et intégrales curvilignes s'excuse publiquement pour ce jeu de mot hasardeux couplé à l'utilisation d'un mème délictueux.