Multiple correspondance analysis, a comparison between R and SAS
Transcription
Multiple correspondance analysis, a comparison between R and SAS
Université de CAEN 1 17 septembre 2012 M2-MASS Marketing quantitatif ACM types de pommiers Sommaire 1.1 1.2 1.3 1.4 1.5 Description . . . . . . . . . . . . . . . . . . . . . . . ACM . . . . . . . . . . . . . . . . . . . . . . . . . . . Réalisation de l’ACM avec SAS . . . . . . . . . . . Réalisation de l’ACM avec R . . . . . . . . . . . . Comparaison et signification des résultats SAS/R 1.5.1 Décompositions de l’inertie . . . . . . . . . . . . . 1.5.2 Coordonnées des projections . . . . . . . . . . . . 1.5.3 Qualité d’approximation . . . . . . . . . . . . . . . 1.6 Résultats obtenus avec SAS . . . . . . . . . . . . . 1.7 Résultats obtenus avec R . . . . . . . . . . . . . . . 1.1 . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 1 . 2 . 4 . 9 . 13 . 13 . 14 . 14 . 16 . 20 Description Cette étude provient d’un cours fait par les professeurs Carlier et Besse de l’université de Toulouse à l’INRA (http://www.math.univ-toulouse.fr/~besse/). On veut étudier si il existe des différences entre 57 différentes espèces de pommiers. On recueille donc pour chaque espèce 9 attributs de type qualitatifs décrivant au mieux l’espèce : forme de l’arbre, fruit,... Les variables qualitatives sont : nom arb rec cal coul pour type form ferm gout # 4 3 3 3 4 3 3 3 3 label forme de l’arbre date récolte calibre du fruit couleur fruit coloration type coloration forme du fruit fermeté du fruit sucre/acidité modalités 1=spur, 2=demi spur 3=étalé, 4=très étalé 1=précoce, 2=intermédiaire, 3=tardif 1=moyen, 2= gros, 3=très gros 1=jaune ou vert,2=rouge-orangé, 3=rouge,4=violacé 1=0-25%, 2=25-50%, 3=50-75%,4=75-100% 1=lavé, 2=lavé-strié, 3=strié 1=allongé, 2=intermédiaire, 3=aplati 1=peu ferme, 2=moyen, 3=très ferme 1=doux, 2=équilibré, 3=acidulé Table 1 – Catalogue des variables Les espèces de pommiers sont modifiées avec les conventions suivantes spur mut mutation de la forme de l’arbre mutation affectant la couleur du fruit Le fichier http://www.math.unicaen.fr/~kauffman/data/besse/pommes.txt contient les données au format txt codées en entier. Le fichier binaire http://www.math.unicaen.fr/~kauffman/data/besse/pommes.Rdata contient une sauvegarde de la table définitive X. Granny-spur Granny-stand. Boskoop-mut. Boskoop-stand. Gala-red Gala arb 1 4 3 2 2 3 rec 3 3 3 3 2 2 cal 2 2 3 3 1 1 coul 1 1 4 4 3 3 pour 1 1 4 3 3 2 type 1 1 1 1 3 3 form 2 2 1 1 2 2 ferm 3 3 2 2 2 2 gout 3 3 2 2 1 1 Table 2 – Premières lignes de la table pommes.txt http://www.math.unicaen.fr/~kauffman/cours 1 [email protected] Université de CAEN Granny-spur Granny-stand. Boskoop-mut. Boskoop-stand. Gala-red Gala 17 septembre 2012 arb spur très étalé étalé demi spur demi spur étalé rec tardif tardif tardif tardif intermédiaire intermédiaire cal gros gros tres gros tres gros moyen moyen coul jaune-vert jaune-vert violace violace rouge rouge pour (0 25] (0 25] (75 100] (50 75] (50 75] (25 50] M2-MASS Marketing quantitatif type lave lave lave lave strie strie form intermedaire intermedaire allonge allonge intermedaire intermedaire ferm tres ferme tres ferme moyen moyen moyen moyen gout acidule acidule equlibre equlibre doux doux Table 3 – Premières lignes de la table pommes.Rdata 1.2 ACM Dans cette partie, on va analyse les différentes étapes et calculs d’une analyse des correspondances multiples 1. Lire la table DATA="http://www.math.unicaen.fr/~kauffman/data/" con=url(paste(DATA,"besse/pommes.Rdata",sep="")) (load(con)) close(con) 2. La première étape consiste à calculer le nombre de lignes et de colonnes du tableau disjonctif complet Z. as.indicatrice= function(cl) { n <- length(cl) cl <- as.factor(cl) x <- matrix(0, n, length(levels(cl))) x[(1:n) + n * (unclass(cl) - 1)] <- 1 dimnames(x) <- list(names(cl), levels(cl)) x } n<-nrow(X) p<-ncol(X) Z<-as.matrix(data.frame(lapply(X,as.indicatrice))) # 57x30 1 2 3 4 5 6 7 arb.spur 1 0 0 0 0 0 0 arb.demi.spur 0 0 0 1 1 0 0 arb.étalé 0 0 1 0 0 1 1 arb.très.étalé 0 1 0 0 0 0 0 rec.précoce 0 0 0 0 0 0 1 rec.intermédiaire 0 0 0 0 1 1 0 rec.tardif 1 1 1 1 0 0 0 Table 4 – Extrait de la table des indicatrices 3. On calcule la métriques de l’espace de l’espace des lignes M et celle des l’espace des colonnes D. Ce métriques sont diagonales et pondèrent les lignes et les colonnes et sont de somme 1. La pondération de chaque ligne (espace des colonnes) est uniforme. La pondération de chaque colonne caractérisant la modalité m (espace des lignes) est proportionelle au nombre d’indvididus vérifiant cette modalité m. cw=as.numeric(rep(1, n) %*% Z)/(n*p) # poids des lignes lw=rep(1/n,n) # poids des colonnes D=diag(lw) # metrique espace des colonnes M=diag(cw) # metrique espace des lignes 4. On centre les lignes et les colonnes de Z en faisant des moyennes pondérées par M, D. tab=1/(p)*Z%*%solve(M)-1 # centrage ligne et colonne dimnames(tab)=dimnames(Z) Z=tab norm(Z%*%cw) # norme de la moyenne pondérée des colonnes norm(lw%*%Z) # norme de la moyenne pondérée des lignes http://www.math.unicaen.fr/~kauffman/cours 2 [email protected] Université de CAEN 1 2 3 4 5 6 7 arb.spur 13.25 -1.00 -1.00 -1.00 -1.00 -1.00 -1.00 17 septembre 2012 arb.demi.spur -1.00 -1.00 -1.00 4.70 4.70 -1.00 -1.00 arb.étalé -1.00 -1.00 0.68 -1.00 -1.00 0.68 0.68 arb.très.étalé -1.00 5.33 -1.00 -1.00 -1.00 -1.00 -1.00 rec.précoce -1.00 -1.00 -1.00 -1.00 -1.00 -1.00 3.38 M2-MASS Marketing quantitatif rec.intermédiaire -1.00 -1.00 -1.00 -1.00 1.11 1.11 -1.00 rec.tardif 2.35 2.35 2.35 2.35 -1.00 -1.00 -1.00 Table 5 – Extrait de la table centrée 5. On calcule alors la décomposition en valeurs singulières généralisées de (Z, M, D) svdg = function(X,M,D) { # sqrt( ne marche pas sur des matrices) # racine carree de M tmp<-eigen(M,symmetric=TRUE) Msqrt<-tmp$vectors %*% diag(sqrt(tmp$values)) %*% t(tmp$vectors) # racine carree de D tmp<-eigen(D,symmetric=TRUE) Dsqrt<-tmp$vectors %*% diag(sqrt(tmp$values)) %*% t(tmp$vectors) # svd #print("svd1");cat(dim(Dsqrt),dim(X),dim(Msqrt)) tmp<-svd( Dsqrt %*% X %*% Msqrt ) # svd generalisee U<-solve(Dsqrt) %*% tmp$u V<-solve(Msqrt) %*% tmp$v Lambda<-diag(tmp$d) # verifications #max(abs(X-U%*%Lambda%*%t(V))) #t(U)%*%D%*%U #t(V)%*%M%*%V # 0 # Id # Id # valeur dimnames(U)<-list(dimnames(X)[[1]],paste("Fact",1:dim(U)[2],sep="")) dimnames(V)<-list(dimnames(X)[[2]],paste("Prin",1:dim(V)[2],sep="")) dimnames(Lambda)<-list(dimnames(U)[[2]],dimnames(V)[[2]]) list(U=U,Lambda=Lambda,V=V) } tmp<-svdg(Z,M,D) eig=diag(tmp$Lambda)^2 # valeurs propres=carrés des vs On obtient une base orthonormée de l’espace des colonnes U 1 , · · · , U 30 ,une base orthonormée V 1 , · · · V 30 de l’espace des lignes et la matrice dont la diagonale sont les valeurs singulières. 6. On choisit alors le nombre de valeurs singulières retenues k = 4 par exemple, on calcule alors les coordonnées dites factorielles des projections orthogonales des lignes sur le sous espace principale des lignes dans la base orthonormée V 1 , · · · V k et les coordonnées dites factorielles des projections orthogonales des colonnes sur le sous espace principal dans la base orthonormée U 1 , · · · , U k . k=4 li<-tmp$U[,1:k]%*%tmp$Lambda[1:k,1:k] # coordonnées^t lignes dans (V1,...,VK) co<-tmp$V[,1:k]%*%tmp$Lambda[1:k,1:k] # coordonnées^t colonnes dans (U1,...UK) http://www.math.unicaen.fr/~kauffman/cours 3 [email protected] Université de CAEN 17 septembre 2012 M2-MASS Marketing quantitatif dimnames(li)<-list(dimnames(X)[[1]],dimnames(tmp$V)[[2]][1:k]) dimnames(co)<-list(dimnames(Z)[[2]],dimnames(tmp$U)[[2]][1:k]) Granny-spur Granny-stand. Boskoop-mut. Boskoop-stand. Gala-red Gala Fact1 2.47 2.39 0.74 0.33 -0.91 -0.93 Fact2 -1.57 -0.90 0.79 0.75 0.44 -0.17 Fact3 -0.97 -1.47 1.32 1.39 0.47 0.10 Fact4 -0.30 0.14 0.35 0.60 -1.14 -1.68 Table 6 – Vecteurs principaux de l’espace des colonnes U arb.spur arb.demi spur arb.étalé arb.très.étalé rec.précoce rec.intermédiaire Prin1 2.55 -0.65 -0.67 2.14 -1.49 -0.42 Prin2 -1.72 -0.02 -0.13 1.28 0.47 -0.69 Prin3 1.41 2.05 -0.56 -0.78 -1.20 1.11 Prin4 -1.26 0.96 -0.26 0.48 0.25 -0.63 Table 7 – Vecteurs principaux de l’espace des lignes V Granny-spur Granny-stand. Boskoop-mut. Boskoop-stand. Gala-red Gala Prin1 1.39 1.35 0.42 0.19 -0.51 -0.53 Prin2 -0.79 -0.45 0.39 0.38 0.22 -0.09 Prin3 -0.48 -0.72 0.65 0.68 0.23 0.05 Prin4 -0.13 0.06 0.16 0.26 -0.50 -0.74 Table 8 – Coordonnées de la projection des lignes sur le sev principal arb.spur arb.demi.spur arb.étalé arb.très.étalé rec.précoce rec.intermédiaire Fact1 1.44 -0.37 -0.38 1.21 -0.84 -0.24 Fact2 -0.86 -0.01 -0.07 0.64 0.23 -0.35 Fact3 0.69 1.01 -0.28 -0.38 -0.59 0.55 Fact4 -0.55 0.43 -0.12 0.21 0.11 -0.28 Table 9 – Coordonnées de la projection des colonnes sur le sev principal 1.3 Réalisation de l’ACM avec SAS 1. Créer alors la table pommes correspondant au fichier http://www.math.unicaen.fr/~kauffman/data/besse/pommes.txt. filename macros url 'http://www.math.unicaen.fr/~kauffman/cours/sas/macros.sas'; %include macros; filename data proc format; value arb value rec value cal value coul value pour url 'http://www.math.unicaen.fr/~kauffman/data/besse/pommes.txt'; 1=spur 2=1/2spur 3=etale 4=tres etale; 1=hatif 2=intermediaire 3=tardif; 1=moyen 2=gros 3=tres gros; 1=jaune ou vert 2=rouge orange 3=rouge 4=violace; 1=0 25 2=25 50 3=50 75 4=75 100; http://www.math.unicaen.fr/~kauffman/cours 4 [email protected] Université de CAEN value value value value run; type form ferm gout 17 septembre 2012 M2-MASS Marketing quantitatif 1=lave 2=lave strie 3=strie; 1=allonge 2=intermedaire 3=aplati; 1=peu ferme 2=moyen 3=tres ferme; 1=doux 2=equilibre 3=acidule; Data pommes; infile data firstobs=2; input Nom :$18. arb rec cal coul pour type form ferm gout ; format arb arb. rec rec. cal cal. coul coul. pour pour. type type. form form. ferm ferm. gout gout.; run; /*$*/ 2. Faire une représentation graphique de chaque variable sous forme de camembert indiquant les proportions pour chacune des modalités à l’aide de la procédure gchart. Puis réunir tous ces graphiques dans une unique figure. FREQUENCY of form FREQUENCY of coul rouge orange 10 FREQUENCY of arb allonge 19 1/2spur 10 jaune ou vert 13 spur 4 etale 34 aplati 8 violace 10 tres etale 9 intermedaire 30 rouge 24 FREQUENCY of gout FREQUENCY of type FREQUENCY of cal moyen 30 lave 32 doux 10 equilibre 32 tres gros 12 strie 15 lave strie 10 gros 15 acidule 15 FREQUENCY of pour FREQUENCY of rec FREQUENCY of ferm 25 50 13 moyen 38 hatif 13 0 25 7 intermediaire 27 peu ferme 3 50 75 20 75 100 17 tardif 17 tres ferme 16 Figure 1 – Tri à plat Proc Datasets library=work;delete graph_tmp/ memtype=catalog;run; axis1 label=none value=(a=0 h=2) order=(0 10 20 30 40) minor=none; Proc Gchart data=pommes gout=graph_tmp; pie arb rec cal coul pour type form ferm gout /DISCRETE ; run; quit; proc goptions reset=all; %SPLIT(nrow=3,ncol=3); proc greplay igout=graph_tmp gout=graphique nofs tc=template template=H3x3; title1 'Histogrammes modalites'; treplay http://www.math.unicaen.fr/~kauffman/cours 5 [email protected] Université de CAEN 17 septembre 2012 M2-MASS Marketing quantitatif 1:'Gchart1' 2:'Gchart2' 3:'Gchart3' 4:'Gchart4' 5:'Gchart5' 6:'Gchart6' 7:'Gchart7' 8:'Gchart8' 9:'Gchart' ; run; 3. Dans cette question, on fait une analyse en correspondance multiple et on trace les projections orthogonale des lignes ou des vecteurs colonnes sur leur sous espace principal associé. Figure 2 – Projections lignes http://www.math.unicaen.fr/~kauffman/cours 6 [email protected] Université de CAEN 17 septembre 2012 M2-MASS Marketing quantitatif Figure 3 – Projections colonnes Proc corresp data=pommes /* table de données ind X var*/ outc=C /* table des coordonnées */ binary; tables arb rec cal coul pour type form ferm gout; run; /* PROJECTION COLONNES DANS LE PLAN 1x2 */ title1 "Plan principal 1x2 espace colonne"; %plotit(data=C(where=(_TYPE_='VAR')), plotvars=dim2 dim1, labelvar=_name_, gout=graphique, gname='col_1x2', options=square); /* PROJECTION LIGNES DANS LE PLAN 1x2 */ data C; merge C(where=(_TYPE_='OBS')) pommes(keep=NOM); run; title1 "Plan principal ligne 1x2 de l'ACM "; %plotit(data=C, plotvars=dim2 dim1, labelvar=nom, gout=graphique, gname='lig_1x2', http://www.math.unicaen.fr/~kauffman/cours 7 [email protected] Université de CAEN 17 septembre 2012 M2-MASS Marketing quantitatif options=square); 4. Dans cette question on construit la tableau disjonctif complet. ods output Binary=Z; /* recupération tableau des indicatrices */ Proc corresp data=pommes observed short binary; tables arb rec cal coul pour type form ferm gout; /*id nom;*/ run; ods output close; Data Z; merge pommes(keep= Nom) Z; run; 5. L’analyse des correspondances sur le tableau des indicatrices avec l’option profile=row permet d’obtenir les coordonnées (isométriques) des lignes. L’instruction var doit être utilisée à la place de tables, les variables sont numériques. Faire alors un biplot isométrique individu. Analyser les représentations graphiques. Figure 4 – Biplot isométrique lignes Proc Corresp data=Z outc=graphe dimens=5 noprint profile=row; var _1_2spur--equilibre; id nom; run; http://www.math.unicaen.fr/~kauffman/cours 8 [email protected] Université de CAEN 17 septembre 2012 M2-MASS Marketing quantitatif title1 "Plan 1x2 de l'AFC: biplot isometrique ligne"; %plotit(data=graphe, plotvars=dim2 dim1, labelvar=nom, datatype=corresp, gout=graphique, gname='blig_1x2', method=gplot, options=square); 6. Faire de même afin d’optenir un biplot isométrique colonnes. Figure 5 – Biplot isométrique lignes Proc Corresp data=Z outc=graphe profile=column dimens=5; var _1_2spur--equilibre; /* var avec Indicatrice noms des variables */ id nom; /* nom des individus */ run; title "Plan 1x2 de l'AFC: biplot isometrique colonne"; %plotit(data=graphe, plotvars=dim2 dim1, labelvar=nom, datatype=corresp, gout=graphique, gname='bcol_1x2', options=square); 1.4 Réalisation de l’ACM avec R 1. Charger la librairie ade4 [?] et définir votre signature. http://www.math.unicaen.fr/~kauffman/cours 9 [email protected] Université de CAEN 17 septembre 2012 > signature [1] "Pommes/ jeudi 06 octobre 2011 M2-MASS Marketing quantitatif 09:13:50 CEST /FK" 2. Charger le fichier http://www.math.unicaen.fr/~kauffman/data/pommes.RData DATA="http://www.math.unicaen.fr/~kauffman/data/" con=url(paste(DATA,"besse/pommes.Rdata",sep="")) (load(con)) close(con) 3. Réaliser une analyse univariée de chacune des variables arb rec cal moyen spur précoce colonnaire intermédiaire étalé très étalé tres gros gros tardif pour coul type (25 50] rouge−orange lave jaune−vert (0 25] (50 75] violace rouge (75 100] form strie lave strie gout ferm allonge moyen doux peu ferme intermedaire equlibre aplati acidule tres ferme Figure 6 – Tri à plat 4. Dans cette question on réalise une analyse des correspondances multiples sur le tableau X. (a) Faire l’acm à l’aide de la fonction ade4::dudi.acm. mca1=dudi.acm(X,nf=10,scannf=F) (b) Construire l’éboulis des valeurs propres et discuter le nombre d’axes retenus. barplot(mca1[['eig']],main="eboulis des valeurs propres") http://www.math.unicaen.fr/~kauffman/cours 10 [email protected] Université de CAEN 17 septembre 2012 M2-MASS Marketing quantitatif 0.00 0.05 0.10 0.15 0.20 0.25 0.30 eboulis des valeurs propres Figure 7 – Eboulis des valeurs propres (c) Construire un biplot isométrique ligne en projetant sur le premier plan principal. scatter.dudi(mca1,method=1,posieig="bottom",sub="biplot isometrique individu 1x2") d = 0.5 Stayman−Winesap Rome−Beauty Melrose coul.violace Hilrome coul.rouge.orange pour..75.100. Rubin cal.tres.gros Braeburn gout.doux pour..50.75. Fuji−mut. Melrose−mut. Fiesta arb.très.étalé Hyb3 Hanners Boskoop−mut. Averdal Jonagored Boskoop−stand. ferm.tres.ferme Sansa rec.tardif Gloster Erovan StarKrimson Pink−lady New−Jonagold Jerseymac Fuji Hyb1 Gloster−Spur form.intermedaire cal.gros gout.acidule type.lave form.allonge Hyb2 type.lave.strie Rubi Gala−red Arlet type.strie Dalili coul.rouge rec.précoce R.−des−Reinettes Belrene Delgollune Elista Rubinette Akane form.aplati Jonagold Elstar arb.demi.spur Cadel arb.étalé Vista−Bella ferm.moyen Gala gout.equlibre Delcorf cal.moyen rec.intermédiaire Ota Sinta Granny−stand. Baujade Generos pour..25.50. Ginger−Gold arb.spur Merano Granny−spur Eigenvalues Chantecler Delblush Quemoni Canada−blanc Golden−972 ferm.peu.ferme GoldenspurHyb4 coul.jaune.vert pour..0.25. biplot isometrique individu 1x2 Figure 8 – Biplot isométrique ligne (d) Calculer les participations à l’inertie des colonnes et des lignes. inertie=inertia.dudi(mca1,row.inertia=TRUE,col.inertia=TRUE) (e) Tracer le cercles des corrélations G.co=t(as.matrix(mca1$tab))%*%diag(mca1$lw)%*%as.matrix(mca1$tab) normes.co=sqrt(diag(G.co)) s.corcircle(mca1$co/normes.co) #$TeX http://www.math.unicaen.fr/~kauffman/cours 11 [email protected] Université de CAEN 17 septembre 2012 M2-MASS Marketing quantitatif pour..75.100. ferm.tres.ferme arb.très.étalé rec.tardif coul.violace cal.tres.gros coul.rouge.orange gout.doux pour..50.75. coul.rouge type.lave.strie type.strie rec.précoce form.intermedaire form.aplati arb.demi.spur cal.gros gout.acidule form.allonge arb.étalé ferm.moyen gout.equlibre arb.spur type.lave cal.moyen ferm.peu.ferme rec.intermédiaire pour..25.50. pour..0.25. coul.jaune.vert Figure 9 – Cercle des corrélations (f) Tracer sur le plan principal des individus la part d’inertie expliquée par ce plan pour chacune des lignes. s.value(mca1$li[,1:2],inertie$row.cum[,2],sub="cos2 avec le plan") cos2 avec le plan 1000 3000 d = 0.5 5000 7000 Figure 10 – Inertie expliquee par plan 1-2 (g) On veut voir si il existe un lien entre la variable gout et les autres variables. Que proposez vous ? mca=dudi.acm(X[,1:8],scannf=F,nf=5) # postscript(file="ps/R-gout-1x2.eps",onefile=TRUE,horizontal=TRUE) s.label(mca$li,xax=1,yax=2) title(main="projection des lignes sur le plan principal",sub=signature,cex.sub=0.25,cex.main=0.5) s.class(mca$li,fac=X$gout,xax=1,yax=2,col=c('green','blue','red')) # $codage http://www.math.unicaen.fr/~kauffman/cours 12 [email protected] Université de CAEN 17 septembre 2012 M2-MASS Marketing quantitatif d = 0.5 projection des lignes sur le plan principal Rome−Beauty Melrose Stayman−Winesap Hilrome Braeburn Rubin Fiesta Melrose−mut. Hyb3 Hyb2 Fuji−mut. Boskoop−mut. Boskoop−stand. Jonagored New−Jonagold Hanners Gloster Pink−lady Sansa Rubi Arlet Dalili Jerseymac R.−des−Reinettes Akane Fuji doux Elista Averdal Rubinette BelreneDelgollune Elstar Vista−Bella acidule Gala−red Jonagold equlibre Cadel Hyb1 Erovan Gloster−Spur StarKrimson Delcorf Granny−stand. Baujade Gala Sinta Ota Ginger−Gold Generos Granny−spur Chantecler Merano Canada−blanc Quemoni Delblush Golden−972 Hyb4 Goldenspur Pommes/ vendredi 07 octobre 2011 15:35:31 CEST /FK Figure 11 – gout sur plan 1-2 sans gout 1.5 1.5.1 Comparaison et signification des résultats SAS/R Décompositions de l’inertie 1. Les décompositions de l’inertie L’inertie du tableau (Z, M, D) est par définition Zk2M,D le carré de la norme de fröbénius de la matrice Z dans l’espace (Mn,p (R), M, D). Cette inertie se décompose de plusieurs manières kZk2M,D = i=p X = i=n X = j=p X σi2 j=1 Di,i kZi k2M i=1 Mj,j kZ j k2D j=1 2. Décomposition en somme des carrés des valeurs propres La première décomposition qui écrit l’inertie totale du nuage comme la somme du carré des valeurs singulières, permet de choisir un sous espace principal en ne retenant que les k premièrs valeurs singulières. Plusieurs critères peuvent être utilisés. Le plus simple est de choisir le sous espace principal qui explique au moins x% de l’inertie totale. Le critère dit ”règle du coude” détermine ce nombre visuellement en détectant un coude (ou variation brutale sur l’éboulis des valeurs singulières). De plus il faut jamais choisir k si σk ∼ σk+1 , la stabilité de votre projection en dépend. La representation graphique associée est appelée éboulis des valeurs propres. Valeur singulière Inertie principale Khi2 σk σk2 uniquement valide en AFC Pourcentage 100 P kσ2 = 100 kZk2k Pourcentage cumulé 100 σ2 k Pi=k 2 i=1 σk P 2 σk σ2 M,D Table 10 – Onglet décomposition de l’inertie et du Khi2 de SAS SAS Voir l’onglet Inertia and chi-Square decomposition. http://www.math.unicaen.fr/~kauffman/cours 13 [email protected] Université de CAEN R 17 septembre 2012 M2-MASS Marketing quantitatif inertie[['TOT']] 3. Décomposition en somme pondérée des normes aux carrés des lignes ou des colonnes La seconde décomposition exprime l’inertie totale comme la somme pondérée des normes au carré des lignes, tandis que la troisième décomposition est une somme pondérée des normes au carrés des colonnes. Les lignes ou les colonnes qui repésenteraient une part anormale de l’inertie sont des lignes ou des colonnes qui pourraient être abérantes, il faut vérifier les données correspondantes. Qualité Collectif cos2 (Zi , P roj(Zi )) Di,i = lwi Inertie lwi kZi k2M kZkM,D Table 11 – Onglet Statistiques descriptives pour les points lignes de SAS SAS Voir l’onglet Statistiques descriptives pour les points colonnes ou lignes. R G.co=t(as.matrix(mca1$tab))%*%diag(mca1$lw)%*%as.matrix(mca1$tab) normes.co=sqrt(diag(G.co)) cbind( qualite=inertie$col.cum[,2]/10000, # en pourcentage Collectif=mca1$cw, # pondération des colonnes inertie=(normes.co^2*mca1$cw)/sum(normes.co^2*mca1$cw) # pourcentage ) Quelles sont les différences entre R et SAS ? Calculer un majorant du rang de la matrice des indicatrices (penser au dll), en déduire qu’il y a au moins 8 valeurs singulières nulles (nombres de variables qualitatives moins une). 1.5.2 Coordonnées des projections Les projections orthogonales des vecteurs lignes ou colonnes sur les sous espaces principaux (deux premières valeurs singulières) P roj(Zi ) = lii,1 V 1 + lii,2 V 2 espace des lignes P roj(Z j ) = coj,1 U 1 + coj,2 U 2 espace des colonnes A l’aide des coordonnées des projections des colonnes sur le sous espace principal des colonnes, on peut tracer ces projections. Le tracé est dit isométrique colonne (en fait projection des colonnes). La distance euclidienne entre deux projections P roj(Z j1 ), P roj(Z j2 ) est kP roj(Z j1 ) − P roj(Z j2 kD est égale à la distance euclidienne canonique entre les deux points tracés sur la figure. 1. Coordonnées des projections des colonnes sur l’espace principal rapporté à la base orthonormée (U 1 , U 2 ) SAS Voir l’onglet Column results, Coordonnées. R mca1[['co']][,1:2] 2. Axes principaux de l’espace des colonnes U SAS Voir l’onglet Column results, Coordonnées. Proc corresp data=pommes binary row=DA COL=DB; tables arb rec cal coul pour type form ferm gout; run; R 1.5.3 mca1[['l1']][,1:2] # U1 U2 Qualité d’approximation Soient Z j une colonne de la matrice Z, alors Zj = i=2 X coj,i U i + ǫ i=1 http://www.math.unicaen.fr/~kauffman/cours 14 [email protected] Université de CAEN 17 septembre 2012 M2-MASS Marketing quantitatif Pj=2 j j 1 2 ou j=1 coj,i U est la projection orthogonale de Z sur le sous espace principal RU + RU et ǫ est un vecteur 1 2 orthogonal au sous espace principal. Comme U , U est une famille orthonormée et que ǫ ⊥ RU 1 + RU 2 on a kZ j k2D = j=2 X (coj,i )2 + kǫk2 i=1 Dans les logiciels on exprime cette égalité en normalisant par 10000 kZ j k2D On classe généralement les lignes et les colonnes par leur qualité d’approximation par le sous espace principal. Les points ayant la plus mauvaise qualité d’approximation seront à prendre avec précaution dans l’interprétation. Plusieurs représentations graphiques de la qualité d’approximation sont utilisées. La première est appelée cercle des corrélations (générallement dans l’espaces des colonnes). On trace dans le plan principal des colonnes rapporté à la base orthonormée (U 1 , U 2 ) les projections des vecteurs colonnes normés P roj(Z j /kZ j kD ). La norme du vecteur projeté est cos(Z j , P roj(Z j )), plus le vecteur est proche du cercle unité meilleur est la qualité d’approximation. Pour les vecteurs bien approximés par leurs projection dans l’espace principal, la géométrie des vecteurs projetés peut être utilisée pour interpréter les axes, interpréter les directions, par exemple des colonnes opposées. Une deuxième représentation graphique possible est le tracé de la qualité en fonction du point projeté. On trace en fonction P roj(Z j ) la valeur de cos2 (Z j , P roj(Z j )). 1. Qualité d’approximation des colonnes par le sous espace principal Dim1 Dim2 10000co2j,1 kZ j k2D 10000co2j,2 kZ j k2D = 10000cos2(Z j , U 1 ) = 10000cos2(Z j , U 2 ) Table 12 – Carré des cosinus pour les points lignes dans SAS SAS Voir l’onglet Column results, Carré des cosinus. R abs(inertie$col.rel/10000) # SAS inertie par axe abs(inertie$col.cum/10000) # inertie cumulee On parle aussi de décomposition en cosinus carré. Quel est la colonne la mieux approximée par le premier plan principal, la moins bien expliquée par le premier plan principal. 2. Qualité d’approximation des lignes par le sous espace principal De même on doit utiliser les lignes qui sont bien approximés par leurs projections dans l’espace principal des lignes. http://www.math.unicaen.fr/~kauffman/cours 15 [email protected] Université de CAEN 1.6 17 septembre 2012 M2-MASS Marketing quantitatif Résultats obtenus avec SAS Valeur singulière Inertie principale 0.56419 0.31830 0.50056 0.25056 0.49093 0.24101 0.44128 0.19473 0.41710 0.17397 0.38581 0.14885 0.37145 0.13797 0.36273 0.13157 0.32850 0.10791 0.31628 0.10003 0.29745 0.08848 0.28358 0.08042 0.26427 0.06984 0.25513 0.06509 0.22258 0.04954 0.20828 0.04338 0.20057 0.04023 0.19377 0.03755 0.17029 0.02900 0.11849 0.01404 0.10413 0.01084 Total 2.33333 Degrés de liberté = 1624 Décomposition de l’inertie et du Khi 2 Khi 2 Pourcentage Pourcent. cumulé 163.29 13.64 13.64 128.54 10.74 24.38 123.64 10.33 34.71 99.90 8.35 43.05 89.25 7.46 50.51 76.36 6.38 56.89 70.78 5.91 62.80 67.50 5.64 68.44 55.36 4.62 73.07 51.32 4.29 77.35 45.39 3.79 81.15 41.26 3.45 84.59 35.83 2.99 87.59 33.39 2.79 90.38 25.42 2.12 92.50 22.25 1.86 94.36 20.64 1.72 96.08 19.26 1.61 97.69 14.88 1.24 98.93 7.20 0.60 99.54 5.56 0.46 100.00 1197.00 100.00 3 6 9 12 15 —-+—-+—-+—-+—-+— *********************** ****************** ***************** ************** ************ *********** ********** ********* ******** ******* ****** ****** ***** ***** **** *** *** *** ** * * Table 14 – SAS : Décomposition de l’inertie en somme des carrés des valeurs singulières http://www.math.unicaen.fr/~kauffman/cours 16 [email protected] Université de CAEN 17 septembre 2012 M2-MASS Marketing quantitatif Statistiques descriptives pour les points des colonnes Qualité Collectif(ve) Inertie 1/2spur 0.0289 0.0195 0.0393 etale 0.2196 0.0663 0.0192 spur 0.2117 0.0078 0.0443 tres etale 0.3492 0.0175 0.0401 hatif 0.2248 0.0253 0.0368 intermediaire 0.1593 0.0526 0.0251 tardif 0.5015 0.0331 0.0334 gros 0.1211 0.0292 0.0351 moyen 0.2872 0.0585 0.0226 tres gros 0.1502 0.0234 0.0376 jaune ou vert 0.8385 0.0253 0.0368 rouge 0.1632 0.0468 0.0276 rouge orange 0.1374 0.0195 0.0393 violace 0.2348 0.0195 0.0393 0 25 0.6701 0.0136 0.0418 25 50 0.3029 0.0253 0.0368 50 75 0.3340 0.0390 0.0309 75 100 0.3428 0.0331 0.0334 lave 0.3294 0.0624 0.0209 lave strie 0.1756 0.0195 0.0393 strie 0.0817 0.0292 0.0351 allonge 0.0175 0.0370 0.0317 aplati 0.0543 0.0156 0.0409 intermedaire 0.0177 0.0585 0.0226 moyen 0.3418 0.0741 0.0159 peu ferme 0.1171 0.0058 0.0451 tres ferme 0.5032 0.0312 0.0343 acidule 0.1315 0.0292 0.0351 doux 0.0787 0.0195 0.0393 equlibre 0.1616 0.0624 0.0209 Table 16 – SAS : décomposition de l’inertie somme pondérée des normes au carrés des colonnes http://www.math.unicaen.fr/~kauffman/cours 17 [email protected] Université de CAEN 17 septembre 2012 M2-MASS Marketing quantitatif Coordonnées des colonnes Dim1 Dim2 1/2spur −0.3682 0.0081 etale −0.3798 0.0654 spur 1.4359 0.8617 tres etale 1.2058 −0.6391 hatif −0.8406 −0.2332 intermediaire −0.2376 0.3472 tardif 1.0202 −0.3730 gros 0.5822 0.0102 moyen −0.4393 0.2559 tres gros 0.3705 −0.6527 jaune ou vert 0.5119 1.6050 rouge −0.4058 −0.2443 rouge orange −0.3811 −0.7075 violace 0.6895 −0.7926 0 25 1.3646 1.7100 25 50 −0.6302 0.7925 50 75 −0.5715 −0.5398 75 100 0.5923 −0.6751 lave 0.4467 0.2403 lave strie −0.8203 −0.3905 strie −0.4061 −0.2523 allonge 0.0906 0.1638 aplati −0.5716 −0.0767 intermedaire 0.0950 −0.0833 moyen −0.4006 0.1023 peu ferme −0.3444 1.4105 tres ferme 1.0159 −0.5075 acidule 0.6021 0.0761 doux 0.1271 −0.5948 equlibre −0.3219 0.1502 Table 18 – SAS : Coordonnées de la projection des colonnes sur le sev principal dans la base (U 1 , U 2 ) http://www.math.unicaen.fr/~kauffman/cours 18 [email protected] Université de CAEN 17 septembre 2012 M2-MASS Marketing quantitatif Carré des cosinus pour les points des colonnes Dim1 Dim2 1/2spur 0.0288 0.0000 etale 0.2133 0.0063 spur 0.1556 0.0560 tres etale 0.2726 0.0766 hatif 0.2088 0.0161 intermediaire 0.0508 0.1085 tardif 0.4424 0.0591 gros 0.1210 0.0000 moyen 0.2144 0.0728 tres gros 0.0366 0.1136 jaune ou vert 0.0774 0.7611 rouge 0.1198 0.0434 rouge orange 0.0309 0.1065 violace 0.1012 0.1336 0 25 0.2607 0.4094 25 50 0.1174 0.1856 50 75 0.1765 0.1575 75 100 0.1491 0.1937 lave 0.2554 0.0739 lave strie 0.1432 0.0324 strie 0.0589 0.0227 allonge 0.0041 0.0134 aplati 0.0533 0.0010 intermedaire 0.0100 0.0077 moyen 0.3209 0.0209 peu ferme 0.0066 0.1105 tres ferme 0.4027 0.1005 acidule 0.1295 0.0021 doux 0.0034 0.0753 equlibre 0.1327 0.0289 Table 20 – SAS : Qualité d’approximation des colonnes http://www.math.unicaen.fr/~kauffman/cours 19 [email protected] Université de CAEN 1.7 17 septembre 2012 M2-MASS Marketing quantitatif Résultats obtenus avec R 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 inertia 0.32 0.25 0.24 0.19 0.17 0.15 0.14 0.13 0.11 0.10 0.09 0.08 0.07 0.07 0.05 0.04 0.04 0.04 0.03 0.01 0.01 cum 0.32 0.57 0.81 1.00 1.18 1.33 1.47 1.60 1.70 1.80 1.89 1.97 2.04 2.11 2.16 2.20 2.24 2.28 2.31 2.32 2.33 ratio 0.14 0.24 0.35 0.43 0.51 0.57 0.63 0.68 0.73 0.77 0.81 0.85 0.88 0.90 0.92 0.94 0.96 0.98 0.99 1.00 1.00 Table 21 – R : décomposition de l’inertie en somme des carrés des valeurs singulières http://www.math.unicaen.fr/~kauffman/cours 20 [email protected] Université de CAEN 17 septembre 2012 arb.spur arb.demi.spur arb.étalé arb.très.étalé rec.précoce rec.intermédiaire rec.tardif cal.moyen cal.gros cal.tres.gros coul.jaune.vert coul.rouge.orange coul.rouge coul.violace pour..0.25. pour..25.50. pour..50.75. pour..75.100. type.lave type.lave.strie type.strie form.allonge form.intermedaire form.aplati ferm.peu.ferme ferm.moyen ferm.tres.ferme gout.doux gout.equlibre gout.acidule qualite 0.2117 0.0289 0.2196 0.3492 0.2248 0.1593 0.5015 0.2872 0.1211 0.1502 0.8385 0.1374 0.1632 0.2348 0.6701 0.3029 0.3340 0.3428 0.3294 0.1756 0.0817 0.0175 0.0177 0.0543 0.1171 0.3418 0.5032 0.0787 0.1616 0.1315 Collectif 0.0078 0.0195 0.0663 0.0175 0.0253 0.0526 0.0331 0.0585 0.0292 0.0234 0.0253 0.0195 0.0468 0.0195 0.0136 0.0253 0.0390 0.0331 0.0624 0.0195 0.0292 0.0370 0.0585 0.0156 0.0058 0.0741 0.0312 0.0195 0.0624 0.0292 M2-MASS Marketing quantitatif inertie 0.0443 0.0393 0.0192 0.0401 0.0368 0.0251 0.0334 0.0226 0.0351 0.0376 0.0368 0.0393 0.0276 0.0393 0.0418 0.0368 0.0309 0.0334 0.0209 0.0393 0.0351 0.0317 0.0226 0.0409 0.0451 0.0159 0.0343 0.0393 0.0209 0.0351 Table 22 – R : décomposition de l’inertie en somme pondérée des normes carrées des colonnes http://www.math.unicaen.fr/~kauffman/cours 21 [email protected] Université de CAEN 17 septembre 2012 arb.spur arb.demi.spur arb.étalé arb.très.étalé rec.précoce rec.intermédiaire rec.tardif cal.moyen cal.gros cal.tres.gros coul.jaune.vert coul.rouge.orange coul.rouge coul.violace pour..0.25. pour..25.50. pour..50.75. pour..75.100. type.lave type.lave.strie type.strie form.allonge form.intermedaire form.aplati ferm.peu.ferme ferm.moyen ferm.tres.ferme gout.doux gout.equlibre gout.acidule Comp1 -1.4359 0.3682 0.3798 -1.2058 0.8406 0.2376 -1.0202 0.4393 -0.5822 -0.3705 -0.5119 0.3811 0.4058 -0.6895 -1.3646 0.6302 0.5715 -0.5923 -0.4467 0.8203 0.4061 -0.0906 -0.0950 0.5716 0.3444 0.4006 -1.0159 -0.1271 0.3219 -0.6021 M2-MASS Marketing quantitatif Comp2 -0.8617 -0.0081 -0.0654 0.6391 0.2332 -0.3472 0.3730 -0.2559 -0.0102 0.6527 -1.6050 0.7075 0.2443 0.7926 -1.7100 -0.7925 0.5398 0.6751 -0.2403 0.3905 0.2523 -0.1638 0.0833 0.0767 -1.4105 -0.1023 0.5075 0.5948 -0.1502 -0.0761 Table 23 – R : coordonnnées des projections des colonnes sur le sev principal dans la base (U 1 , U 2 ) http://www.math.unicaen.fr/~kauffman/cours 22 [email protected] Université de CAEN 17 septembre 2012 Granny-demi.spur Granny-stand. Boskoop-mut. Boskoop-stand. Gala-red Gala Elstar Elista Jonagold Jonagored New-Jonagold Gloster Gloster-Demi.Spur Averdal StarKrimson Erovan Goldendemi.spur Quemoni Golden-972 Sinta Fiesta Arlet Hilrome Rome-Beauty Melrose-mut. Melrose R.-des-Reinettes Belrene Generos Merano Delblush Chantecler Fuji Fuji-mut. Braeburn Baujade Ginger-Gold Delcorf Dalili Delgollune Pink-lady Hanners Canada-blanc Cadel Sansa Akane Jerseymac Vista-Bella Ota Rubi Stayman-Winesap Hyb1 Hyb2 Rubinette Rubin Hyb3 Hyb4 RS1 -2.47 -2.39 -0.74 -0.33 0.91 0.93 0.97 0.66 0.63 0.08 0.16 -0.93 -1.56 -0.08 -0.86 -0.53 -0.86 0.47 -0.22 1.02 0.78 1.43 -1.40 -0.70 -0.70 0.08 1.06 0.81 0.41 0.77 0.15 -0.98 0.00 -0.72 -0.05 -2.03 0.68 0.95 1.07 0.49 -0.48 -1.17 0.40 1.07 0.82 1.22 0.43 1.23 0.79 0.89 -1.94 0.21 1.06 1.22 -0.37 -1.74 -0.60 M2-MASS Marketing quantitatif RS2 -1.57 -0.90 0.79 0.75 0.44 -0.17 -0.01 0.16 -0.01 0.77 0.51 0.54 0.17 0.78 0.37 0.53 -2.41 -1.65 -2.06 -0.70 0.82 0.41 1.23 1.39 0.83 1.28 0.32 0.23 -1.21 -1.43 -1.62 -1.60 0.42 0.85 0.98 -1.01 -1.28 -0.25 0.41 0.19 0.38 0.81 -1.70 -0.02 0.66 0.12 0.43 -0.12 -0.70 0.46 1.81 0.26 0.61 0.15 1.07 0.90 -2.42 Table 24 – R : Axes principaux de l’espace des colonnes (U 1 , U 2 ) http://www.math.unicaen.fr/~kauffman/cours 23 [email protected] Université de CAEN 17 septembre 2012 arb.spur arb.demi.spur arb.étalé arb.très.étalé rec.précoce rec.intermédiaire rec.tardif cal.moyen cal.gros cal.tres.gros coul.jaune.vert coul.rouge.orange coul.rouge coul.violace pour..0.25. pour..25.50. pour..50.75. pour..75.100. type.lave type.lave.strie type.strie form.allonge form.intermedaire form.aplati ferm.peu.ferme ferm.moyen ferm.tres.ferme gout.doux gout.equlibre gout.acidule Comp1 1556 288 2133 2726 2088 508 4424 2144 1210 366 774 309 1198 1012 2607 1174 1765 1491 2554 1432 589 41 100 533 66 3209 4027 34 1327 1295 Comp2 2117 289 2196 3492 2248 1593 5015 2872 1211 1502 8385 1374 1632 2348 6701 3029 3340 3428 3294 1756 817 175 177 543 1171 3418 5032 787 1616 1315 Comp3 2477 2439 3316 3769 3269 4286 5762 3725 1575 1732 8573 3760 1665 5544 7351 3043 4277 5613 3569 1770 1055 3311 3290 561 1250 4515 6566 1669 1927 3388 M2-MASS Marketing quantitatif Comp4 2709 2825 3516 3854 3305 4978 6303 3851 1641 2239 8573 3793 2004 5841 7355 3386 4296 5735 4205 2110 3019 3642 4329 5604 4633 6615 6933 3551 5174 4103 remain 7291 7175 6484 6146 6695 5022 3697 6149 8359 7761 1427 6207 7996 4159 2645 6614 5704 4265 5795 7890 6981 6358 5671 4396 5367 3385 3067 6449 4826 5897 Table 25 – R : Qualité d’approximation des colonnes Granny-demi.spur Granny-stand. Boskoop-mut. Boskoop-stand. Gala-red Gala Axis1 4856.00 5828.00 866.00 149.00 1259.00 1531.00 Axis2 6401.00 6485.00 1644.00 742.00 1495.00 1572.00 Axis3 6973.00 8156.00 3766.00 2703.00 1748.00 1585.00 Axis4 7016.00 8169.00 3888.00 2997.00 2954.00 4595.00 remain 2984.00 1831.00 6112.00 7003.00 7046.00 5405.00 Table 26 – R : Qualité d’approximation des lignes (extrait) http://www.math.unicaen.fr/~kauffman/cours 24 [email protected]