La vraie barre¶
Pendant toute la campagne, la cible s'est écrite en cinq caractères : 0.198. À côté, une exactitude de 68,7 %. Ces deux nombres viennent de la littérature, ils décrivent la performance de bookmakers sur des matchs professionnels, et ils ont servi de ligne d'arrivée à quinze chantiers.
Le problème, c'est qu'une barre n'est pas un nombre. Une barre, c'est un nombre plus une population. Et la population du 0.198 n'est pas la nôtre.
Pourquoi un chiffre de littérature n'est pas une barre¶
Notre holdout contient 1 146 matchs qui mélangent tous les niveaux du CS2 professionnel, du tier 1 au tier 3. Le repère de littérature, lui, est mesuré sur le pool que les bookmakers cotent — c'est-à-dire l'élite — à une autre période, avec une autre composition d'équipes.
Comparer 0.2041 à 0.198 revient donc à comparer deux mesures faites sur deux échantillons disjoints. Ce n'est pas un détail de rigueur : c'est la différence entre « notre modèle est moins bon » et « notre modèle est mesuré ailleurs ».
Intuition — la métaphore de l'examen
Deux élèves obtiennent 13 et 14 sur 20. Le second est-il meilleur ? On ne peut pas le dire tant qu'on ignore s'ils ont passé le même examen. Un Brier est une note ; le pool de matchs est l'examen. Toute la campagne avait comparé des notes sans jamais vérifier les sujets.
Deux issues étaient possibles. Soit obtenir les cotes réelles sur nos matchs —
c'est le chapitre suivant. Soit, à défaut,
reconstruire le pool que les bookmakers cotent et y re-mesurer notre modèle.
C'est ce second chemin qu'a pris le chantier bookpool, et il a livré une
surprise.
Définir avant de mesurer, et l'écrire dans un fichier horodaté¶
Le chantier commence par un geste méthodologique qui vaut, à lui seul, la lecture du rapport : les quatre définitions candidates du « pool comparable » ont été figées et écrites sur disque à 11:51:56 UTC, alors que la première métrique n'est calculée qu'à 11:51:57. Une seconde d'écart, et un journal qui l'atteste.
Pourquoi cette précaution ? Parce que le choix du pool est un degré de liberté gigantesque. Un holdout de 1 146 matchs contient des centaines de sous-ensembles définissables : les LAN, les gros tournois, les équipes connues, les Bo3, les matchs d'un mois donné, toutes leurs intersections. Sur ces centaines de sous-ensembles, il en existe forcément quelques-uns où notre modèle brille.
Si l'on regarde d'abord les résultats et qu'on choisit ensuite la définition, on ne mesure plus la performance du modèle : on mesure sa meilleure poche, et on la présente comme si elle avait été prévue. C'est la même faute que le sur-apprentissage, transposée au choix de la population — et elle est invisible dans le résultat final, puisque le calcul, lui, est correct.
Erreur fréquente — choisir son échantillon après avoir vu les scores
Elle ne demande aucune malhonnêteté consciente. Il suffit de se dire « en fait, la vraie comparaison, c'est sur les LAN » — après avoir constaté qu'on y est bon. Le seul remède connu est procédural : écrire les définitions, les horodater, puis mesurer. Un fichier daté avant la première métrique est une preuve ; une intention n'en est pas une.
Les cinq définitions candidates¶
Chacune repose sur un critère externe au modèle : rien dans ces définitions ne dépend de nos prédictions.
| Définition | Critère | Justification |
|---|---|---|
| D1 — enjeu | dotation de l'événement ≥ 50 000 $ | les bookmakers cotent les circuits financés ; palier rond séparant les ligues professionnelles des cups amateurs |
| D2 — notoriété | les deux équipes classées ≤ 100 au ranking mondial HLTV le jour du match | un marché n'ouvre que si les deux camps sont identifiables par le parieur |
| D3 — LAN | match joué en LAN | événements billettés, diffusés, annoncés des mois à l'avance : couverture quasi totale |
| D4 — enjeu ∧ notoriété | D1 et D2 | intersection : événement financé et affiche lisible. Définition principale |
| D5 — tier 1 strict | les deux équipes ≤ 30 au ranking | la liste publiée par HLTV, donc la définition la plus fidèle du « tier 1 » |
Deux choix méritent d'être explicités, parce qu'ils sont des arbitrages et pas des évidences.
Le seuil du top-100 plutôt que du top-30 a été retenu pour la puissance statistique, pas pour la performance : le top-30 ne laisse que 48 matchs dans le holdout, un effectif où l'intervalle de confiance couvre presque tout. D5 est donc déclarée d'avance comme une sensibilité sous-dimensionnée, jamais comme une conclusion.
Le rang utilisé est un rang daté, observé au plus 45 jours avant le match : c'est la même exigence d'intégrité temporelle que partout ailleurs dans le projet. Elle a un coût — les deux rangs ne sont connus que pour 814 des 1 146 matchs du holdout.
Enfin, une règle qui évite une confusion fréquente : le modèle n'est pas ré-entraîné. On restreint l'évaluation, pas l'entraînement. Le contrôle d'intégrité le vérifie, en reproduisant le leader global à 0.2041 / 67,9 % exact.
Le résultat, et il n'est pas celui qu'on attendait¶
| Pool | n | Exactitude (IC 95 %) | Brier | Glicko sur le même pool | Apport |
|---|---|---|---|---|---|
| D0 global (référence) | 1 146 | 67,9 % [65,3–70,5] | 0.2041 | 59,1 % | +8,8 pts |
| D1 enjeu ≥ 50 k$ | 398 | 70,9 % [66,6–75,1] | 0.1933 | 61,6 % | +9,3 pts |
| D2 notoriété top-100 | 278 | 66,2 % [60,4–71,6] | 0.2202 | 55,0 % | +11,2 pts |
| D3 LAN | 380 | 74,7 % [70,5–79,2] | 0.1722 | 61,8 % | +12,9 pts |
| D4 enjeu ∧ notoriété | 226 | 66,8 % [60,6–73,0] | 0.2178 | 55,3 % | +11,5 pts |
| D5 top-30 strict | 48 | 58,3 % [43,8–72,9] | 0.2380 | 54,2 % | +4,2 pts |
| bookmakers (littérature) | — | 68,7 % | 0.198 | — | — |
Sur la définition principale D4, la barre est manquée : 66,8 % contre 68,7 % (−1,9 point) et 0.2178 contre 0.198 (+0.020). Le bootstrap à 1 000 tirages donne \(P(\text{exactitude} > 68{,}7\,\%) = 0{,}27\) et \(P(\text{Brier} < 0{,}198) = 0{,}05\) : l'écart n'est pas tranché sur l'exactitude, il l'est plutôt sur le Brier, et dans le mauvais sens.
Mais le résultat intéressant est ailleurs, et il inverse une intuition que tout le monde partageait au début du chantier.
Le pool coté est plus dur, pas plus facile¶
L'attente naturelle était : « restreindre aux matchs que les bookmakers cotent va nous avantager, ce sont les matchs les mieux documentés ». C'est faux, et de beaucoup.
La preuve ne vient pas de notre modèle — elle serait circulaire. Elle vient d'une ancre externe : le Glicko officiel de Valve, qui ne sait rien de nos features et sert de thermomètre de difficulté. Son exactitude tombe quand on restreint :
Exactitude du Glicko de Valve, par pool
(l'ancre externe : plus elle baisse, plus le pool est dur)
D0 global (1 146) ############################## 59,1 %
D1 enjeu (398) ################################ 61,6 %
D3 LAN (380) ################################ 61,8 %
D2 notor. (278) ###################### 55,0 %
D4 princ. (226) ####################### 55,3 %
D5 top-30 (48) #################### 54,2 %
Les pools définis par la notoriété (D2, D4, D5) sont nettement plus durs que le pool global. L'explication tient en une phrase : quand les deux équipes sont connues, elles sont aussi de niveau proche, et l'affiche est serrée. La proportion de matchs serrés — probabilité annoncée entre 35 % et 65 % — le confirme : 50,4 % globalement, 49,1 % sur D4… mais 37,9 % en LAN.
Erreur fréquente — comparer deux chiffres produits par deux mesures différentes
L'exactitude du Glicko affichée ici pour le pool global, 59,1 %, n'est pas celle de la baseline du reste du cours, 56,0 %. Les deux ne sont pas produites par la même mesure. Ce qui est utilisé dans ce chapitre, et la seule chose qui le soit, c'est l'écart entre pools calculé avec la même règle : 59,1 % contre 55,3 %. Les niveaux absolus d'une ancre ne se transportent pas d'un rapport à l'autre ; ses variations, si.
Ce détail dit quelque chose de la méthode : l'ancre n'est utile que si elle est la même partout. Peu importe qu'elle soit médiocre — le Glicko de Valve est la pire horloge du projet — pourvu qu'elle ne bouge pas d'un pool à l'autre.
À retenir — la difficulté d'un pool se mesure avec un tiers
Pour savoir si un sous-ensemble est plus dur, on n'utilise pas le modèle qu'on évalue : la conclusion serait circulaire. On utilise une référence indépendante et fixe, et l'on ne lit que ses écarts entre pools. C'est le service le plus utile qu'ait rendu la baseline de toute la campagne.
À difficulté corrigée, notre apport augmente¶
C'est la conclusion à emporter. Notre modèle fait moins bien en valeur absolue sur le pool comparable — mais l'écart au Glicko y est plus grand :
- pool global : 67,9 % contre 59,1 %, soit +8,8 points ;
- pool comparable D4 : 66,8 % contre 55,3 %, soit +11,5 points.
Autrement dit, sur les matchs qui intéressent les bookmakers, le modèle apporte plus, pas moins. La baisse du chiffre absolu mesure la difficulté du pool ; la hausse de l'écart mesure la valeur du modèle. Confondre les deux, c'est lire un thermomètre à l'envers.
Et les pools où la barre est franchie ?¶
D1 (0.1933 / 70,9 %) et D3 (0.1722 / 74,7 %) dépassent les deux repères bookmaker. Il serait tentant de s'arrêter là.
Ce serait une erreur : ce sont des pools déséquilibrés, pas des pools « tier 1 ». Le LAN concentre les phases finales où un favori net affronte un qualifié — 37,9 % de matchs serrés seulement. Prédire y est plus facile pour tout le monde, y compris pour le Glicko, dont l'exactitude y monte à 61,8 %.
Un spécialiste « tier 1 » ne sauve rien¶
Une dernière idée restait à tester : et si l'on entraînait un modèle uniquement sur le pool comparable, plutôt que d'y restreindre l'évaluation ?
La validation interne y croyait, à peine : elle retenait le spécialiste sur D2 (gain 0.0011) et sur D4 (gain 0.0002), deux valeurs sous le plancher de bruit. La passe de holdout l'a infirmé.
| Pool | Généraliste | Spécialiste | Verdict |
|---|---|---|---|
| D4 | 0.2178 | 0.2195 | spécialiste plus mauvais |
| D2 | 0.2202 | 0.2269 | spécialiste plus mauvais |
Un modèle « tier 1 » entraîné sur 1 819 matchs ne bat pas un généraliste entraîné sur 10 287. C'est la même leçon que le cimetière des méthodes mortes : à ce niveau de signal, le volume de données pèse plus lourd que la spécialisation.
La barre en exactitude est elle-même floue¶
Un mot sur l'autre moitié de la cible, les 68,7 % — ou, dans la formulation courante du projet, « atteindre 70 % ».
Le chantier maxacc a mesuré ce que vaut cette cible. À \(n = 1\,146\), le leader
est à 67,89 % avec un intervalle de confiance à 95 % de [65,27 ; 70,59], soit une
demi-largeur de ±2,66 points. Un modèle mesuré à 70,0 % ne serait donc pas
distinguable de 67,9 % : l'écart de 2,1 points est plus petit que le bruit
d'échantillonnage.
Et il n'y a rien à gratter du côté de la décision. Régler le seuil de décision sur la validation donnait \(t^\star = 0{,}530\), un optimum sur lequel les quatre folds s'accordaient ; en holdout, ce seuil coûte −1,83 point d'exactitude, et l'optimum a posteriori du holdout est de l'autre côté de 0,5. Même en trichant — en prenant le seuil optimal du holdout, ce qui est interdit — on plafonne à 68,59 %.
Limite importante — déplacer le seuil ne change ni le Brier ni la log-loss
Le seuil de décision transforme une probabilité en pronostic ; il ne transforme pas la probabilité. Les deux lignes concernées du holdout affichent 0.2041 / 0.5916 à l'identique. Une « victoire en exactitude » obtenue en déplaçant un seuil n'améliore aucune prédiction : elle change seulement la façon de les arrondir.
Ce que ce chapitre a établi, et ce qui manque encore¶
Établi. La barre de 0.198 / 68,7 % n'est pas la nôtre. Sur le pool comparable défini a priori, elle n'est pas franchie — mais ce pool est plus difficile que le pool global, et l'apport de notre modèle par rapport à une ancre externe y est plus grand, pas plus petit.
Manquant. Tout cela reste une comparaison indirecte. Notre pool comparable est une approximation du leur, reconstruite depuis la dotation et le ranking, pas depuis la liste réelle des marchés ouverts par un opérateur. Les trois définitions ne se recouvrent d'ailleurs que partiellement : D1 ∩ D2 ne fait que 226 matchs sur 398 et 278 — aucune ne capture seule « le pool coté ».
Le rapport le dit sans détour : tant qu'on n'a pas leurs cotes sur nos matchs, aucun écart mesuré ici ne prouve une supériorité ni une infériorité.
Il se trouve qu'on les avait.
Partie : Contre le marché · Chapitre suivant : Les cotes étaient là · Glossaire