1. Livres & vidéos
  2. Python pour l’analyse de données et les statistiques
  3. Analyse en composantes principales
Extrait - Python pour l’analyse de données et les statistiques Fondamentaux, régression linéaire et simulations
Extraits du livre
Python pour l’analyse de données et les statistiques Fondamentaux, régression linéaire et simulations Revenir à la page d'achat du livre

Analyse en composantes principales

Principes et préparation des données

L’analyse en composantes principales (ACP) est souvent perçue comme une boîte noire mathématique complexe. En réalité, c’est un outil géométrique dont l’objectif est pragmatique : résumer l’information. Lorsque nous travaillons avec des jeux de données comportant des dizaines, voire des centaines de variables, notre capacité à visualiser et à interpréter les relations s’effondre. Nous ne pouvons pas visualiser des données en quatre dimensions, et a fortiori en cent dimensions.

L’ACP répond à ce problème par la réduction dimensionnelle. Elle transforme un jeu de données complexe en une version simplifiée, tout en conservant l’essentiel de l’information originale. Pour comprendre ce mécanisme, imaginez un objet en trois dimensions, comme une théière, éclairé par une lampe. L’ombre projetée sur le mur est une représentation en deux dimensions de cet objet. Si l’angle est bon, l’ombre conserve la forme générale de la théière (l’anse, le bec, le corps). Si l’angle est mauvais (par exemple, vue de dessus), l’ombre n’est qu’un cercle indistinct et l’information est perdue. L’ACP est l’algorithme qui cherche automatiquement le meilleur angle pour projeter vos données sur un plan, afin que l’ombre ressemble le plus possible à l’objet initial.

1. Variance comme mesure de l’information

Pour que l’algorithme détermine quel est le « meilleur » angle de projection, il lui faut un critère mesurable. En statistiques, ce critère est la variance. Une variable qui ne change pas (variance nulle) n’apporte aucune information pour distinguer les individus. À l’inverse, une variable qui disperse fortement les individus est riche en enseignements.

L’ACP cherche à construire de nouveaux axes, appelés composantes principales. Ces axes ne sont pas choisis au hasard. Le premier axe est calculé pour capter la plus grande quantité possible de variance du nuage de points initial. C’est la direction dans laquelle les données sont les plus étalées....

Calcul et interprétation de l’ACP

1. Fondements mathématiques

Pour comprendre l’analyse en composantes principales au-delà de sa simple application, il est nécessaire de regarder sous le capot. L’ACP est une méthode d’algèbre linéaire. Elle repose principalement sur une opération centrale : elle décompose la structure de corrélation de vos données pour trouver de nouveaux axes.

a. Matrice de corrélation

Nous avons créé une matrice data_std où toutes les variables ont une moyenne de zéro et un écart-type de un. À partir de cette matrice, l’algorithme calcule d’abord la matrice de corrélation (images/8eq_51.png).
La matrice de corrélation images/8eq_50.png est une matrice carrée, symétrique, où chaque cellule représente le coefficient de corrélation linéaire entre deux variables. Sa diagonale est remplie de 1 (car la corrélation d’une variable avec elle-même est parfaite). Cette matrice encapsule toute la structure d’interdépendance que l’ACP cherche à simplifier.
Si les variables étaient totalement indépendantes, images/8eq_48.png serait une matrice identité (des 1 sur la diagonale, des 0 partout ailleurs), et l’ACP serait inutile. C’est l’existence de corrélations non nulles qui justifie l’application de l’ACP.

b. Obtention des composantes principales

L’ACP cherche à répondre à la question suivante : existe-t-il des combinaisons linéaires de nos variables initiales qui possèdent une variance maximale et qui sont orthogonales (non corrélées entre elles) ?

Pour trouver ces combinaisons, l’algorithme effectue une opération mathématique appelée décomposition en valeurs et vecteurs propres sur la matrice de corrélation images/8eq_45.png. Les vecteurs propres définissent les nouvelles directions géométriques selon lesquelles les données varient le plus, servant ainsi de nouveaux axes de coordonnées indépendants. Les valeurs propres, quant à elles, mesurent la quantité de variance ou l’importance de l’information capturée le long de chacun de ces nouveaux axes.
Cette décomposition est régie par l’équation...

Exploitation dans les modèles avancés

1. Régression sur composantes principales (PCR)

L’ACP est l’outil idéal pour résoudre un problème majeur que nous avons rencontré lors de notre étude de la régression linéaire multiple : la multicolinéarité. La régression sur composantes principales (PCR) combine l’ACP et la régression linéaire pour obtenir des modèles de prédiction plus stables et plus robustes.

Rappelons que la multicolinéarité survient lorsque deux ou plusieurs variables explicatives (images/8eq_15.png) du modèle de régression sont fortement corrélées entre elles. Dans notre jeu de données macroéconomique, par exemple, le PIB et le taux d’emploi sont fortement corrélés.
Mathématiquement, lorsque ces variables sont incluses ensemble dans une régression linéaire, cela rend le calcul des coefficients très instable. Le modèle a du mal à déterminer quelle variable est la véritable cause de la variation de la variable cible (images/8eq_14.png). Les coefficients deviennent sensibles à de petits changements dans les données, ce qui réduit la fiabilité et la généralisation du modèle. Les coefficients n’ont plus de sens interprétatif précis.
La PCR contourne élégamment ce problème en utilisant les composantes principales comme nouvelles variables d’entrée. Au lieu d’utiliser les variables brutes images/8eq_13.png (corrélées), on utilise les facteurs images/8eq_12.png (non corrélés).

La méthode se déroule en deux étapes distinctes.

Tout d’abord, on applique l’ACP uniquement aux variables explicatives (images/8eq_11.png) pour obtenir la matrice des composantes principales images/8eq_10.png. On choisit uniquement les images/8eq_9.png premières composantes qui capturent...