ACP

L’ACP (analyse en composantes principales) est une technique descriptive particulièrement populaire, au point de truster les visites les plus fréquentes sur ce blog. Je me suis dit qu’il serait intéressant de réunir dans une page unique les principaux documents (cours, tutoriels) que j’ai pu écrire à ce sujet. Certains touchent aux aspects méthodologiques, d’autres à la mise en œuvre de l’ACP dans des études de cas à l’aide de Tanagra et d’autres logiciels, dont R (avec ou sans packages spécialisés).

Méthodes

Les documents plutôt à vocation méthodologique sont réunis dans cette section. Les principes théoriques sont décortiqués. Dans certains cas, des programmes R accompagnent le texte pour mieux décomposer les formules sous-jacentes aux approches.

Pratique des Méthodes Factorielles avec Python
Ouvrage. Description approfondie des méthodes factorielles : analyse en composantes principales (ACP), analyse factorielle des correspondances (AFC), analyse des correspondances multiples (ACM), analyse factorielle des données mixtes (AFDM). Mise en œuvre des méthodes sous Python, lecture et interprétation ses résultats. Utilisation d’autres logiciels de statistique (SAS, R, TANAGRA). Comparaison des sorties.

ACP – Diapos – Support de cours
Principe de l’analyse en composantes principales. Position du problème. Construction des composantes principales, axes factoriels. Lecture des valeurs propres et des vecteurs propres. Différentes stratégies pour l’organisation des calculs. Détection du nombre de facteurs. Interprétation des résultats, caractérisation des composantes. Corrélation, cosinus carré, contribution, valeur test. Variables actives et illustratives. Rotation des axes factoriels (varimax). Tes de sphéricité de Bartlett, indice KMO. Extensions / variantes : ACP sur corrélations partielles, analyse en facteurs principaux, analyse de Harris.

ACP – Techniques de détermination du nombre d’axes
Présentation de quelques techniques de détection des composantes principales « pertinentes » en ACP. Scree plot, règle de Kaiser et dérivés, « test » de Bartlett, test des bâtons brisés. Les approches fondées sur les techniques de ré-échantillonnage sont également à l’honneur. Analyse parallèle, analyse basée sur  la randomisation, vérification de la significativité des facteurs par bootstrap, intervalle de confiance bootstrap des valeurs propres. Le code R mettant en œuvre les différentes techniques accompagne le texte.

AFDM (Analyse factorielle des données mixtes) – Diapos – Support de cours
Généralisation de l’ACP normée au traitement des variables actives quantitatives et qualitatives. Caractérisation des axes factoriels dans ce nouveau contexte. Corrélation linéaire et rapport de corrélation. Contribution et cosinus carré des variables et des individus. Utilisation et positionnement des variables illustratives dans les plans factoriels. Sorties des logiciels : TANAGRA, R package ade4, R package FactoMineR, R package PCAMixData.

Analyse en facteurs principaux – Méthodologie
Principe de l’analyse en facteurs principaux. Analyse des relations entre les variables, modification de la matrice des corrélations. PROC FACTOR de SAS. Lecture des résultats. Tableaux des loadings et dec contributions, lecture des résultats. Rotation VARIMAX. Analyse sous R (package psych), SAS, SPSS et TANAGRA.

ACP à partir de la matrice des corrélations partielles
Le problème de l’effet taille en analyse en composantes principales.  Gestion de la très forte corrélation entre les variables masquant les autres informations portées par les données. L’option « partial » de PROC FACTOR de SAS, programmation de la procédure sous R, ACP à l’aide des résidus de la régression sous TANAGRA.

Tutoriels - Études de cas

Les documents de cette section concernent plutôt la mise en œuvre des approches à l’aide de logiciels libres et /ou commerciaux. Les descriptions s’appuient sur des études de cas partant de l’importation des données jusqu’au déploiement (projection des individus supplémentaires), en passant par l’interprétation des axes principaux. Les fichiers de données sont fournis, tout un chacun doit pouvoir reproduire les opérations retracées dans le texte.

ACP avec Tanagra – Nouveaux outils
L’ACP de TANAGRA a été redéfini pour matcher avec le support de cours ci-dessus. Leur mode opératoire est décrit dans ce document. Les sorties sont largement enrichis. Des outils tels que la détection du nombre de facteurs via des méthodes de ré-échantillonnage sont des quasi-exclusivités, elles sont très peu présentes dans d’autres logiciels, mais on peut facilement les programmer (cf. plus bas pour les programmes sous R).

ACP – Description de véhicules
Ce document reprend point par point un exemple d’ACP disponible dans le fameux ouvrage de Gilbert Saporta (Dunod, 2006). Mettre en relation ce qui est décrit dans la référence et les sorties que nous obtenons nous même est un exercice très intéressant.

Analyse en composantes principales avec R
Ce tutoriel - ACP avec R - reprend l’analyse précédente (ACP – Description de véhicules) sous le logiciel R. Il s’appuie sur la procédure princomp() de R. Son principal intérêt est que je procède pas-à-pas. Toutes les formules sont décortiquées et programmées sous R (le calcul de l’intervalle de confiance des valeurs propres par exemple est peu usité dans les logiciels). L’élaboration des graphiques est tout aussi détaillée, permettant à tout un chacun de mesurer la puissance et la souplesse du langage de programmation R. En fait, ce tutoriel peut servir de document d’initiation à R, je l’utilise sous cet angle dans certains de mes enseignements.

ACP sous Python
Bien sûr que l'on peut mener une ACP également sous Python. Soit en utilisant le package très populaire "scikit-learn" et en post-traitant les résultats pour obtenir les sorties usuelles de l'ACP à la française. Soit en utilisant le package spécialisé "fanalysis" qui se charge de réaliser les calculs intermédiaires pour produire des sorties (y compris graphiques) dignes des meilleurs packages pour R.

ACP sous Excel avec Xnumbers
En contrepoint du support de cours (Diapos), ce tutoriel reprend pas à pas toutes les formules de l’ACP sous Excel. Nous utilisons la librairie Xnumbers pour réaliser la factorisation de la matrice des données centrées et réduites (pour l’ACP normée) à l’aide de la décomposition en valeurs singulières.

Analyse factorielle des données mixtes
Application de l’AFDM sur un fichier comportant des variables actives mixtes, quantitatives et qualitatives. Lecture des résultats : tableau des valeurs propres, tableau des coordonnées factorielles (carré des corrélations, variables quantitatives ; carré du rapport de corrélation, variables qualitatives), tableau des corrélations, tableau des moyennes conditionnelles ; représentations graphiques.

ACP sous R – Indice KMO et test de Bartlett
Programmation sous R de l’indice KMO global et par variable (Kaiser – Mayer – Olkin) et du test de sphéricité de Bartlett sous R, à partir des résultats fournis par la procédure princomp() de R. Ces indicateurs sont présents dans certains logiciels (SPSS et SAS par exemple), il est important de savoir de quoi il retourne.

Complémentarité entre CAH et ACP
Dans cette étude, on montre que l’analyse en composantes principales permet de relativiser les résultats d’une CAH (classification ascendante hiérarchique). L’ACP peut aider notamment à mieux identifier le nombre adéquat de groupes, problème récurrent en classification automatique. La caractérisation des groupes à l’aide des statistiques descriptives comparatives est utilisée pour approfondir les interprétations.

ACP avec l'add-in Explore de la page Excel'Ense
La page Excel'Ense de la Revue de Modulad recense un certain nombre d'add-ins (macro-complémentaires) pour le tableur Excel. Certains sont consacrés à l'analyse en composantes principales (ACP). Dans ce tutoriel, nous décrivons en détail l'usage et la lecture des résultat de la macro de Jacques Vaillé, qui regroupe par ailleurs d'autres techniques factorielles et des outils pour l'élaboration de graphiques (notamment des graphiques nuages de points étiquétés qui n'existent pas nativement dans Excel).