Analyse PCA de Données Footballistiques

Projet de Data Science et de Réduction de Dimension

Type : Projet Académique
Technologies : Python (Pandas), MATLAB
Concepts Clés : PCA, Feature Selection, Data Preprocessing
Workflow : Pré-traitement (Python) → Analyse (MATLAB)

Ce projet académique est une exploration de l'Analyse en Composantes Principales (PCA) appliquée à des statistiques de joueurs de football. Il constitue l'analyse fondamentale qui a inspiré la création de mon projet personnel, le comparateur de profils de joueurs.

Le projet s'est déroulé en deux phases distinctes : un pré-traitement approfondi des données avec Python (Pandas), suivi de l'analyse et de la visualisation avec MATLAB.

Les Données : Radiographie Statistique d'un Joueur

Pour cette analyse, j'ai utilisé un dataset riche contenant les performances de joueurs de football. Chaque ligne représente un joueur unique (ex: Lionel Messi) et est associée à plus de 100 colonnes de statistiques décrivant son profil.

Exemples de variables clés utilisées :

  • Informations générales : Nom, club, pays, âge, position.
  • Statistiques offensives : Buts, tirs, tirs cadrés, actions créatrices de tir (SCA).
  • Statistiques de passes : Passes tentées, passes réussies, passes clés, passes progressives.
  • Statistiques défensives : Tacles, interceptions, blocages, duels aériens gagnés.

J'ai choisi un dataset de statistiques détaillées de joueurs de football pour plusieurs raisons :

  • Richesse et Complexité : Les données sont multi-dimensionnelles (plus de 100 variables), un cas d'usage parfait pour la PCA.
  • Interprétabilité Intuitive : Les résultats sont faciles à interpréter, permettant d'identifier des profils de joueurs connus.
  • Objectif de l'Analyse : Mon but était de voir si la PCA pouvait, à partir de données brutes, retrouver et quantifier ces profils de joueurs.

Le Workflow en Deux Étapes

1. Pré-traitement des Données (Python & Pandas)

Partant d'un jeu de données de plus de 100 statistiques, une phase de nettoyage et de préparation était essentielle. J'ai utilisé Python pour :

  • Filtrer les données : Ne conserver que les joueurs de champ avec un temps de jeu significatif.
  • Gérer les transferts : Agréger les statistiques des joueurs ayant changé de club.
  • Recatégoriser les postes : Simplifier les positions en trois grands rôles (FW, MF, DF).
  • Sélectionner les variables pertinentes (Feature Selection) : Éliminer les statistiques redondantes.

2. Analyse en Composantes Principales (MATLAB)

Une fois les données propres, j'ai utilisé MATLAB pour réaliser la PCA et la visualisation.

Visualisation et Interactivité

Le résultat principal est une projection des joueurs sur un plan factoriel, où chaque axe a une signification conceptuelle.

Analyse des Composantes et Interprétation

Pour comprendre la signification des axes, il est essentiel d'analyser les "loadings" (contributions des variables).

Interprétation des axes :

  • Axe PC1 (Horizontal - L'axe Offensif/Défensif) : Pour rendre le graphique plus intuitif (offensif à droite), j'ai inversé cet axe. Par conséquent, un score élevé sur le graphique (vers la droite) est fortement lié aux statistiques offensives (Shots, SCA), tandis qu'un score faible (vers la gauche) est lié aux actions défensives (Tkl+Int).
  • Axe PC2 (Vertical - L'axe Créatif/Direct) : De la même manière, j'ai inversé cet axe pour que les joueurs les plus créatifs apparaissent en haut. Un score élevé sur le graphique (vers le haut) est donc lié à des statistiques de création (Assists, SCA), tandis qu'un score faible (vers le bas) est associé à des joueurs plus directs ou moins impliqués dans la construction.

Résultat Final : Identification de 4 Profils de Joueurs

La combinaison de ces deux axes a permis de faire émerger quatre quadrants distincts, chacun représentant un profil de joueur clair et cohérent, validant ainsi la pertinence de l'analyse.

QuadrantProfilExemples de Joueurs
Haut-DroiteOffensifs Créatifs : Joueurs très impliqués dans l'attaque, à la fois par la passe et par le tir.Lionel Messi, Neymar, Kevin De Bruyne, Rayan Cherki
Bas-DroiteFinisseurs Purs : Attaquants plus directs, focalisés sur la finition des actions.Cristiano Ronaldo, Erling Haaland, Robert Lewandowski
Haut-GaucheCréateurs Défensifs : Milieux relayeurs, latéraux et défenseurs centraux très propres à la relance.Marco Verratti, Toni Kroos, Thiago Silva, Trent Alexander-Arnold
Bas-GaucheDéfenseurs Rugueux : Joueurs principalement axés sur les tâches défensives pures, avec moins d'apport créatif.Simon Kjær, Kurt Zouma

De l'Analyse à la Création : Le Comparateur de Joueurs

"Lors de mon projet PCA, j’ai observé un nuage de points représentant les joueurs. Chaque point étant une représentation de leurs statistiques, j’ai eu l’idée d’utiliser la distance euclidienne entre deux points pour mesurer leur similarité. C’est ainsi qu’est né ce comparateur."

Découvrir le projet personnel qui en a découlé →

Réflexions Techniques et Leçons Apprises

  • Défi : De la fonction à la compréhension mathématique. Mon implémentation initiale s'appuyait fortement sur des fonctions pré-existantes.
    Leçon apprise : La véritable maîtrise d'un algorithme vient de la capacité à l'implémenter à partir de ses fondements mathématiques.
  • Défi : La rigueur dans la visualisation. Le graphique produit était informatif, mais il lui manquait des éléments standards pour une analyse rigoureuse, comme le cercle de corrélation.
    Leçon apprise : Une visualisation de données n'est pas qu'une illustration, c'est un outil d'analyse. Sa justesse mathématique est primordiale.

Source des Données

Les statistiques proviennent du dataset "2022/2023 Football Player Stats" sur Kaggle.