Introduction Exemple Données manquantes Module graphique Aides diverses L’analyse de données avec Quelle évolution en 10 ans ? François Husson Laboratoire de mathématiques appliquées, Agrocampus Rennes juin 2016 1 / 37 Introduction Exemple Données manquantes Module graphique Aides diverses Plan 1 Introduction 2 Exemple 3 Données manquantes 4 Module graphique 5 Aides diverses 2 / 37 Introduction Exemple Données manquantes Module graphique Aides diverses Historique du package • • • • • 2003 : quelques programmes en S (Splus) : ACP et AFM avr 2006 : package FactoMineR (PCA, CA, MCA, MFA, etc.) avr 2007 : article sur FactoMineR (Journal of Statistical Software) avr 2007 : site internet nov 2007 : package RcmdrPlugin.FactoMineR (menu déroulant) 2 / 37 Introduction Exemple Données manquantes Module graphique Aides diverses en quelques mots Le package • propose des méthodes d’analyses factorielles et de classification • de nombreux indicateurs (qualité de représentation, contribution, description automatique des axes, ...) • possibilité d’ajouter des éléments supplémentaires • interface graphique (en français et en anglais) • gestion des données manquantes (avec le package missMDA) • module graphique • aides à l’utilisateur (site internet, vidéos, livres) 3 / 37 Introduction Exemple Données manquantes Module graphique Aides diverses en quelques mots Différentes méthodes pour différents formats de données : Données Variables quantitatives Table de contingence Variables qualitatives Données mixtes Groupes de variables An. An. An. An. An. Méthodes en composantes principales des correspondances des correspondances multiples factorielle de données mixtes factorielle multiple Fonction PCA CA MCA FAMD MFA Méthodes de classification et méthodes outils complémentaires : Méthodes Classification ascendante hiérarchique Description d’une variable qualitative (ex. var. de classe) Description d’une variable quantitative (ex. d’une dimension) Construction d’un tableau de données textuel Fonction HCPC catdes condes, dimdesc textual 4 / 37 Introduction Exemple Données manquantes Module graphique Aides diverses en quelques mots Quelques méthodes avancées pour différents formats de données : Données Hiérarchie sur les variables Groupes d’individus Tableau de contingence et variables contextuelles Tableaux de contingence Méthodes An. factorielle multiple hiérarchique An. factorielle multiple duale An. des correspondances généralisée sur tableaux lexicaux agrégés An. factorielle multiple sur tableaux de contingence Fonction HMFA DMFA CaGalt MFA 5 / 37 Introduction Exemple Données manquantes Module graphique Aides diverses Plan 1 Introduction 2 Exemple 3 Données manquantes 4 Module graphique 5 Aides diverses 6 / 37 Introduction Exemple Données manquantes Module graphique Aides diverses Description sensorielle de vins de Loire • 10 vins blancs du Val de Loire : 5 Vouvray - 5 Sauvignon • descripteurs sensoriels : acidité, amertume, odeur agrume, etc. 6 / 37 Introduction Exemple Données manquantes Module graphique Aides diverses Description sensorielle de vins de Loire • 10 vins blancs du Val de Loire : 5 Vouvray - 5 Sauvignon Intensité visuel 3,5 3,3 3,0 3,9 3,4 7,9 3,5 3,0 3,9 3,8 5,9 6,8 6,1 5,6 6,6 4,4 6,4 5,7 5,4 5,1 4,1 3,8 4,1 2,5 5,0 3,0 5,0 4,0 4,0 4,3 1,4 2,3 2,4 3,0 3,1 2,4 4,0 2,5 3,1 4,3 7,1 7,2 6,1 4,9 6,1 5,9 6,3 6,7 7,0 7,3 6,7 6,6 6,1 5,1 5,1 5,6 6,7 6,3 6,1 6,6 5,0 3,4 3,0 4,1 3,6 4,0 6,0 6,4 7,4 6,3 Cépage Persistance arôme … … … … … … … … … … Intensité arôme 5,7 5,3 5,3 3,6 3,5 3,3 1,0 2,5 3,8 2,7 Astringence 2,4 3,1 4,0 2,4 3,1 0,7 0,7 0,5 0,8 0,9 Amertume 4,3 4,4 5,1 4,3 5,6 3,9 2,1 5,1 5,1 4,1 Acidité O. citron … Sucré O. passion S Michaud S Renaudie S Trotignon S Buisse Domaine S Buisse Cristal V Aub Silex V Aub Marigny V Font Domaine V Font Brûlés V Font Coteaux O. fruité • descripteurs sensoriels : acidité, amertume, odeur agrume, etc. Sauvignon Sauvignon Sauvignon Sauvignon Sauvignon Vouvray Vouvray Vouvray Vouvray Vouvray 6 / 37 Introduction Exemple Données manquantes Module graphique Aides diverses Description sensorielle de vins : comparaison de jurys Exemple données • 10 vins blancs du Vald’AFM de Loire :: les 5 Vouvray - 5 Sauvignon • description Les données : un sensorielle panel d’experts panel :étudiant + 1 panel conso + de +31jurys œnologue, conso., étudiant données d’appréciation + 1 variable qualitative (cépage) • notes hédoniques de 60 consommateurs : appréciation globale Groupes de variables quantitatives Qlt Expert (27) Conso (15) Etudiant (15) Appréciation (60) Cépage (1) Vin 1 Vin 2 … Vin 10 > resAFM <- MFA(don.comp, group=c(27,15,15,60,1), • type=c(rep("s",4),"n"), num.group.sup=c(4:5), name.group=c("Expert","Conso","Etudiant","Appréciation","Cépage")) Quelle description commune des vins (par ttes les variables) ? • Y-a t’il des spécificités par jury ? • Comparer Marseille - 2010les typologies de chaque jurys (analyses séparées) 7 / 37 Introduction Exemple Données manquantes Module graphique Aides diverses Graphe des individus S Trotignon S Renaudie S Michaud • Les deux cépages 1 Sauvignon Vouvray Sauvignon V Aub Marigny 0 V Font Coteaux S Buisse Domaine V Font Domaine V Font Brûlés -2 -1 sont bien séparés • Les Vouvray sont plus différents du point de vue sensoriel Vouvray • Plusieurs groupes de V Aub Silex vins, ... -3 Dim 2 (24.42 %) S Buisse Cristal -2 -1 0 1 2 3 Dim 1 (42.52 %) 8 / 37 Introduction Exemple Données manquantes Module graphique Aides diverses 1.0 Représentation des variables Expert Etudiant Conso O.Av.Intensite_E Int.attaque Int.av.agitation Expression acide Int.ap.agitation O.Av.Intensite_C O.Fruitpassion_E O.Ap.Intensite_E O.Ap.Intensite_C O.florale O.Fruitpassion_C O.Vegetale_C Astringent_E O.agrume amere Amere_C Persistance.aromatique Equilibre_E Astringent_C Persistance.gustative O.vegetale Acide_E Finesse G.Intensite_C Acide_C O.Champignon_E G.Alcool_C O.fruit Amere_E O.Typicite_E G.Alcool_E G.Intensite_E ● O.alcool G.Typicite_E O.boisee Equilibre_C O.Champignon_CO.vanille Astringence G.Typicite_C O.Typicite_C Int.couleur 0.0 −0.5 Fraicheur Nuance.couleur Impression.surface O.champ O.fruit.confit Oxydation Sucree_C Sucree_E sucree O.Vegetale_E −1.0 Dim 2 (24.42%) 0.5 O.passion −1.0 −0.5 O.Alcool_C Typicite.olf.chenin O.Alcool_E 0.0 Dim 1 (42.52%) 0.5 1.0 9 / 37 Introduction Exemple Données manquantes Module graphique Aides diverses 1.0 Représentation des variables Expert Etudiant Conso Acide O.Fruitpassion_E O.Fruitpassion_C Acide_E −0.5 0.0 Acide_C ● Sucree_C Sucree_E Sucree −1.0 Dim 2 (24.42%) 0.5 O.passion −1.0 −0.5 0.0 0.5 1.0 Dim 1 (42.52%) 9 / 37 Introduction Exemple Données manquantes Module graphique Aides diverses Etude des groupes ⇒ Comparaison synthétique des groupes 1.0 ⇒ Les positions des observations sont-elles similaires d’un groupe à l’autre ? Les nuages de points partiels sont-ils similaires ? 0.8 • 1ère dimension commune à 0.6 tous les groupes Préférence • 2ème dimension due au 0.4 Etudiant groupe Expert Cépage 0.2 Conso 0.0 Dim 2 (24.42%) Expert quand ils induisent la même structure ● 0.0 • 2 groupes sont proches 0.2 0.4 0.6 0.8 1.0 Dim 1 (42.52%) 10 / 37 Introduction Exemple Données manquantes Module graphique Aides diverses 3 Représentation des points partiels Expert Etudiant Conso ● ● 2 ● S Trotignon ● S Renaudie ● ● ● 1 S Michaud ● ● ● ● ● S Buisse● Cristal ● V Font Coteaux ● ● V Aub Marigny ● ● ● ● 0 ● ● ● ● ● S Buisse Domaine ● ● ● ● ● V Font Domaine ● −1 Dim 2 (24.42%) ● V Font Brûlés ● ●● ● −2 ● ● ● ● −3 V Aub Silex ● −2 0 2 4 Dim 1 (42.52%) • point partiel = représentation d’un individu vu par un groupe • un individu est au barycentre de ses points partiels • un individu est "homogène" si ses points partiels sont proches 11 / 37 Introduction Exemple Données manquantes Module graphique Aides diverses Représentation de variables supplémentaires 1.0 Expert Etudiant Conso Acide O.passion Acide_E 0.0 Acide_C −0.5 ● Sucree_C 0.0 Sucree_E −1.0 Sucree -0.5 Dim 2 (24.42 %) 0.5 1.0 Dim 2 (24.42%) 0.5 O.Fruitpassion_E O.Fruitpassion_C −1.0 −0.5 0.0 0.5 1.0 Dim 1 (42.52%) S Trotignon S Renaudie S Michaud 1 -1.0 Sauvignon Vouvray Sauvignon 1.0 ⇒ Les préférences sont liées à la description sensorielle V Aub Marigny S Buisse Cristal 0 V Font Coteaux S Buisse Domaine Vouvray V Font Domaine V Font Brûlés -1 0.5 -2 0.0 Dim 1 (42.52 %) V Aub Silex -3 -0.5 Dim 2 (24.42 %) -1.0 -2 -1 0 1 Dim 1 (42.52 %) 2 3 12 / 37 Introduction Exemple Données manquantes Module graphique Aides diverses Représentation de variables supplémentaires 1.0 Expert Etudiant Conso Acide O.passion Acide_E 0.0 Acide_C ● −0.5 Dim 2 (24.42%) 0.5 O.Fruitpassion_E O.Fruitpassion_C Sucree_C Sucree_E −1.0 Sucree −1.0 −0.5 0.0 0.5 1.0 Dim 1 (42.52%) S Trotignon S Renaudie S Michaud 1 Sauvignon Vouvray Sauvignon V Aub Marigny 0 V Font Coteaux S Buisse Domaine Vouvray -2 -1 V Font Domaine V Font Brûlés V Aub Silex -3 Vin préféré : Vouvray Aubuisières Silex Dim 2 (24.42 %) S Buisse Cristal -2 -1 0 1 Dim 1 (42.52 %) 2 3 12 / 37 Introduction Exemple Données manquantes Module graphique Aides diverses Plan 1 Introduction 2 Exemple 3 Données manquantes 4 Module graphique 5 Aides diverses 13 / 37 Introduction Exemple Données manquantes Module graphique Aides diverses Gestion des données manquantes avec missMDA Variables j 1 1 p ? ? ? ? ? ? Etude et mise en œuvre des méthodes factorielles en présence de données manquantes : ACP, ACM, AFDM, AFM ? ? ? ? Individus ? i ? ? ? ? ? n ? ? ? ? 1 Imputation par analyse factorielle itérative 2 Analyse du tableau complété 13 / 37 Introduction Exemple Données manquantes Module graphique Aides diverses ACP Itérative Principe : imputer par des valeurs qui n’influent pas sur les résultats de l’ACP 1 2 initialisation ` = 0 : X 0 (imputation par la moyenne) itération ` : (a) ACP sur le tableau complété → (F ` , U ` ) ; S dimensions conservées (b) données manquantes imputées par F ` U `0 =⇒ X ` = W ∗ X + (1 − W ) ∗ F ` U `0 (c) moyennes (et écarts-types) sont mis à jour 3 étapes d’estimation et d’imputation sont répétées =⇒ fournit les axes et composantes principales (mieux que Nipals) =⇒ fournit une imputation du jeu de données 14 / 37 Introduction Exemple Données manquantes Module graphique Aides diverses Gestion des données manquantes : exemple en ACP > > > > > library(missMDA) data(orange) nb <- estim_ncpPCA(orange,ncp.max=5) ## Estime le nb de dimensions comp <- imputePCA(orange,ncp=nb,scale=TRUE) ## Complète le tableau res.pca <- PCA(comp$completeObs) ## Effectue l’ACP > orange Sweet Acid Bitter Pulp Typicity NA NA 2.83 NA 5.21 5.46 4.13 3.54 4.62 4.46 NA 4.29 3.17 6.25 5.17 4.17 6.75 NA 1.42 3.42 ... NA NA NA 7.33 5.25 4.88 5.29 4.17 1.50 3.50 > comp$completeObs Sweet Acid Bitter Pulp Typicity 5.54 4.13 2.83 5.89 5.21 5.46 4.13 3.54 4.62 4.46 5.45 4.29 3.17 6.25 5.17 4.17 6.75 4.73 1.42 3.42 ... 5.71 3.87 2.80 7.33 5.25 4.88 5.29 4.17 1.50 3.50 15 / 37 Introduction Exemple Données manquantes Module graphique Aides diverses Imputation multiple en ACP ⇒ ACP itérative : une méthode d’imputation simple (F̂ Û ′ )ik ⇒ Une valeur unique ne peut pas refléter la variabilité de prédiction ⇒ Imputation multiple : générer plusieurs valeurs plausibles pour chaque valeur manquantes 16 / 37 Introduction Exemple Données manquantes Module graphique Aides diverses Visualisation de l’incertitude liée aux données manquantes > > > > library(missMDA) mi <- MIPCA(orange, scale = TRUE, ncp=2) mi$res.MI ## sortie pour les tableaux imputés plot(mi) 1.0 Variable representation Supplementary projection ● 1 3● ● ● 2 ● 6 ● 0 ● 10 12 4 ● ● 9 7 −2 8 Color.intensity Bitter ● Attack.intensity Acid Sweet ● −0.5 ● Typicity 0.0 Dim 2 (17.17%) 0.5 4 2 5 11 ● ● −1.0 −4 Dim 2 (17.17%) Odor.intensity Pulp −6 −4 −2 0 2 Dim 1 (71.33%) 4 6 −1.5 −1.0 −0.5 0.0 0.5 1.0 1.5 Dim 1 (71.33%) Permet d’éviter d’analyser des tableaux avec trop de données manquantes 17 / 37 Introduction Exemple Données manquantes Module graphique Aides diverses Gestion des données manquantes : exemple en ACM > > > > > library(missMDA) data(vnf) nb <- estim_ncpMCA(vnf,ncp.max=5) ## Estime le nb de dimensions imp <- imputeMCA(vnf, ncp=nb) ## Complète le tableau disjonctif res <- MCA(vnf,tab.disj=imp$tab.disj) ## ACM utilisant tab disj complété ind 1 ind 2 ind 3 ind 4 ind 5 ind 6 ind 7 … ind 1232 V1 a NA a a b c c … c V2 NA f e e f f f … f V3 … V14 g … u g u h v h v h u h u v NA … … h v V1_a V1_b V1_c V2_e V2_f V3_g V3_h 0.71 0.29 ind 1 1 0 0 1 0 ind 2 0 1 1 0 0.12 0.29 0.59 ind 3 1 0 0 1 0 0 1 ind 4 1 0 0 1 0 0 1 ind 5 0 1 0 0 1 0 1 ind 6 0 0 1 0 1 0 1 ind 7 0 0 1 0 1 0.37 0.63 … … … … … … … … ind 1232 0 0 1 0 1 0 1 … … … … … … … … … … =⇒ Même principe avec FAMD et MFA 18 / 37 Introduction Exemple Données manquantes Module graphique Aides diverses Traitement d’un questionnaire avec données manquantes • 1232 répondants, 14 questions, 35 modalités, 9% de données manquantes pour 42% des répondants Missing single: subjects 2 Q5.NA Q6.NA Q4.NA 0 −1 Q7.NA Q1.NA Q3.NA 1 ●● ● Dim 2 (8.618%) 1 0 −1 Q13.NA Q10.NA Q8.NA Q11.NA Q9.NA Q12.NAQ14.NA Q6_2 Q5_2 Q4_2 Q3_3 Q1_3 Q1_2 Q2_2 Q3_2 Q2_3 Q7_2 Q14_3 Q14_1 Q13_3 Q3_1 Q13_1 Q7_1 Q8_2 Q1_1 Q6_1 Q13_2 Q14_2 Q8_1 Q4_1 Q9_1 Q5_1 Q9_2 Q2_1 ● Q9_3 Q10_2 Q11_2 Q12_2 Q11_1 Q12_1 Q10_1 Q12_3 Q2.NA ● ● ● ● ● ● ● ● ● ●● ● ● ● ● ● ● ● ● ● ● ● ●● ●●● ● ● ● ● ● ●● ● ● ●● ● ● ● ● ● ● ● ● ● ● ● ●● ● ● ● ● ● ● ● ● ● ● ● ● ●● ● ● ● ● ● ● ● ●● ● ● ● ● ● ● ● ● ● ● ●● ● ● ● ● ● ● ● ● ● ● ● ● ● ●● ● ● ●●● ● ● ● ● ● ● ● ● ● ● ● ●● ● ●● ● ● ● ●● ● ● ●● ● ● ● ● ●● ● ● ● ● ●● ● ● ● ● ● ● ● ● ● ● ● ● ●● ● ● ● ● ● ● ● ● ● ● ● ● ● ● ● ● ● ● ● ● ● ● ● ● ● ● ●● ● ● ● ●● ● ● ● ● ● ● ● ● ● ● ●● ● ● ● ● ● ● ● ● ● ● ●● ● ● ● ● ● ● ● ● ● ● ● ● ● ● ● ● ● ● ● ● ● ● ●● ● ● ● ● ●● ● ● ● ● ● ● ● ● ● ●● ● ● ● ● ● ●● ● ● ● ● ● ● ● ● ● ● ● ● ● ● ● ●● ● ● ● ● ● ●●●● ● ● ● ● ● ● ● ● ●● ●● ● ● ●● ●● ●● ● ● ● ● ● ● ● ● ● ● ● ● ● ● ● ●● ● ●● ● ● ● ● ● ●● ● ● ● ● ● ● ● ● ● ● ● ●● ● ●● ● −3 −3 −2 −2 Dim 2 (8.618%) 2 3 3 Missing single: categories 0 1 2 3 4 5 6 0 1 2 3 4 5 Dim 1 (11.74%) Regularized iterative MCA: categories Regularized iterative MCA: subjects 1.5 Dim 1 (11.74%) −1.0 −0.5 0.0 0.5 1.0 0.0 Dim 2 (11.21%) −1.0 −0.5 1.0 0.0 0.5 Q2.2 Q1.2 Q11.1 Q12.1 Q8.1 Q9.1 Q13.1 Q10.1 Q7.1 Q3.2 Q14.1 Q9.2Q13.3 Q12.2 Q2.1 Q3.1 Q14.2 Q1.1 Q13.2 ● Q14.3 Q3.3 Q7.2 Q6.1 Q10.2 Q4.1Q2.3 Q5.1 Q8.2 Q1.3 Q11.2 Q12.3 Q9.3 −0.5 Dim 2 (11.21%) Q5.2 Q4.2 0.5 1.0 1.5 Q6.2 1.5 ●●● ● ● ●●● ● ● ● ● ●● ● ● ● ●● ●●● ●● ● ● ● ●● ● ●● ●● ● ●● ● ● ●●● ●●● ● ● ●● ● ●●● ● ● ● ● ● ●● ●● ●● ● ● ● ●● ●●● ● ● ● ● ●●● ● ●● ● ● ● ●● ● ● ● ●● ●● ●●● ●● ●● ● ● ● ●● ● ●●● ● ● ● ●●● ●● ● ●● ● ●● ● ● ● ●●●●● ● ●●● ● ● ●● ●●●● ● ● ● ● ● ● ● ●●● ● ● ● ● ● ● ● ●●● ● ●● ● ● ●● ● ●● ● ●● ● ● ●● ● ●● ● ● ●● ●● ● ● ●● ● ●● ● ●● ● ● ●● ●● ● ●●● ● ● ●● ● ● ● ● ● ● ● ● ● ● ● ● ● ● ● ● ● ● ● ●●●●●● ●● ●●●● ● ● ●● ●●●● ● ● ●● ●● ●● ● ● ●● ● ● ●● ●● ● ● ●● ●●● ● ●● ●● ● ●● ● ● ●● ● ●● ● ● ●● ●● ● ● ●●● ● ● ●● ●●●● ● ● ● ●● ●● ● ● ● ● ● ● ● ● ● ● ● ● ● ● ● ● ● ● ● ● ● ● ● ●● ●●● ●● ● ● ●● ●● ● ●● ● ● ● ● ●● ● ● ●● ●●●●● ● ● ● ● ● ● ●●●● ●● ●● ● ● ● ●●● ● ● ● ●●● ● ●● ●● ● ● ● ● ● ● ●● ● ● ●● ● ● ●● ● ● ● ● ● ● ● ● ● ● ● ● ● ● ● ● ●●●● ● ● ● ● ● ● ● ● ● ● ● ● ● ● ● ● ●●● ● ● ● ●●●● ● ● ● ●●● ● ● ● ● ●●● ● ●● ● ● ● ● ● ● ● ● ● ● ● ● ● ● ● ● ● ● ● ● ● ● ● ● ● ● ● ● ●● ● ●● ●● ●● ● ● ● ● ● ● ● ● ● ● ● ● ● ● ●● ●● ● ● ●● ● ● ● ●● ● ● ● ● ● ● ● ● ●● ● ● ● ● ● ● ● ●●● ● ● ● ● ● ● ●●●● ● ●● ● ● ● ●● ● ● ● ● ● ● ● ● ●● ● ● ● ● ● ● ● ●●●● ● ● ● ● ● ● ● ●●● ● ● ● ●● ● ● ● ● ● ● ●● ● ●●● ● ●● ● ● ● ●● ● ● ● ● ● ● ●● ● ●● ● ● ●● ●● ● ● ● ● ● ● ● ● ●● ● ●● ● ●● ● ● ● ● ● ●● ●● ●●●● ● ●● ● ● ● ●●●● ●●●● ● ●● ● ●●●● ● ●● ● ● ●● ● ● ● ● ● ●● ● ●● ● ● ● ● ● ●●● ● ● ● ●● ●● ● ● ● ● ● ● ●● ● ● ● ● ● ● ●●●● ● ● ● ● ●● ● ● ● ●● ●●● ●● ●● ● ●● ● ●●●● ● ●●●●●● ● ● ● ● ● ● ●● ●●● ● ● ● ●● ●●● ●● ●●● ● ●●●● ● ●●●● ● ●● ●●● ●●● ● ● ●● ● ●●●● ● ● ● ● ● ● ● ● ●● ●● ● ●● ●● ● ● ●●●● ●● ● ●●●● ●● ●●●● ● ● ● ●● ● ●● ● ●● ●● ● ● ●● ● ●● ● ● ● ● ●● ●●●● ● ●● ● ● ●● ● ● ● −1.0 −0.5 0.0 0.5 1.0 ● 1.5 19 / 37 Introduction Exemple Données manquantes Module graphique Aides diverses Plan 1 Introduction 2 Exemple 3 Données manquantes 4 Module graphique 5 Aides diverses 20 / 37 Introduction Exemple Données manquantes Module graphique Aides diverses Graphe des individus : AVANT > plot(res.pca, autoLab="no") Avant 4 Casarsa ● YURKOV Parkhomenko Korkizoglou ● −2 0 Zsivoczky Smith Macey ● ● ● SEBRLE Pogorelov MARTINEAU ● ● CLAY Terek HERNU KARPOV Turi Barras ● ● ● ● ● McMULLEN ● BOURGUIGNONUldal ● ● OlympicG ● ● Decastar Schoenbeck Bernard Karlivans ● BARRAS Qi ●● ● ● ● Hernu Ojaniemi● BERNARD ● Smirnov ● ZSIVOCZKY Gomez ● ● Schwarzl ● Nool Averyanov ● Lorenzo WARNERS ●● ● Warners ● NOOL ● Sebrle ● Clay ● Karpov ● ● Drews ● −4 Dim 2 (17.37%) 2 ●● −6 −4 −2 0 2 4 6 Dim 1 (32.72%) 20 / 37 Introduction Exemple Données manquantes Module graphique Aides diverses Graphe des individus : APRES > plot(res.pca, autoLab="auto") ## "yes" si nb éléments <50 sinon "no" 4 Après Casarsa ● −2 0 Zsivoczky●Smith ● Pogorelov ● ● SEBRLE ● Macey MARTINEAU● Terek ● ● KARPOV ●HERNU Barras CLAY ● ● Turi ● Uldal ● ● McMULLEN ● BOURGUIGNON Schoenbeck●● ● OlympicG Decastar ● Bernard ● ● BARRAS Karlivans Hernu Qi ● ● Ojaniemi BERNARD ● Smirnov● ● ZSIVOCZKY ● Gomez ●Schwarzl ● Nool ●●● Averyanov ● Lorenzo WARNERS ● Warners NOOL ● ● Sebrle Clay ● Karpov ● Drews −4 Dim 2 (17.37%) 2 YURKOV ● ●● KorkizoglouParkhomenko −6 −4 −2 0 2 4 6 Dim 1 (32.72%) 20 / 37 Introduction Exemple Données manquantes Module graphique Aides diverses Module graphique • Concerne toutes les fonctions graphiques plot.PCA, plot.MCA, plot.CA, plot.FAMD, plot.MFA • La fonction autoLab positionne les libellés de façon optimale • placement des libellés sur l’extérieur du graphique • calcul du taux de recouvrement des libellés • algorithme itératif minimisant le taux de recouvrement • Quelques astuces complémentaires : • sélectionner des éléments • réduire la taille des caractères (cex = 0.7) • agrandir la fenêtre graphique • mettre une ombre sous les libellés • relancer la fonction =⇒ graphe légèrement différent 21 / 37 Introduction Exemple Données manquantes Module graphique Aides diverses Sélection des individus par leur qualité de représentation > plot(res.pca, habillage="Competition", select="cos2 0.6") Decastar OlympicG Casarsa Casarsa● Parkhomenko Parkhomenko ● ● Sebrle Sebrle Clay Clay ● BOURGUIGNON BOURGUIGNON ● 0 Decastar Decastar OlympicG OlympicG ● Karpov Karpov ● ● −2 Lorenzo Lorenzo ● NOOL NOOL ● Warners Warners ● Drews Drews −4 Dim 2 (17.37%) 2 4 Individuals factor map (PCA) −6 −4 −2 0 2 4 6 Dim 1 (32.72%) 22 / 37 Introduction Exemple Données manquantes Module graphique Aides diverses Sélection des modalités par leur qualité de représentation MCA factor map > plot(res.mca, invisible="ind", selectMod="cos2 8") 2 tea tea shop shop unpackaged unpackaged 1 0 tearoom tearoom chain store+tea store+tea shop shop chain M +2/day Not.friendliness M Not.friendliness +2/day ● Not.tearoom Not.tearoom friendliness friendliness 1/day 1/day FF 15−24 student 15−24 student tea chain store store tea bag bag chain −1 Dim 2 (8.10%) p_upscale p_upscale −1 0 1 2 Dim 1 (9.88%) 22 / 37 Introduction Exemple Données manquantes Module graphique Aides diverses Sélection des éléments par leur contribution MCA factor map > plot(res.mca,select="contrib 10",selectMod="contrib 10",shadow=TRUE) 2 tea tea shop shop unpackaged unpackaged 0 1 190 195 195●182 190 202 ● ●202 ●168 182 168 ● 227 211 ●208 227● ●●211 208 31 31 Not.friends Not.friends ● tearoom tearoom chain store+tea store+tea shop shop chain tea tea bag+unpackaged bag+unpackaged ● 273 273 chain chain store store tea tea bag bag resto resto −1 Dim 2 (8.10%) p_upscale p_upscale −1 0 1 2 Dim 1 (9.88%) 22 / 37 Introduction Exemple Données manquantes Module graphique Aides diverses Sélection des éléments par une liste > liste <- c("V Aub Silex","S Trotignon","V Aub Marigny") > plot(res, partial="all", select=liste, title="Graphe des individus") Graphe des individus 3 Expert Etudiant Conso 2 ● S Trotignon ● ● ● V Aub Marigny ●● 0 ● −2 −1 ● ● ● −3 Dim 2 (24.42%) 1 ● V Aub Silex ● ● −2 0 2 4 Dim 1 (42.52%) 22 / 37 Introduction Exemple Données manquantes Module graphique Aides diverses Sélection des variables par leur contribution > plot(res,choix="var", select="contrib 8", unselect=0, shadow=TRUE) 1.0 Correlation circle Expert Etudiant Conso Amere_C Amere_C ● G.Typicite_E G.Typicite_E −0.5 0.0 Equilibre_E Equilibre_E Sucree_C Sucree_C Sucree_E Sucree_E O.Alcool_E O.Alcool_C O.Alcool_C O.Alcool_E −1.0 Dim 2 (24.42%) 0.5 O.Fruitpassion_E O.Fruitpassion_E −1.5 −1.0 −0.5 0.0 Dim 1 (42.52%) 0.5 1.0 1.5 22 / 37 Introduction Exemple Données manquantes Module graphique Aides diverses Module graphique • Principaux arguments : autoLab = "auto" ## position optimale des libellés si nb éléments <50 shadowtext = TRUE ## ombre sous le libellé invisible=c("ind","ind.sup") ## rend invisibles certains éléments • Sélection des éléments par : select = 1:4 select = c("i1","i3") select = "cos2 5" select = "cos2 0.6" select = "coord 3" selectMod = "contrib 8" unselect = 0.5 unselect = 0 unselect = 1 unselect = "grey30" ## ## ## ## ## ## ## ## ## ## 4 premiers indiv liste d’indiv 5 indiv les mieux représentés indiv avec cos2 > 0.6 3 indiv avec coordonnées les + grandes 8 modalités avec contributions les + grandes transparence des éléments non sélectionnés éléments non sélectionnés de même couleur éléments non sélectionnés non dessinés éléments non sélectionnés en gris 23 / 37 Introduction Exemple Données manquantes Module graphique Aides diverses Graphiques interactifs avec le package Factoshiny • Permettre à l’utilisateur de réaliser des analyses statistiques sans besoin de maîtriser le code • Visualisation en temps réel des modifications apportées • Optimisation du visuel des graphiques avant exportation • Tous les résultats directement disponibles dans un seul objet 24 / 37 Introduction Exemple Données manquantes Module graphique Aides diverses Graphiques interactifs avec le package Factoshiny Un seul paramètre en entrée : • Un jeu de données : réalise directement l’analyse factorielle sur les données > library(Factoshiny) > data(hobbies) > res <- MCAshiny(hobbies) • Un objet résultat de FactoMineR > data(children) > res.ca <- CA(children, row.sup = 15:18, col.sup=6:8, graph=FALSE) > res <- CAshiny(res.ca) • Un objet résultat de Factoshiny > data(decathlon) > res <- PCAshiny(decathlon) > res2 <- HCPCshiny(res) 25 / 37 Introduction Exemple Données manquantes Module graphique Aides diverses Graphiques interactifs avec le package Factoshiny Une fois l’application lancée, possibilité de modifier : • Paramètres de la fonction d’analyse factorielle • choix de variables supplémentaires • choix d’individus supplémentaires • normer ou non les variables • Paramètres graphiques : • choix des dimensions • taille de police • coloriage par variable qualitative • sélection par qualité de représentation, contribution, liste • etc. (cf. paramètres graphiques des fonctions plot.PCA, plot.MCA, etc.) • Paramètres de téléchargement • graphes exportables en png, pdf, jpeg 26 / 37 Introduction Exemple Données manquantes Module graphique Aides diverses Graphiques interactifs avec le package Factoshiny En sortie, plusieurs onglets disponibles : • graphes : graphes par défaut des fonctions PCA, CA, etc. • valeurs : résume les principaux résultats (cf. summary.PCA, summary.CA, etc.) • description automatique des axes : résultats de dimdesc • résumé du jeu de données : cf. fonction summary de R • données : affichage du jeu de données =⇒ Toutes ces sorties s’adaptent aux choix de l’utilisateur 27 / 37 Introduction Exemple Données manquantes Module graphique Aides diverses De nouveaux packages graphiques Graphe des individus • le package explor • graphes interactifs • possibilité de bouger les libellés Casarsa ● YURKOV Parkhomenko Korkizoglou ● ● ● 2 Sebrle Dim2 (17.4%) • le package factoextra • basé sur ggplot2 • construction séquentielle des graphes en ajoutant des couches 4 Zsivoczky Smith ● Macey ● ● SEBRLE Pogorelov ● ● CLAY MARTINEAU Terek HERNU KARPOV ● ● Turi ● ● ● Barras ● ● McMULLEN BOURGUIGNON Uldal ● ● ● Schoenbeck Bernard 0 ● ● Karlivans BARRAS Qi ● ● ● contrib Clay 50 ● 40 Karpov ● Lorenzo ● ● Warners ● NOOL −2 20 10 ● Hernu Ojaniemi● BERNARD ● ● Smirnov ZSIVOCZKY ● Gomez ● ● Schwarzl ● Nool Averyanov ●● WARNERS 30 ● Drews ● −2.5 > library(factoextra) > fviz_pca_ind(res.pca, col.ind="contrib") + labs(title="Graphe des individus") + scale_color_gradient2(mid="blue",high="red") + theme_minimal() 0.0 2.5 5.0 Dim1 (32.7%) 28 / 37 Introduction Exemple Données manquantes Module graphique Aides diverses Plan 1 Introduction 2 Exemple 3 Données manquantes 4 Module graphique 5 Aides diverses 29 / 37 Introduction Exemple Données manquantes Module graphique Aides diverses Aides à l’utilisateur : un menu déroulant Le package RcmdrPlugin.FactoMineR 29 / 37 Introduction Exemple Données manquantes Module graphique Aides diverses Aides à l’utilisateur : site internet • http://factominer.free.fr • en anglais et en français • exemples, aides sur les fonctions, références, etc. 30 / 37 Introduction Exemple Données manquantes Module graphique Aides diverses Aides à l’utilisateur : un Google group • https://groups.google.com/group/factominer-users/ • possibilité de poser des questions et/ou répondre • en français ou en anglais 31 / 37 Introduction Exemple Données manquantes Module graphique Aides diverses Aides à l’utilisateur : des vidéos • page enseignement de François Husson • disponible dans les aides de FactoMineR 32 / 37 Introduction Exemple Données manquantes Module graphique Aides diverses Aides à l’utilisateur : diffusion • 2 articles dans J. of stat. software (FactoMineR, missMDA) • 2 articles dans R journal (CA-galt, MFACT) • Des livres : Analyse de données avec R (2e ed) Statistique avec R (3e ed) 33 / 37 Introduction Exemple Données manquantes Module graphique Aides diverses Aides à l’utilisateur : chaîne Youtube • https://www.youtube.com/HussonFrancois • playlists en français (27 vidéos de cours & 18 vidéos logiciel) • playlist en anglais (11 vidéos) 34 / 37 Introduction Exemple Données manquantes Module graphique Aides diverses Aides à l’utilisateur : un MOOC • https://www.fun-mooc.fr/ • 2 sessions (2015 = 5000, 2016 = 4550 participants) • 5 semaines de cours : ACP, AFC, ACM, CAH, AFM 35 / 37 Introduction Exemple Données manquantes Module graphique Aides diverses Un projet en analyse des données missMDA : données manquantes RcmdrPlugin.FactoMineR: menu déroulant Factoshiny : graphes interactifs 36 / 37 Introduction Exemple Données manquantes Module graphique Aides diverses D’un package à un projet sur l’analyse de données • • • • • • • • • • • • • • • • • • • 2003 : quelques programmes en S (Splus) : ACP, AFM avr 2006 : package FactoMineR (PCA, CA, MCA, MFA, etc.) avr 2007 : article sur FactoMineR (Journal of Statistical Software) avr 2007 : site internet nov 2007 : package RcmdrPlugin.FactoMineR (menu déroulant) juin 2009 & fév 2016 : Analyse de données avec R mai 2010 : package missMDA (gestion des données manquantes) jan 2011 : Exploratory Multivariate Analysis by Example Using R avr 2011 : tutoriels vidéos sep 2011 : Google group nov 2012 : Análisis de datos con R mar 2013 : chaîne Youtube (vidéos de cours et didacticiel) juin 2013 : article sur MFACT (R Journal) fév 2014 : cours en ligne d’analyse de données (en local) fév 2015 : package Factoshiny (graphes interactifs) mar 2015 & 2016 : MOOC d’analyse de données (FUN) juin 2015 : article sur CA-Galt (R Journal) avr 2016 : article sur missMDA (Journal of Statistical Software) packages factoextra et explor (graphes interactifs) 37 / 37 Introduction Exemple Données manquantes Module graphique Aides diverses D’un package à un projet sur l’analyse de données • • • • • • • • • • • • • • • • • • • 2003 : quelques programmes en S (Splus) : ACP, AFM avr 2006 : package FactoMineR (PCA, CA, MCA, MFA, etc.) avr 2007 : article sur FactoMineR (Journal of Statistical Software) avr 2007 : site internet nov 2007 : package RcmdrPlugin.FactoMineR (menu déroulant) juin 2009 & fév 2016 : Analyse de données avec R mai 2010 : package missMDA (gestion des données manquantes) jan 2011 : Exploratory Multivariate Analysis by Example Using R avr 2011 : tutoriels vidéos sep 2011 : Google group nov 2012 : Análisis de datos con R mar 2013 : chaîne Youtube (vidéos de cours et didacticiel) juin 2013 : article sur MFACT (R Journal) fév 2014 : cours en ligne d’analyse de données (en local) fév 2015 : package Factoshiny (graphes interactifs) mar 2015 & 2016 : MOOC d’analyse de données (FUN) juin 2015 : article sur CA-Galt (R Journal) avr 2016 : article sur missMDA (Journal of Statistical Software) packages factoextra et explor (graphes interactifs) 37 / 37