Correction — ACP du décathlon avec R

Exercice guidé · performances de 41 décathloniens — Antoine Géré

Comment lire cette correction
  • Chaque réponse suit le même fil : ce que R affiche, ce qu'on y lit, puis la conclusion pour l'entraîneur.
  • Les valeurs sont celles de FactoMineR. Selon l'ordinateur, le signe d'un axe peut être inversé (carte en miroir), sans conséquence.
  • Les figures reprennent les sorties de R, avec les mêmes valeurs, pour les rendre plus lisibles.
  1. Préparer la séance.

    c) str(deca) affiche 'data.frame': 41 obs. of 13 variables : dix colonnes num (les épreuves), deux int (Rank, Points) et Competition : Factor w/ 2 levels.

    • En R, un nom de variable doit commencer par une lettre : read.table corrige les noms invalides en ajoutant un X devant 100m, 400m, 110m.hurdle, 1500m.
    • Le tableau compte 41 individus (en noms de lignes) et 13 variables : les colonnes 1 à 10 (épreuves) sont actives, Rank = colonne 11 et Points = 12 (quanti.sup = 11:12), Competition = 13 (quali.sup = 13).
  2. Les valeurs manquantes. colSums(is.na(deca)) renvoie 0 partout et mean(is.na(deca)) vaut 0 : aucune valeur manquante. C'est important car l'ACP calcule des distances à partir de toutes les variables actives : un individu incomplet ne peut pas être placé. Face à des cases vides, PCA les remplace sans prévenir par la moyenne de la colonne, ce qui rapproche artificiellement l'individu du centre.
  3. Décrire les données avant l'ACP.
    1. Unités et sens des performances.
      100mLong.PoidsHaut.400m110mhDisquePercheJav.1500m
      Unitésmmmssmmms
      Moyenne11,007,2614,481,9849,6214,6144,334,7658,32279,0
      Écart-type0,260,320,820,091,150,473,380,284,8311,67
      Minimum10,446,6112,681,8546,8113,9737,924,2050,31262,1
      Maximum11,647,9616,362,1553,2015,6751,655,4070,52317,0
      Les unités diffèrent (secondes, mètres) et les écarts-types vont de 0,09 m (hauteur) à 11,7 s (1500 m). Pour les quatre courses, une petite valeur est une bonne performance ; pour sauts et lancers, c'est l'inverse. À retenir à chaque lecture d'un signe.
    2. Distributions. Les distributions sont à peu près symétriques, avec une légère asymétrie à droite pour le 1500 m, le 400 m et le 110 m haies (quelques athlètes plus lents). Six valeurs isolées : MARTINEAU (100 m, 11,64 s, le plus lent) ; Karpov (400 m, 46,81 s, le plus rapide) et Casarsa (53,20 s, le plus lent) ; Sebrle (javelot, 70,52 m) et Clay (69,71 m) ; Korkizoglou (1500 m, 317 s). Ce ne sont pas des erreurs : performances plausibles pour des décathloniens. On les garde ; il faudra seulement vérifier qu'ils ne dominent pas un axe (contributions, Q9).
    3. Compétition. Décastar : 13 athlètes (31,7 %) ; Jeux olympiques : 28 (68,3 %). Les noms du Décastar sont en majuscules (SEBRLE), ceux des Jeux en minuscules (Sebrle). Neuf athlètes apparaissent deux fois (SEBRLE, CLAY, KARPOV, BERNARD, WARNERS, ZSIVOCZKY, HERNU, BARRAS, NOOL) : les 41 lignes sont 41 performances, pas 41 athlètes différents.
  4. Les corrélations entre épreuves.

    Matrice des corrélations (en %, épreuves rangées par famille ; rouge = positif, bleu = négatif) :

    100m110mh400mLongHautPoidsDiscusJavelinePerche1500m
    X100m5852-60-25-36-22-16-8-6
    X110m.hurdle55-50-28-25-33104
    X400m-60-19-14-120-841
    Long.jump3018191220-3
    High.jump493717-16-4
    Shot.put6238612
    Discus16-1526
    Javeline-3-18
    Pole.vault25
    X1500m
    1. Trois familles. Courses de vitesse : 100 m, 110 m haies, 400 m corrélés positivement entre eux (\(r\) de 0,52 à 0,58). Saut en longueur : corrélé négativement aux trois courses (\(r \approx -0{,}60\)) — en fait une liaison positive entre vitesse et longueur (voir b). Lancers : poids et disque fortement liés (\(r=0{,}62\)), poids lié à la hauteur (0,49). Liaisons logiques (vitesse ; force/explosivité).
    2. Le signe piège. Un bon sprinteur a un temps petit au 100 m et saute loin : quand le temps diminue, la longueur augmente → corrélation négative. \(r=-0{,}60\) signifie donc que les plus rapides sautent le plus loin.
    3. Épreuves isolées. La perche (\(|r|\le 0{,}25\)), le javelot (\(\le 0{,}37\)) et le 1500 m (\(\le 0{,}41\)) sont peu liés aux autres : ils seront mal représentés sur les premiers axes, leur information apparaîtra sur des axes suivants.
  5. Centrer et réduire les données.
    1. R affiche pour les trois premiers athlètes :
      X100mLong.jumpShot.put
      SEBRLE0,161,010,43
      CLAY−0,910,44−0,26
      KARPOV0,080,130,36
      À la main pour SEBRLE au 100 m : \(z = \dfrac{11{,}04 - 10{,}998}{0{,}263} \approx \mathbf{0{,}16}\). Une valeur positive pour une épreuve chronométrée = temps plus long, donc performance moins bonne. CLAY (−0,91) a été nettement plus rapide que la moyenne.
    2. Pourquoi une ACP normée ? Sans réduction, l'inertie totale serait \(173{,}5\) et chaque épreuve y pèserait selon sa variance :
      100mLong.PoidsHaut.400m110mhDisquePercheJav.1500m
      Variance0,070,100,680,011,330,2211,410,0823,30136,27
      Part (%)0,00,10,40,00,80,16,60,013,478,6
      Le 1500 m ferait à lui seul 78,6 % de l'inertie, simplement parce qu'il se mesure en secondes sur une course longue. L'ACP normée donne à chaque épreuve une variance de 1, donc le même poids (10 %) : seul choix sensé quand les unités diffèrent.
  6. Lancer l'ACP.
    1. Rôle des arguments. scale.unit = TRUE : ACP normée (variables actives centrées et réduites). quanti.sup = 11:12 : Rank, Points quantitatives supplémentaires (projetées, pas actives). quali.sup = 13 : Competition qualitative supplémentaire (barycentres sur la carte). graph = FALSE : pas de graphique automatique. names(res) : eig, var, ind, svd, quanti.sup, quali.sup, call.
    2. Points et Rank en supplémentaires ? Points est calculé à partir des dix performances : en actif, il compterait deux fois les mêmes épreuves et le raisonnement serait circulaire (« qu'est-ce qui fait gagner ? »). Rank est un rang ordinal, calculé dans chaque compétition : il ne mesure pas une performance comparable d'une compétition à l'autre.
    3. Et data.CR ? Pas un problème : avec scale.unit = TRUE, PCA centre et réduit elle-même les variables actives. Lui donner data.CR donnerait les mêmes axes mais ferait perdre Rank, Points et Competition. Mieux vaut le tableau complet.
  7. Combien d'axes ?
    Axe12345678910
    \(\lambda_s\)3,271,741,401,060,680,600,450,400,210,18
    % inertie32,717,414,110,66,96,04,54,02,21,8
    % cumulé32,750,164,174,781,687,692,196,098,2100
    32,72117,37214,05310,5746,8555,9964,5173,9782,1591,8210 Kaiser : λ = 1 %
    Éboulis des valeurs propres (bleu : \(\lambda_s \ge 1\)).
    1. \(\sum_s \lambda_s = \mathbf{10}\) : inertie totale d'une ACP normée = nombre de variables actives.
    2. Le plan \((1,2)\) restitue \(32{,}7+17{,}4 = \mathbf{50{,}1\,\%}\) : la carte ne montre que la moitié de l'information. Modeste mais attendu — les corrélations sont moyennes (au plus 0,62) et trois épreuves sont presque indépendantes (Q4). Il faudra contrôler la qualité de représentation avant d'interpréter un point.
    3. Kaiser : \(\lambda_1\) à \(\lambda_4 > 1\) → 4 axes (74,7 %). Coude : plus forte chute entre axes 1 et 2, stabilisation après l'axe 4. On interprète en détail le plan \((1,2)\), avec un œil sur les axes 3-4 pour les épreuves mal représentées.
  8. Le cercle des corrélations.
    1. Résultats des variables (en gras : contributions > 10 %) :
      Variable\(r{\cdot}F_1\)\(r{\cdot}F_2\)\(r{\cdot}F_3\)\(\cos^2_1\)\(\cos^2_2\)\(\cos^2_3\)ctr 1ctr 2ctr 3
      X100m−0,770,19−0,180,600,040,0318,32,02,4
      Long.jump0,74−0,350,180,550,120,0316,86,92,4
      Shot.put0,620,60−0,020,390,360,0011,820,60,0
      High.jump0,570,35−0,260,330,120,0710,07,14,8
      X400m−0,680,570,130,460,320,0214,118,71,2
      X110m.hurdle−0,750,23−0,090,560,050,0117,03,00,6
      Discus0,550,610,040,310,370,009,321,20,1
      Pole.vault0,05−0,180,690,000,030,480,11,934,1
      Javeline0,280,32−0,390,080,100,152,35,810,8
      X1500m−0,060,470,780,000,220,610,112,943,5
      axe 1 (32,7 %) axe 2 (17,4 %) X100mLong.jumpShot.putHigh.jumpX400mX110m.hurdleDiscusPole.vaultJavelineX1500mPointsRank
      Cercle des corrélations (bleu) ; Points et Rank en rouge pointillé (supplémentaires).
    2. Contributions. Axe 1 : 100 m (18,3 %), 110 m h. (17,0), longueur (16,8), 400 m (14,1), poids (11,8), hauteur (10,0) — ces six font 88 % de l'axe. Axe 2 : disque (21,2 %), poids (20,6), 400 m (18,7), 1500 m (12,9) — 73 % de l'axe.
    3. Axe 1 (32,7 %) : vitesse et niveau d'ensemble. À gauche les courses rapides (100 m −0,77, 110 m h. −0,75, 400 m −0,68) : ce sont des temps, donc les athlètes de droite sont rapides. À droite longueur (0,74), poids (0,62), hauteur (0,57), disque (0,55). Une fois le sens des temps traduit, toute la droite = bonne performance : axe de « niveau général » dominé par la vitesse (confirmé par Points, \(r=0{,}96\)).
    4. Axe 2 (17,4 %) : force contre endurance. En haut disque (0,61), poids (0,60), mais aussi 400 m (0,57) et 1500 m (0,47). Pour les courses longues, une forte valeur = temps long : en haut les puissants (bons lanceurs) mais moins endurants ; en bas les endurants qui lancent moins loin. L'axe 2 oppose force et endurance.
    5. Épreuves mal représentées. Perche (\(\cos^2=0{,}03\)), javelot (0,18) et 1500 m (0,23) : flèches courtes, non interprétées sur ce plan. Leur information est sur l'axe 3 (perche \(r=0{,}69\), 1500 m 0,78 — 78 % de l'axe 3) et l'axe 4 (javelot \(r=0{,}71\)).
    6. Lien avec le cours (X100m). \(r = -0{,}7747\), \(\lambda_1 = 3{,}272\) : \(\cos^2_1 = 0{,}7747^2 = \mathbf{0{,}600}\) ; \(\operatorname{contrib}_1 = 100\times\tfrac{0{,}600}{3{,}272} = \mathbf{18{,}3\,\%}\). Et \(\sum_k r^2(X_k,F_1) = 3{,}272 = \lambda_1\), d'où des contributions à 100 %.
    7. Conseils. Produit scalaire 100 m / longueur : \((-0{,}775)(0{,}742)+(0{,}187)(-0{,}345) = -0{,}64\) (contre \(r=-0{,}60\), l'écart venant des 50 % hors plan). Pour l'entraîneur : travailler la vitesse est le meilleur investissement (elle améliore 100 m, 110 m h., 400 m et longueur, donc le score) ; la force (poids, disque) est un second bloc qui se paie en endurance ; perche et javelot, indépendants, demandent un travail technique spécifique.
  9. La carte des athlètes.
    axe 1 axe 2 -4-3-2-112345 SEBRLEYURKOVWARNERSMARTINEAUNOOLBOURGUIGNON SebrleClayKarpovMaceyWarnersSchoenbeckDrewsParkhomenkoLorenzoKorkizoglouUldalCasarsa DécastarJeux olympiques
    Carte des 41 performances : Décastar (orange), Jeux olympiques (bleu).
    1. Meilleurs / moins bons. À droite : Karpov (\(F_1=4{,}62\)), Sebrle (4,04), Clay (3,92) — les trois médaillés olympiques (rangs 3, 1, 2). À gauche : BOURGUIGNON (−3,98, dernier du Décastar), Casarsa (−2,86, dernier des Jeux), Uldal (−2,56).
    2. Contributions (moyenne \(100/41 \approx 2{,}4\,\%\)) :
      axe 1axe 2
      Karpov15,9 %Casarsa20,3 %
      Sebrle12,2 %Drews13,3 %
      BOURGUIGNON11,8 %YURKOV6,4 %
      Clay11,4 %Parkhomenko6,2 %
      Casarsa6,1 %Korkizoglou6,0 %
      Quatre athlètes font la moitié de l'axe 1, aux deux extrémités : l'axe oppose les meilleurs aux moins bons. Sur l'axe 2, Casarsa fournit à lui seul un cinquième de l'axe (8× la moyenne) : position atypique à surveiller (on pourrait le passer en individu supplémentaire). Vérif. Karpov : \(\operatorname{contrib}_1 = 100\times\tfrac{4{,}620^2}{41\times 3{,}272} = \mathbf{15{,}9\,\%}\), \(\cos^2_1 = \tfrac{21{,}34}{25{,}06} = \mathbf{0{,}85}\).
    3. Le plus mal représenté est Schoenbeck (\(\cos^2_1+\cos^2_2 = 0{,}005\)). Il est près du centre de la carte (\(F_1=0{,}11\), \(F_2=-0{,}04\)) mais on ne peut pas conclure qu'il est « moyen partout » : sa distance au centre vaut 1,80, presque toute sur les axes 3-4 (perche, 1500 m, javelot) — il saute 5,00 m à la perche et lance le javelot à 60,9 m, au-dessus des moyennes.
    4. Données brutes (gras = mieux que la moyenne) :
      100mLong.PoidsHaut.400m110mhDisquePercheJav.1500m
      Karpov10,507,8115,932,0946,8113,9751,654,6055,54278,1
      Casarsa11,366,6814,921,9453,2015,3948,664,4058,62296,1
      Drews10,877,3813,071,8848,5114,0140,115,0051,53274,2
      Moyenne11,007,2614,481,9849,6214,6144,334,7658,32279,0
      Karpov (droite) : meilleur dans 8 épreuves sur 10. Casarsa (haut-gauche) : lent mais bon lanceur. Drews (bas) : rapide et endurant mais lance peu loin. Les données confirment les noms des axes.
    5. Biplot. Un athlète situé dans la direction d'une flèche a une valeur supérieure à la moyenne pour cette variable (inférieure dans la direction opposée). Karpov, à l'opposé des flèches des courses, a des temps courts ; Casarsa, du côté de X400m et Discus, est lent au 400 m et lance loin. Valable seulement pour points et flèches bien représentés (cos2 = 0.5).
  10. Les variables supplémentaires.
    1. Points et classement.
      \(r{\cdot}F_1\)\(r{\cdot}F_2\)\(\cos^2_1\)\(\cos^2_2\)
      Points0,96−0,020,910,00
      Rank−0,670,050,450,00
      La flèche de Points est presque confondue avec l'axe 1 : l'axe 1, construit sans le score, explique à lui seul 91 % de sa variance → c'est bien l'axe de la performance globale, et la vitesse est ce qui fait gagner. Le score ne dépend presque pas de l'axe 2 : « puissant » ou « endurant » sont deux façons d'atteindre le même total. Rank est plus faiblement corrélé (−0,67) : c'est un rang qui écrase les écarts, et il est calculé dans chaque compétition.
    2. Les deux compétitions.
      ZoneDim 1Dim 2v.test 1v.test 2
      Decastar−0,60−0,04−1,43−0,12
      OlympicG0,280,021,430,12
      Le barycentre des Jeux est un peu à droite (performances olympiques meilleures en moyenne : 8052 contre 7906 points). Mais \(|\texttt{v.test}| = 1{,}43 < 1{,}96\) : l'écart n'est pas significatif ; les deux groupes se recouvrent largement.
    3. Les neuf athlètes présents deux fois.
      SebrleClayKarpovBernardWarnersZsivoczkyHernuBarrasNool
      Décastar821781228099806780308004773377087651
      Jeux889388208725822583438287823780678235
      Gain+676+698+626+158+313+283+504+359+584
      Les neuf ont fait un meilleur décathlon aux Jeux (de +158 à +698 points). Si la compétition n'avait aucun effet, la probabilité que les neuf progressent serait \((1/2)^9 \approx 0{,}002\) : l'effet est en réalité très net. Cela nuance b) : la valeur-test compare deux groupes d'athlètes différents, dont les écarts de niveau « noient » l'effet de la compétition. Une absence de significativité ne prouve pas une absence d'effet.
    4. Description automatique des axes (dimdesc) :
      Axe 1 ($quanti)Axe 2 ($quanti)
      Points (0,96), Long.jump (0,74), Shot.put (0,62), High.jump (0,57), Discus (0,55) ; Rank (−0,67), X400m (−0,68), X110m.hurdle (−0,75), X100m (−0,77)Discus (0,61), Shot.put (0,60), X400m (0,57), X1500m (0,47), High.jump (0,35), Javeline (0,32) ; Long.jump (−0,35)
      On retrouve les interprétations de Q8. La compétition n'apparaît pas (pas de $quali) : son lien avec les axes n'est pas significatif (axe 1 : \(R^2=0{,}05\), \(p=0{,}16\)).
  11. Synthèse.
    Exemple de synthèse

    L'ACP normée des dix épreuves de 41 décathlons (2004) fait apparaître trois familles d'épreuves : les courses de vitesse et le saut en longueur, les lancers, et des épreuves plus isolées (perche, javelot, 1500 m). Le premier axe (33 % de l'inertie) est un axe de niveau général dominé par la vitesse : il est presque confondu avec le total des points (\(r=0{,}96\)). Les médaillés olympiques Karpov, Sebrle et Clay y sont en tête, BOURGUIGNON et Casarsa en queue. Le deuxième axe (17 %) oppose les athlètes puissants (lancers) mais peu endurants aux athlètes endurants (400 m, 1500 m) qui lancent moins loin ; il est sans lien avec le score : deux manières d'atteindre un même total. Les neuf athlètes présents aux deux compétitions ont tous progressé aux Jeux, même si l'écart moyen n'est pas significatif.

    Pistes : la vitesse est la qualité la plus rentable ; la perche et le javelot, indépendants du reste, sont des réserves de points par le travail technique. Limites : le plan ne restitue que 50 % de l'information, l'axe 2 dépend beaucoup d'un athlète (Casarsa), les 41 lignes ne sont pas 41 athlètes indépendants, et l'échantillon (deux compétitions de 2004) est petit.

Mise en forme par Antoine Géré.