Qu'est-ce que l'analyse des composantes principales (APC)?

L'analyse des composantes principales (APC) est une technique de réduction de dimensionnalité linéaire qui transforme un ensemble de données comportant de nombreuses variables corrélées en un ensemble plus petit de variables non corrélées appelées composantes principales. Ces composantes capturent la variance maximale possible dans les données originales, le premier expliquant la plus variance, le second le plus, etc. Géométriquement, PCA trouve un nouveau système de coordonnées où les axes s'alignent sur les directions de la plus grande variance des données. Les points haute dimension originaux sont ensuite projetés sur ce sous-espace à dimensions inférieures, en préservant autant que possible les données diffusées.

PCA est largement utilisé dans apprentissage automatique et bioinformatique Comme il est linéaire, PCA est rapide, déterministe, et fournit une base mathématique claire pour comprendre la structure de la variance. C'est souvent la première technique appliquée lors de l'exploration d'un nouvel ensemble de données haute dimension, servant de base de comparaison avec des méthodes non linéaires comme le t-SNE ou les auto-encodeurs.

L'idée sous-jacente remonte à Karl Pearson en 1901, et la formulation moderne utilisant eigendecomposition a été popularisé par Harold Hotelling dans les années 1930. Aujourd'hui, PCA reste un élément essentiel dans les statistiques, le traitement des signaux et la science des données en raison de sa simplicité et de son efficacité. Wikipédia article sur PCA couvre son évolution historique et les détails mathématiques.

Les mathématiques de l'APC : une ventilation étape par étape

L'APC suit une procédure mathématique bien définie qui se concentre sur la décomposition eigendecomposition de la matrice de covariance (ou décomposition de la valeur singulière de la matrice de données).

1. Normaliser les données

Comme l'APC est sensible à l'échelle des variables, il faut d'abord normaliser les données de façon à ce que chaque variable ait une moyenne de zéro et une déviation standard d'une variable. Cela garantit que les variables ayant des plages numériques plus grandes ne dominent pas l'analyse. La normalisation se fait généralement en soustrayant la moyenne et en divisant par l'écart-type de chaque variable : z = (x - μ) / φ. Sans cette étape, une variable mesurée en milliers contribuerait beaucoup plus à la variance qu'une variable mesurée en unités, déformant les premiers composants principaux.

Notez que si toutes les variables sont à la même échelle (p. ex. intensités de pixel de 0 à 255), la normalisation peut être facultative, mais elle est toujours recommandée comme pratique exemplaire. Dans de nombreuses implémentations de PCA, la fonction inclut un paramètre pour centrer (pas pour écheller) les données, de sorte que vous devez demander explicitement l'échelle au besoin.

2. Calculer la matrice de covariance

Pour un ensemble de données avec des variables n, la matrice de covariance est une matrice symétrique n×n où l'entrée (i,j) représente la covariance entre la variable i et la variable j. Une covariance positive indique deux variables augmentent ensemble, tandis qu'une covariance négative signifie une augmentation lorsque l'autre diminue. Les entrées diagonales représentent la variance de chaque variable (après normalisation, chaque entrée diagonale = 1, parce que la variance d'une variable standardisée est 1).

La matrice de covariance est centrale à PCA car elle résume les relations linéaires que PCA va décomposer. Si les variables ne sont pas complètement corrélées, PCA ne donne aucune réduction significative – les principaux composants ne sont que les axes d'origine par ordre de leurs variances.

3. Calculer les valeurs propres et les facteurs propres

Les valeurs et les eigenvectors sont calculés à partir de la matrice de covariance. Chaque eigenvector pointe dans la direction d'une composante principale. La valeur correspondante de l'eigen quantifie la quantité de variance conservée dans cette direction. Les eigenvectors avec les plus grandes valeurs eigen capturent la plus grande variance. Cette étape est le fondement mathématique de base de PCA – une ressource sur géndécomposition peut aider à visualiser le concept.

Mathématiquement, nous résolvons l'équation C v = λ v, où C est la matrice de covariance, v est un eigenvector, et λ est la valeur correspondante eigen. Il y a autant de paires eigenvalue-eigenvector qu'il y a de variables. En les triant dans l'ordre décroissant de λ, nous obtenons les composantes principales par ordre d'importance. Les eigenvectors sont orthogonaux (perpendiculaires) les uns aux autres, en veillant à ce que les nouveaux axes ne soient pas corrélés.

En pratique, les algorithmes numériques tels que l'algorithme QR ou la décomposition de valeurs singulières (SVD) calculent ces quantités efficacement. En fait, de nombreuses bibliothèques implémentent PCA via SVD de la matrice de données centrée, qui est numériquement plus stable que la matrice de covariance. scikit-apprendre la documentation PCA, qui mentionne l'utilisation des routines LAPACK.

4. Sélectionnez les composantes principales

Vous triez les eigenvectors en diminuant la valeur de l'eigen et choisissez les composants k supérieurs. Le nombre k est souvent sélectionné en fonction d'un seuil de variance expliqué cumulatif (p. ex. 95%). parcelle de scrute La "boue" – où la courbe plane – indique que les composants supplémentaires contribuent peu à la variance supplémentaire. Une autre méthode consiste à conserver tous les composants avec des valeurs propres supérieures à 1 (règle de Kaiser), mais c'est heuristique et fonctionne mieux pour les matrices de corrélation.

Pour la visualisation, k est généralement 2 ou 3 pour que les données puissent être tracées en 2D ou 3D. Pour une étape de prétraitement dans l'apprentissage automatique, vous pouvez choisir k qui préserve 90 à 99 % de la variance. La validation croisée peut également guider la sélection des composants : vous pouvez essayer plusieurs valeurs k et évaluer les performances du modèle en aval.

5. Transformer les données

Les données originales sont projetées sur le nouveau sous-espace défini par les eigenvectors sélectionnés. Le résultat est une matrice réduite où chaque ligne est maintenant représentée par des composants principaux k au lieu des variables n originales. Ces données transformées conservent la variance maximale possible pour la dimensionnalité choisie. La projection est simplement le produit point de la matrice de données originale (normalisée) avec la matrice de eigenvectors sélectionnés.

Après la transformation, les nouvelles variables (composantes principales) sont orthogonales et ont une variance décroissante. Notez qu'elles sont des combinaisons linéaires des variables originales, de sorte que leurs valeurs peuvent être négatives ou positives. La transformation est invertible (si tous les composants sont conservés), mais lorsque vous baissez des composants, vous perdez de l'information.

Applications réelles du PCA

Compresse d'image et reconnaissance

Dans la vision informatique, PCA est utilisé pour compresser les images faciales (aigenfaces) en les représentant avec un petit ensemble de composants principaux. Cela accélère les systèmes de reconnaissance tout en préservant les caractéristiques essentielles. La même technique s'applique à l'imagerie satellite et aux analyses médicales. Par exemple, dans l'analyse IRM, PCA peut réduire la dimensionnalité des données volumétriques 3D, permettant un traitement et un stockage plus rapides sans sacrifier la qualité diagnostique.

Génomique et bioinformatique

Les données génomiques modernes contiennent souvent des milliers de gènes sur des centaines d'échantillons seulement. L'APC réduit la dimensionnalité aux axes dominants de la variation génétique, aidant les chercheurs à visualiser la structure de la population, à identifier les aberrations et à détecter les sous-types de maladies. Une approche commune consiste à exécuter l'APC sur les données de génotype, puis à tracer les deux premiers composants pour révéler les grappes correspondant aux populations ancestrales.

Finances et analyse des risques

En réduisant les prix des actions à une poignée de composantes (marché, secteur, etc.), ils peuvent couvrir le risque et répartir le capital de manière plus efficace. PCA aide également à l'analyse des revenus fixes en décomposé les mouvements de courbe de rendement en composantes de niveau, de pente et de courbure, qui sont les trois premières composantes principales des rendements obligataires.

Segmentation des clients dans le marketing

Les clusters utilisent l'APC pour les données d'enquête ou de transaction pour découvrir des segments latents. Les dimensions réduites rendent les algorithmes de regroupement comme les moyennes k plus efficaces, ce qui conduit à des campagnes adaptées à des groupes de clients distincts.

Traitement des langues naturelles (NLP)

En analyse de texte, l'APC réduit la dimensionnalité des matrices de fréquences-termes (p. ex. TF-IDF). Non seulement cela accélère la modélisation des sujets, mais élimine également le bruit en se concentrant sur les directions sémantiques qui expliquent la plus grande variance entre les documents. Bien que des techniques comme l'analyse sémantique latente (LSA) utilisent la SVD tronquée (qui est équivalente à l'APC sur une matrice centrée pour des données denses), l'APC appliquée à des données de texte éparses est coûteuse sur le plan calcul, de sorte que la LSA ou la SVD randomisée est préférable.

Détection des données de détection et des anomalies

PCA est également appliqué aux données multivariées de capteurs, comme les lectures de machines industrielles ou les stations de surveillance environnementale. En projetant les données sur les composants principaux, les ingénieurs peuvent détecter des anomalies lorsque l'erreur de projection (distance vers le sous-espace PCA) dépasse un seuil.

Avantages de l'APC

  • Réduction du bruit: En éliminant les composants à faible variation, PCA filtre le bruit et améliore le rapport signal-bruit dans la modélisation en aval. Ceci est particulièrement utile pour les modèles linéaires comme l'analyse discriminante linéaire ou la régression logistique.
  • Efficacité informatique: Travailler avec moins de fonctionnalités réduit le temps d'entraînement et l'utilisation de la mémoire pour les algorithmes comme la régression logistique ou les machines vectorielles de support.
  • Visualisation: Les données à haute dimension peuvent être projetées en 2D ou 3D pour des diagrammes de dispersion simples qui révèlent des amas, des aberrations ou des tendances.
  • Manipulation de la multicolinéarité: PCA produit des composants non corrélés, éliminant les problèmes découlant de caractéristiques redondantes dans les modèles de régression. Ceci stabilise les estimations de coefficients dans la régression linéaire et évite les problèmes d'inversion de matrice associés à la multicolinéarité parfaite.
  • Compression des caractéristiques: PCA peut remplacer des dizaines de variables corrélées par une poignée de composants sans perte substantielle d'information. Ceci est utile pour le stockage et pour la confidentialité, car les composants ne révèlent pas directement les valeurs variables originales.
  • Déterministe et reproductible: Contrairement aux méthodes stochastiques (t-SNE, auto-encodeurs, par exemple), PCA donne le même résultat à chaque fois pour un ensemble de données et un nombre de composants donnés, ce qui le rend adapté aux pipelines de production et aux expériences scientifiques.

Limitations de l'APC

  • Hypothèse linéaire: PCA ne saisit que les relations linéaires. Il ne révèle pas les structures non linéaires que des techniques plus avancées comme le t-SNE, l'UMAP ou les autoencodeurs peuvent découvrir. Si les données se trouvent sur un collecteur non linéaire, PCA peut projeter des points de différentes régions de repli sur l'autre, perdant ainsi une structure importante.
  • Perte d'interprétation : Les principaux composants sont des combinaisons linéaires de variables originales, ce qui les rend difficiles à identifier ou à expliquer aux intervenants commerciaux. Chaque composant est une construction mathématique, et non une quantité réelle. Par exemple, le premier PC de rendement des actions pourrait être un mélange de facteurs de marché, d'industrie et de dynamique, ce qui rend difficile d'attribuer une seule interprétation économique.
  • Sensibilité à l'échelle : Sans une normalisation adéquate, les résultats de l'APC peuvent être trompeurs, car les variables à plus grande échelle domineront le premier composant.
  • Perte d'information : Si la variance supprimée contient un signal important (par exemple, des événements rares, des effets subtils), l'ensemble de données réduit peut être moins utile pour certaines applications. Pour la classification, les composants à faible variation peuvent être ceux qui séparent les classes.
  • Influence plus importante : Quelques points de données extrêmes peuvent fortement fausser les vecteurs propres, ce qui entraîne une fausse représentation de la structure principale des données par la transformation de l'APC. Les valeurs extrêmes peuvent créer des composants fallacieux ou faire tourner les axes réels.
  • Ne convient pas aux données très volumineuses et à faible densité de dimensions: Lorsque le nombre de caractéristiques dépasse largement le nombre d'échantillons (le paramètre -p-n-), la matrice de covariance de l'échantillon est mal conditionnée ou déficiente en grade. Dans de tels cas, PCA sur la matrice de covariance peut produire des composants peu fiables.

Considérations pratiques lors de l'utilisation de PCA

Choix du nombre de composants

Une approche courante consiste à tracer le rapport cumulatif de variance expliquée par rapport au nombre de composants et à sélectionner le plus petit k qui atteint un seuil tel que 90% ou 95%. Une autre méthode est de rechercher un --elbow-- dans le graphique de scree où les valeurs propres sont dégressées. Pour la visualisation, k=2 ou k=3 est typique. Pour l'utilisation comme prétraitement, vous pouvez utiliser la validation croisée: former un modèle sur les données réduites par PCA pour plusieurs valeurs de k et choisir le k qui donne la meilleure performance de validation.

Quand éviter PCA

Si votre objectif est la sélection des fonctions (picking d'un sous-ensemble de variables originales) plutôt que l'extraction des fonctionnalités, PCA n'est pas approprié – utiliser des méthodes comme l'élimination des fonctionnalités récursives ou Lasso. De plus, si les données sont déjà de faible dimension ou si les variables ont des unités significatives que vous voulez préserver, PCA peut faire plus de mal que de bien. Par exemple, dans une étude clinique où chaque variable est un test de laboratoire avec une signification claire, les remplacer par des combinaisons linéaires pourrait rendre les résultats ininterprétables pour les médecins.

PCA vs. Autres techniques de réduction de dimensionnalité

PCA est linéaire et donc rapide et reproductible. t-SNE et UMAP sont non linéaires et produisent souvent de meilleures visualisations de clusters, mais ils sont stochastiques et ne conviennent pas au prétraitement pour les modèles linéaires. SVD tronqué (aussi connu sous le nom de LSA) est plus efficace sur le plan du calcul que PCA. Analyse des facteurs est similaire à PCA mais modélise les données comme provenant de facteurs latents plus le bruit, ce qui rend plus interpretable mais calculant plus lourd. Codeurs automatiques (réseaux neuronaux) peut apprendre les transformations non linéaires mais nécessite plus de données et d'accord. En pratique, PCA est un excellent point de départ: l'appliquer d'abord, et si les résultats sont insatisfaisants, passer à des méthodes plus complexes.

Mise en œuvre de l'APC dans la pratique

Dans Python, fournit une interface propre : vous adaptez le modèle à vos données, puis vous le transformez. La bibliothèque gère le centreage (mais pas l'échelle par défaut, vous devez donc standardiser séparément en utilisant . Dans R, les fonctions et sont communes. Lors de l'application de PCA, vérifiez toujours le rapport de variance expliqué et considérez l'échange entre réduction dimensionnelle et perte d'information.

Conclusion

L'analyse des composantes principales demeure l'une des techniques de réduction de dimensionnalité les plus utilisées dans les sciences des données. Elle fournit une façon rapide, interprétable (au sens mathématique) de compresser les données, d'éliminer le bruit et de révéler les modèles cachés. Cependant, elle n'est pas une solution universelle : sa nature linéaire et sa perte d'interprétation nécessitent une attention particulière avant d'être appliquées. En comprenant tant les mécanismes que les compromis, les praticiens peuvent tirer parti efficacement de l'APC dans des domaines allant de la finance à la génomique.