Cours Analyse Factorielle - Applications sous R, Python et Tanagra

Ce page regroupe du matériel pédagogique pour des enseignements des techniques factorielles, essentiellement l’analyse en composantes principales (ACP), l’analyse factorielle des correspondances (AFC), l’analyse des correspondances multiples (ACM), l’analyse factorielle des données mixtes (AFDM) et le positionnement multidimensionnel (multidimensional scaling – MDS).

L’ouvrage « Pratique des Méthodes Factorielles avec Python » permet de cadrer le propos et sert de trame principale. Chaque approche est reprise dans des slides qui font office de supports de cours, auxquels sont associés les fichiers de données et les programmes utilisés.

De très nombreux tutoriels sont disponibles pour préciser la pratique des méthodes d’analyse factorielle. Les outils préférentiellement utilisés sont Python, R et Tanagra. Ici aussi, les fichiers de données et les codes sources des programmes (lorsque cela est possible) accompagnent les documents de présentation.

Il est important de bien maîtriser ces techniques d’analyse factorielle avant d’accéder aux Master 2 de Data Science. Je les enseigne sous forme de remise à niveau en début d’année en Master SISE , en mettant l’accent sur les aspects moins abordées dans les très nombreux supports de cours et tutoriels que l’on trouve en ligne.

Ressources en ligne

Ressources

Supports

Ouvrage de référence

Ouvrage de référence pour le cours - Ricco Rakotomalala, "Pratique des Méthodes Factorielles avec Python", Juillet 2020.
Cet ouvrage, totalement gratuit, décrit les fondements et la pratique des principales techniques factorielles. Il détaille les calculs sous-jacents et leur mise en oeuvre sur des jeux de données sous Python avec les librairies scientiques qui font référence. Le parallèle est fait avec les sorties de SAS (proc princomp, proc factor, proc corresp), de R (packages factorminer, ade4, ca, pcamixdata, psych), de Tanagra (composants du module "Factorial Analysis").
Table des matières : (1) Analyse en Composantes Principales (ACP) ; (2) Plus loin avec l'Analyse en Composantes Principales (rotation varimax, analyse sur corrélations partielles, techniques avancées pour l'identification du nombre d'axes, analyse parallèle, clustering de variables, varclus, analyse en facteurs principaux) ; (3) Positionnement Multidimensionnel (MDS) ; (4) Analyse Factorielle des Correspondantes (AFC) ; (5) Analyse des Correspondances Multiples (ACM) ; (6) Analyse Factorielle des Données Mixtes (AFDM) ; (7) Références ; (8) Annexes.

Supports de cours - Slides

ACP - 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). Test de sphéricité de Bartlett, indice KMO. Extensions / variantes : ACP sur corrélations partielles, analyse en facteurs principaux, analyse de Harris.

AFC - Analyse factorielle des correspondances. Construction des profils lignes et colonnes. Notion de distance entre profils, distance à l'origine. Inertie. Analyse des associations lignes - colonnes. Test d'indépendance du khi-2 et décomposition orthogonale du khi-2. Indice d'attraction - répulsion. Pratique de l'AFC : choix du nombre de facteurs, analyse des cos2 et des contributions. Représentations graphiques. Traitement des modalités supplémentaires.

ACM (AFCM) - Analyse (factorielle) des correspondances multiples. (1) analyse des proximités entre individus, distance du khi-2, inertie d'un individu, inertie totale ; (2) analyse des associations entre modalités, distance entre modalités, distance à l'origine ; (3) analyse des variables, rapport de corrélation. Pratique de l'ACM : sélection du nombre de facteurs et correction de Benzecri ; analyse des modalités et des variables (coordonnées factorielles, cos2, contributions) ; analyse des individus ; formules de reconstitution des distances ; problématique de la représentation simultanée des individus et des modalités ; traitement des variables et individus illustratifs.

AFDM - Analyse factorielle des données mixtes. 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.

MDS - Positionnement multidimensionnel (multidimensional scaling). MDS classique, analyse factorielle sur tableau de distance. MDS métrique et non-métrique. Optimisation de la fonction "stress". Rapprochement avec l'ACP usuelle. Evaluation de la qualité de la représentation. Traitement des individus supplémentaires. Traitement des matrices de corrélations.

Autres slides concernant la data science. Couvre les principales méthodes du traitement exploratoire des données et de machine learning (analyse prédictive, classification automatique, analyse factorielle, etc.), de l'économétrie (régression linéaire simple et multiple) et des statistiques (comparaison des populations, tests paramétriques et tests non paramétriques).

Tutoriels ACP - Analyse en Composantes Principales

ACP avec PYTHON - Package "scikit-learn". Pratique de l'analyse en composantes principales avec Python. Utilisation du package de machine learning "scikit-learn". Préparation des données. Valeurs propres et scree plot. Déterminantion du nombre de facteurs. Représentation des individus. Représentation des variables. Aides à l'interprétation. Traitement des individus et variables supplémentaires.

Analyses factorielles avec PYTHON - Package "fanalysis". Pratique des principales techniques factorielles avec Python. Utilisation du package "fanalysis". ACP (analyse des composantes principales), AFC (analyse factorielle des correspondances), ACM (analyse des correspondances multiples).

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 nativement dans d’autres logiciels.

ACP avec TANAGRA - Description de véhicules. Ce document reprend point par point un exemple d’analyse en composantes principales 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.

ACP 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 avec R - Techniques de détermination du nombre d'axes pertinents. 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.

ACP avec 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 pour l'analyse en composantes principales, à 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.

ACP avec R - Librairies FactoMineR et dynGraph. Exploration interactive et habillage des graphiques issus de l'analyse en composantes principales. Mise en évidence des informations importantes selon les contributions et les cos2. Exportations des cartes des individus et des variables.

ACP sous EXCEL avec la librairie 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.

ACP sous EXCEL 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).

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 à partir des matrices 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.

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.

Tutoriels AFC - Analyse Factorielle des Correspondances

AFC avec TANAGRA - Association médias et professions. Retranscription de l'étude décrite dans l'ouvrage de Lebart, Morineau et Piron (2000, pages 77 à 107) à l'aide du logiciel Tanagra.

AFC avec R - Association médias et professions - Package "FactoMineR". Réalisation de l'étude "Association médias - professions" à l'aide de R (package "factorminer"). Le code R et le fichier de données sont accessibles.

AFC - Comparaison de logiciels. Comparaison de la mise en oeuvre et des sorties de plusieurs logiciels : Tanagra, R avec les packages "ca" et "ade4", OpenStat, SAS. Les résultats sont numériquement identiques, les différences se situent au niveau de leur mise en valeur.

AFC sous EXCEL avec l'ad-in Explore de la page Excel'Ense. Description de l'usage et de 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.

Tutoriels ACM - Analyse des Correspondances Multiples

ACM avec TANAGRA - Races canines. Retranscription de l'étude décrite dans l'ouvrage de M. Tenenhaus (1996, pages 212 à 222) à l'aide du logiciel Tanagra.

ACM avec R - Races canines. Réalisation de l'étude "Races canines" avec R (package "factominer"). Le code R et le fichier de données sont accessibles.

ACM - Comparaison de logiciels. Comparaison de logiciels lors du traitement d'une base comportant 8403 individus et 23 variables qualitatives : Tanagra, SAS (proc corresp), R (package "ade4"), STATISTICA. Faire le parallèle entre les différentes sorties des outils est un exercice intéressant.

Pipeline sous PYTHON - La méthode DISQUAL. Utilisation de l'ACM pour projeter les individus décrits par des variables catégorielles dans un espace continu, suivi d'une analyse discriminante prédictive. Enchaînement des opérations dans un "pipeline" Python. Package "fanalysis"

Clustering de variables qualitatives - Diapos. Utilisation de l'ACM dans un schéma de "tandem analysis" pour la classification des modalités de variables qualitatives. Dans une première étape, une analyse des correspondances multiples (ACM) permet de projeter les modalités dans un nouvel espace de représentation. La typologie est réalisée à partir des coordonnées factorielles des modalités qui font figure d’individus dans la seconde étape.

Tutoriels AFDM - Analyse Factorielle des Données Mixtes

AFDM avec TANAGRA et R. 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.

Classification automatique sur données mixtes. Utilisation de l'AFDM dans un schéma de "tandem analysis" pour la classification d'individus décrits par un mix de variables quantitatives et qualitatives. [1] Une AFDM produit une représentation intermédiaire des données ; [2] une classification ascendante hiérarchique (CAH) à partir des facteurs "représentatifs" de l’AFDM est ensuite réalisée.

Tutoriels MDS - Positionnement Multidimensionnel

Multidimensional Scaling avec R. Positionnement des principales villes de Madagascar à partir des distances routières qui les relient. Utilisation des données de Google Maps. Comparaison des MDS classiques, métriques et non-métriques.

PYTHON - Détection de communautés avec MDS. Identification des communautés dans les réseaux sociaux. Utilisation de la librairie "igraph". Traitement du fameux exemple "Club de Karaté de Zachary". Voisinage, centralité, matrice d'adjacence. Application d'algorithmes de machine learning à partir de la description individus-facteurs issus du MDS.


Ricco Rakotomalala – Université Lyon 2