1 ACM - Analyse des Correspondances Multiples avec R: L'Essentiel | Méthodes de

1 ACM - Analyse des Correspondances Multiples avec R: L'Essentiel | Méthodes des Composantes Principales dans R: Guide Pratique L’Analyse des Correspondances Multiples (ACM ou MCA pour multiple correspondence analysis) est une extension de l’analyse factorielle des correspondances pour résumer et visualiser un tableau de données contenant plus de deux variables catégorielles. On peut aussi la considérer comme une généralisation de l’analyse en composantes principales lorsque les variables à analyser sont catégorielles plutôt que quantitatives (Abdi and Williams 2010). L’ACM est généralement utilisé pour analyser des données d’enquête ou de sondage. L’objectif est d’identifier:  Un groupe de personnes ayant un profil similaire dans leurs réponses aux questions  Les associations entre les catégories des variables Dans ce chapitre, nous allons décrire comment calculer et visualiser l’analyse des correspondances multiples avec le logiciel R en utilisant les packages FactoMineR (pour l’analyse) et factoextra (pour la visualisation des données). De plus, nous montrerons comment révéler les variables les plus importantes qui contribuent le plus à expliquer les variations dans le jeu de données. Nous continuons en expliquant comment prédire les résultats pour les individus et les variables supplémentaires. Enfin, nous allons démontrer comment filtrer les résultats de l’ACM afin de ne conserver que les variables les plus contributives. Contents:  Calcul o Packages R o Format des données o Résumé des données o code R  Visualisation et interprétation o Valeurs propres / Variances o Biplot o Graphique des variables o Graphique des individus o Colorer les individus par groupes o Description des dimensions  Eléments supplémentaires o Définition et types o Spécification dans l’ACM o Résultats o Graphique  Filtrer des résultats  Exportation des résultats o Exporter les graphiques en PDF / PNG o Exporter les résultats vers les fichiers txt / csv  Résumé  Autres lectures  References 2 Calcul Packages R Plusieurs fonctions, de différents packages, sont disponibles dans le logiciel R pour le calcul de l’ACM:  MCA() [package FactoMineR]  dudi.mca() [package ade4]  epMCA() [package ExPosition] Peu importe la fonction que vous décidez d’utiliser, vous pouvez facilement extraire et visualiser les résultats de l’ACM en utilisant les fonctions R fournies dans le package factoextra . Ici, nous utiliserons les deux packages FactoMineR (pour l’analyse) et factoextra (pour la visualisation basée sur ggplot2). Installez les deux packages comme suit: install.packages(c("FactoMineR", "factoextra")) Chargez-les dans R, en tapant ceci: library("FactoMineR") library("factoextra") Format des données Nous utiliserons le jeux de données poison disponible dans le package FactoMineR: data(poison) head(poison[, 1:7], 3) ## Age Time Sick Sex Nausea Vomiting Abdominals ## 1 9 22 Sick_y F Nausea_y Vomit_n Abdo_y ## 2 5 0 Sick_n F Nausea_n Vomit_n Abdo_n ## 3 6 16 Sick_y F Nausea_n Vomit_y Abdo_y Ces données proviennent d’une enquête menée auprès d’enfants de l’école primaire qui ont subi des intoxications alimentaires. Ils ont été interrogés sur leurs symptômes et sur ce qu’ils ont mangé. Les données contiennent 55 lignes (individus) et 15 colonnes (variables). Nous n’utiliserons que certain des individus (enfants) et variables pour effectuer l’ACM. Les coordonnées des individus et des variables restantes seront prédites. Nos données contiennent donc des:  Individus actifs (lignes 1:55): individus qui sont utilisés dans l’ACM.  Variables actives (colonnes 5:15): variables utilisées dans l’ACM.  Variables supplémentaires: elles ne participent pas à l’ACM. Les coordonnées de ces variables seront prédites. o Variables quantitatives supplémentaires (quanti.sup): Colonnes 1 et 2 correspondant aux colonnes age et time, respectivement. o Variables qualitatives supplémentaires (quali.sup: Colonnes 3 et 4 correspondant aux colonnes Sick et Sex, respectivement. Ces variables seront utilisées pour colorer les individus par groupes. Nous commençons par extraire les individus actifs et les variables actives pour l’ACM: 3 poison.active <- poison[1:55, 5:15] head(poison.active[, 1:6], 3) ## Nausea Vomiting Abdominals Fever Diarrhae Potato ## 1 Nausea_y Vomit_n Abdo_y Fever_y Diarrhea_y Potato_y ## 2 Nausea_n Vomit_n Abdo_n Fever_n Diarrhea_n Potato_y ## 3 Nausea_n Vomit_y Abdo_y Fever_y Diarrhea_y Potato_y Résumé des données La fonction summary() peut être utilisée pour calculer la fréquence des catégories des variables. Comme le tableau de données contient un grand nombre de variables, nous afficherons uniquement les résultats pour les 4 premières variables. Résumés statistiques: # Résumé des 4 premières variables summary(poison.active)[, 1:4] ## Nausea Vomiting Abdominals Fever ## Nausea_n:43 Vomit_n:33 Abdo_n:18 Fever_n:20 ## Nausea_y:12 Vomit_y:22 Abdo_y:37 Fever_y:35 La fonctions summary() renvoient la taille des catégories des variables. Il est également possible de visualiser la fréquence des catégories des variables. Le code R ci- dessous, montre les 4 premières colonnes: for (i in 1:4) { plot(poison.active[,i], main = colnames(poison.active)[i], ylab = "Count", col="steelblue", las = 2) } Les graphiques ci-dessus peuvent être utilisés pour identifier les catégories à très faible fréquence. Ce type de variables peut fausser l’analyse et doit être supprimé. code R La fonction MCA() [FactoMineR] peut être utilisée. Un format simplifié est: MCA(X, ncp = 5, graphique = TRUE)  X: tableau de données avec n lignes (individus) et p colonnes (variables catégorielles)  ncp: nombre de dimensions conservées dans les résultats finaux.  graph: valeur logique. Si TRUE le graphique est affiché. Dans le code R ci-dessous, l’ACM est effectuée uniquement sur les individus / variables actifs: 4 res.mca <- MCA (poison.active, graph = FALSE) Le résultat de l’ACM est une liste comprenant: print(res.mca) ## **Results of the Multiple Correspondence Analysis (MCA)** ## The analysis was performed on 55 individuals, described by 11 variables ## *The results are available in the following objects: ## ## name description ## 1 "$eig" "eigenvalues" ## 2 "$var" "results for the variables" ## 3 "$var$coord" "coord. of the categories" ## 4 "$var$cos2" "cos2 for the categories" ## 5 "$var$contrib" "contributions of the categories" ## 6 "$var$v.test" "v-test for the categories" ## 7 "$ind" "results for the individuals" ## 8 "$ind$coord" "coord. for the individuals" ## 9 "$ind$cos2" "cos2 for the individuals" ## 10 "$ind$contrib" "contributions of the individuals" ## 11 "$call" "intermediate results" ## 12 "$call$marge.col" "weights of columns" ## 13 "$call$marge.li" "weights of rows" L’objet créé avec la fonction MCA() contient de nombreuses informations trouvées dans de nombreuses listes et matrices différentes. Ces valeurs sont décrites dans la section suivante. Visualisation et interprétation Nous utiliserons le package R factoextra pour aider à l’interprétation et à la visualisation de l’analyse des correspondances multiples. Peu importe la fonction que vous décidez d’utiliser [FactoMiner::MCA(), ade4::dudi.mca()], vous pouvez facilement extraire et visualiser les résultats de l’ACM en utilisant les fonctions R fournies dans le package factoextra. Ces fonctions de factoextra incluent:  get_eigenvalue(res.mca): Extraction des valeurs propres / variances des composantes principales  fviz_eig(res.mca): Visualisation des valeurs propres  get_mca_ind(res.mca), get_mca_var(res.mca): Extraction des résultats pour les individus et les variables, respectivement.  fviz_mca_ind(res.mca), fviz_mca_var(res.mca): visualisation des résultats des individus et des variables, respectivement.  fviz_mca_biplot(res.mca): Création d’un biplot des individus et des variables. Dans les sections suivantes, nous allons illustrer chacune de ces fonctions. Notez que les résultats de l’ACM sont interprétés comme les résultats de l’AFC. Par conséquent, il est fortement recommandé de lire l’interprétation de l’AFC au chapitre (???)(analyse-factorielle- des-correspondances). Valeurs propres / Variances La proportion des variances retenues par les différentes dimensions (axes) peut être extraite à l’aide de la fonction get_eigenvalue() [factoextra package] comme suit: library("factoextra") eig.val <- get_eigenvalue(res.mca) 5 # head(eig.val) Pour visualiser les pourcentages de variances expliquées par chaque dimension de l’ACM, utilisez la fonction fviz_eig() ou fviz_screeplot() [package factoextra]: fviz_screeplot (res.mca, addlabels = TRUE, ylim = c (0, 45)) Biplot La fonction fviz_mca_biplot() [factoextra] permet de visualiser le biplot des individus et des variables: fviz_mca_biplot (res.mca, repel = TRUE, ggtheme = theme_minimal()) Dans le graphique ci-dessus, les lignes (individus) sont représentées par des points bleus et des colonnes (variables) par des triangles rouges. La distance entre les individus donne une mesure de leur similitude (ou dissemblance). Les individus avec un profil similaire sont proches sur le graphique. Il en va de même pour les variables. Graphique des variables Résultats 6 La fonction get_mca_var() [factoextra] sert à extraire les résultats pour les catégories des variables. Cette fonction renvoie une liste contenant les coordonnées, les cos2 et les contributions des catégories: var <- get_mca_var(res.mca) var ## Multiple Correspondence Analysis Results for variables ## =================================================== ## Name Description ## 1 "$coord" "Coordinates for categories" ## 2 "$cos2" "Cos2 for categories" ## 3 "$contrib" "contributions of categories" Les composants de get_mca_var() peuvent être utilisés dans le graphique des variables comme suit:  var$coord: coordonnées des variables pour créer un nuage de points  var$cos2: qualité de représentation des variables.  var$contrib: contributions (en pourcentage) des variables à la définition des dimensions. Notez qu’il est possible de visualiser les catégories des variables et de les colorer en fonction de soit leurs qualités de représentation (cosinus carré, cos2), soit de leurs contributions à la définition des dimensions (contrib). Les différents composants peuvent être consultés comme suit: # Coordonnées head(var$coord) # Cos2: qualité de représentation head(var$cos2) # Contributions aux axes head(var$contrib) Dans cette section, nous décrirons comment visualiser uniquement les catégories des variables. Ensuite, nous mettrons en évidence les catégories en fonction soit de leurs qualités de représentation, soit de leurs contributions uploads/Management/acm-avec-r.pdf

  • 24
  • 0
  • 0
Afficher les détails des licences
Licence et utilisation
Gratuit pour un usage personnel Attribution requise
Partager
  • Détails
  • Publié le Mai 28, 2022
  • Catégorie Management
  • Langue French
  • Taille du fichier 1.3858MB