Avec l’imminence de l’UTMB 2025, analysons un peu les résultats de l’UTMB 2024 !
Partie 1 : regardons les données
Les données
Notre point de départ est un fichier CSV avec tous les temps de passages de tous les participants pour la course principale de l’UTMB. Après filtrage (par simplicité/uniformité et par respect ;-), nous nous limitons aux finishers), nous avons 1712 participants avec 27 temps de passages (28 si on inclus départ (temps de course = 0h)). Pour chacun des 27 points intermédiaires, nous avons la distance depuis le départ et le total de D+ (dénivelé positif) depuis le départ.
Details sur la structure des données.
Il y a au total 47470 lignes dans le fichier CSV en incluant les non-finishers. Chaque ligne contient:
- les informations sur le point de passage:
- distance cumulée (depuis le départ)
- D+ cumulé
- temps de course
- identifiant de la course et identifiant du coureur
Visualisation brutes du temps de course
Nous pouvons visualiser les données avec une courbe par participant. Pour décharger la visualisation, nous nous concentrerons sur les 300 premiers finishers.
Verticalement, nous aurons le temps de course et horizontalement (les plus rapides seront donc plus bas dans le graphe), le numéro du point de passage, ou alors la distance, ou alors une mesure d’effort (combinaison de distance et D+, aussi appelé parfois kilomètre effort). Selon le choix de l’axe horizontal, les courbes seront plus ou moins régulières.
^^^^^^
Essayez de modifier le “x-axis” pour comparer.
On obtient des courbes plus régulières avec la mesure d’effort, même s’il reste des irrégularités, typiquement dûe aux pauses aux bases vies.
Évolution de la vitesse moyenne
On peut aussi regarder la vitesse moyenne (depuis le début de la course), à plusieurs instants dans la course.
On s’attend à ce que cette vitesse baisse de part la fatigue qui s’accumule, et les départ un peu trop optimistes (Pau si tu lis ça !).
Voici les données, avec ici une vitesse en eff/h
c’est à dire en mesure d’effort par heure.
Définition du kilomètre-effort
Le graph suivant permet de choisir quoi visualiser et de contrôler le coefficient utilisé pour définir la mesure d’effort. Typiquement, les gens utilisent « ». En remplaçant le 110 D+/km par une valeur très grande, on ignore le dénivelé, alors qu’avec une valeur très petite on surestime l’impact du dénivelé.
Essayez de mettre la valeur très faible, par exemple 30 D+/km, on voit alors que cela pénalise beaucoup la régularité (et donc la prédictibilité) des courbes, les montées pénalisent beaucoup plus que réellement et la vitesse est donc très irrégulière.
Partie 2 : prédisons le temps à l’arrivée
On s’intéresse maintenant à savoir à quel point on peut prédire la performance (temps mis pour boucler la course) sachant les n premiers temps de passage. On compare différentes méthodes de prédiction mais toutes donnent des résultats relativement similaires. On travaille ici avec l’ensemble des finishers, pas uniquement les premiers arrivants.
Le premier temps de passage est systématiquement le départ, donc 0h, donc totalement non-informatif. Ainsi, l’erreur au début des graphes est la dispersion des temps d’arrivées. À l’autre extrème avec le n maximal, on a l’information complète et on devrait prédire parfaitement l’heure d’arrivée.
Détails sur le protocol
- on utilise l’ensemble des finishers
- on choisi aléatoirement 80% de ces finishers pour apprendre à prédire
- on rapporte la performance pour les 20% restants
- la mesure rapportée est la « MAE » (mean average error), la somme des valeurs absolue des différences entre valeur prédite et vraie valeur
- l’unité de la MAE sont les erreurs (comme l’écart type) mais est moins sensible à quelques grosses erreurs
- (dit autrement, une MAE raisonnable pourrait cacher quelques grosses erreurs, mais les temps d’arrivés ayant des valeurs assez limitées, cela est peu probable)
Sans aucune information, on peut « prédire » le temps d’arrivée fixe, à 5 heures prêt (). Dès que l’on connaît le temps de passage au premier point, on divise déjà cette erreur de prédiction par 2. L’estimation s’affine au fur et à mesure, de manière assez régulière, il ne semble pas y avoir de moment clé dans la course. Sur une autre course, l’Échappée Belle, l’incertitude semble se lever plus tard (au 3ème point (Jean Collet, 40km, 3300D+) au lieu du premier point), symptôme d’une plus grande variété de « stratégie » de début de course.
Attention, il s’agit ici d’erreur moyenne et cela ne veut pas dire que certaines performances sont très dure à prédire (par exemple des élites qui craqueraient et iraient malgré tout au bout).
Partie 3 : trouvons des paramètres individuels
Nous allons maintenant essayer de modéliser les données, typiquement, nous allons considérer le modèle suivant :
- les points de passages sont, de base, caractérisés par la mesure d’effort totale depuis le début,
- chaque point de passage peut avoir une correction, typiquement, pour une base vie, on a 2 points de passages avec la même distance, mais il y aura néanmoins un temps de passage plus long en sortie de base vie qu’en entrée,
- la correction s’exprime en mesure d’effort (une base vie peut par exemple coûter l’équivalent de 3 kilomètres effort),
- le coefficient D+/km pour le le calcul d’effort n’est peut être pas exactement 110,
- chaque participant a une vitesse (en effort / heure) qui diminue régulièrement du début à la fin de la course.
Détails sur la méthode d’estimation
- on fait une descente de gradient stochastique avec ADAM
- on utilise une régularisation L1 parcimonieuse sur les corrections
On peut regarder les paramètres estimés, tout d’abord the D+/km, qui initialisé à 100D+/km a été optimisé à la valeur 109. L’heuristique 110 est donc vérifiée ici. On peut maintenant s’intéresser aux corrections de chaque point de passage.
La correction est en mesure d’effort. On voit au milieu que l’arrêt à Courmayeur coûte l’équivalent de quelques kilomètres-effort.
On voit aussi que les premiers points de passages bénéficient d’une correction négative. Cela est probablement du au fait que tout le monde part vite, donc ces kilomètres semblent plus faciles statistiquement. C’est une bonne illustration d’un problème fondamental d’estimation : une modélisation imparfaite (perte régulière de vitesse) de l’évolution de la vitesse de chaque participant s’est transformée en une (fausse ?) modification des difficultés des points de passage. La dernière montée (montée à la Flégère) aussi est « plus facile », probablement parce que les participants savent que c’est la dernière, ou alors cela s’explique par d’autres aspects (pas de ravito entre les points de mesure ? erreur sur la distance ? changement de tracé ?).
On peut regarder la distribution des vitesses (début, fin) pour tous les participants, en colorant par « stabilité » (une vitesse constante sur la course correspond à une stabilité de 1, et finir 2 fois moins vite correspond à une stabilité de 0.5).
Quelques précautions :
- il s’agit de vitesse en km-effort / h
- cela inclue aussi la correction des points de passages
- il s’agit des paramètres de la courbe qui explique le mieux les données sur l’ensemble de la course, donc la vitesse réelle au départ et à l’arrivée peuvent être différentes
On peut aussi avoir un autre point de vue (avec les plus rapide à droite et les plus trop-rapides-au-début en haut).
Voilà donc pour une première analyse, on pourrait un jour s’intéresser d’autres aspects :
- prédire les abandons
- voir si l’on arrive à prédire une année aussi bien en apprenant sur l’année d’avant
- étudier les statistiques des paramètres par classe d’age etc