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]