You are on page 1of 24

Université de CAEN 17 septembre 2012 M2-MASS Marketing quantitatif

1 ACM types de pommiers

Sommaire
1.1 Description . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 1
1.2 ACM . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 2
1.3 Réalisation de l’ACM avec SAS . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 4
1.4 Réalisation de l’ACM avec R . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 9
1.5 Comparaison et signification des résultats SAS/R . . . . . . . . . . . . . . . . . . . . . . . 13
1.5.1 Décompositions de l’inertie . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 13
1.5.2 Coordonnées des projections . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 14
1.5.3 Qualité d’approximation . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 14
1.6 Résultats obtenus avec SAS . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 16
1.7 Résultats obtenus avec R . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 20

1.1 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 # label modalités


arb 4 forme de l’arbre 1=spur, 2=demi spur 3=étalé, 4=très étalé
rec 3 date récolte 1=précoce, 2=intermédiaire, 3=tardif
cal 3 calibre du fruit 1=moyen, 2= gros, 3=très gros
coul 3 couleur fruit 1=jaune ou vert,2=rouge-orangé, 3=rouge,4=violacé
pour 4 coloration 1=0-25%, 2=25-50%, 3=50-75%,4=75-100%
type 3 type coloration 1=lavé, 2=lavé-strié, 3=strié
form 3 forme du fruit 1=allongé, 2=intermédiaire, 3=aplati
ferm 3 fermeté du fruit 1=peu ferme, 2=moyen, 3=très ferme
gout 3 sucre/acidité 1=doux, 2=équilibré, 3=acidulé

Table 1 – Catalogue des variables

Les espèces de pommiers sont modifiées avec les conventions suivantes


spur mutation de la forme de l’arbre
mut 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.

arb rec cal coul pour type form ferm gout


Granny-spur 1 3 2 1 1 1 2 3 3
Granny-stand. 4 3 2 1 1 1 2 3 3
Boskoop-mut. 3 3 3 4 4 1 1 2 2
Boskoop-stand. 2 3 3 4 3 1 1 2 2
Gala-red 2 2 1 3 3 3 2 2 1
Gala 3 2 1 3 2 3 2 2 1

Table 2 – Premières lignes de la table pommes.txt

http://www.math.unicaen.fr/~kauffman/cours 1 francois.kauffmann@unicaen.fr
Université de CAEN 17 septembre 2012 M2-MASS Marketing quantitatif

arb rec cal coul pour type form ferm gout


Granny-spur spur tardif gros jaune-vert (0 25] lave intermedaire tres ferme acidule
Granny-stand. très étalé tardif gros jaune-vert (0 25] lave intermedaire tres ferme acidule
Boskoop-mut. étalé tardif tres gros violace (75 100] lave allonge moyen equlibre
Boskoop-stand. demi spur tardif tres gros violace (50 75] lave allonge moyen equlibre
Gala-red demi spur intermédiaire moyen rouge (50 75] strie intermedaire moyen doux
Gala étalé intermédiaire moyen rouge (25 50] strie intermedaire moyen 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

arb.spur arb.demi.spur arb.étalé arb.très.étalé rec.précoce rec.intermédiaire rec.tardif


1 1 0 0 0 0 0 1
2 0 0 0 1 0 0 1
3 0 0 1 0 0 0 1
4 0 1 0 0 0 0 1
5 0 1 0 0 0 1 0
6 0 0 1 0 0 1 0
7 0 0 1 0 1 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 francois.kauffmann@unicaen.fr
Université de CAEN 17 septembre 2012 M2-MASS Marketing quantitatif

arb.spur arb.demi.spur arb.étalé arb.très.étalé rec.précoce rec.intermédiaire rec.tardif


1 13.25 -1.00 -1.00 -1.00 -1.00 -1.00 2.35
2 -1.00 -1.00 -1.00 5.33 -1.00 -1.00 2.35
3 -1.00 -1.00 0.68 -1.00 -1.00 -1.00 2.35
4 -1.00 4.70 -1.00 -1.00 -1.00 -1.00 2.35
5 -1.00 4.70 -1.00 -1.00 -1.00 1.11 -1.00
6 -1.00 -1.00 0.68 -1.00 -1.00 1.11 -1.00
7 -1.00 -1.00 0.68 -1.00 3.38 -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))) # 0
#t(U)%*%D%*%U # Id
#t(V)%*%M%*%V # 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 francois.kauffmann@unicaen.fr
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])

Fact1 Fact2 Fact3 Fact4


Granny-spur 2.47 -1.57 -0.97 -0.30
Granny-stand. 2.39 -0.90 -1.47 0.14
Boskoop-mut. 0.74 0.79 1.32 0.35
Boskoop-stand. 0.33 0.75 1.39 0.60
Gala-red -0.91 0.44 0.47 -1.14
Gala -0.93 -0.17 0.10 -1.68

Table 6 – Vecteurs principaux de l’espace des colonnes U

Prin1 Prin2 Prin3 Prin4


arb.spur 2.55 -1.72 1.41 -1.26
arb.demi spur -0.65 -0.02 2.05 0.96
arb.étalé -0.67 -0.13 -0.56 -0.26
arb.très.étalé 2.14 1.28 -0.78 0.48
rec.précoce -1.49 0.47 -1.20 0.25
rec.intermédiaire -0.42 -0.69 1.11 -0.63

Table 7 – Vecteurs principaux de l’espace des lignes V

Prin1 Prin2 Prin3 Prin4


Granny-spur 1.39 -0.79 -0.48 -0.13
Granny-stand. 1.35 -0.45 -0.72 0.06
Boskoop-mut. 0.42 0.39 0.65 0.16
Boskoop-stand. 0.19 0.38 0.68 0.26
Gala-red -0.51 0.22 0.23 -0.50
Gala -0.53 -0.09 0.05 -0.74

Table 8 – Coordonnées de la projection des lignes sur le sev principal

Fact1 Fact2 Fact3 Fact4


arb.spur 1.44 -0.86 0.69 -0.55
arb.demi.spur -0.37 -0.01 1.01 0.43
arb.étalé -0.38 -0.07 -0.28 -0.12
arb.très.étalé 1.21 0.64 -0.38 0.21
rec.précoce -0.84 0.23 -0.59 0.11
rec.intermédiaire -0.24 -0.35 0.55 -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 url 'http://www.math.unicaen.fr/~kauffman/data/besse/pommes.txt';

proc format;
value arb 1=spur 2=1/2spur 3=etale 4=tres etale;
value rec 1=hatif 2=intermediaire 3=tardif;
value cal 1=moyen 2=gros 3=tres gros;
value coul 1=jaune ou vert 2=rouge orange 3=rouge 4=violace;
value pour 1=0 25 2=25 50 3=50 75 4=75 100;

http://www.math.unicaen.fr/~kauffman/cours 4 francois.kauffmann@unicaen.fr
Université de CAEN 17 septembre 2012 M2-MASS Marketing quantitatif

value type 1=lave 2=lave strie 3=strie;


value form 1=allonge 2=intermedaire 3=aplati;
value ferm 1=peu ferme 2=moyen 3=tres ferme;
value gout 1=doux 2=equilibre 3=acidule;
run;

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 coul FREQUENCY of form FREQUENCY of arb

rouge orange
10 allonge
19 1/2spur
10

jaune ou vert
13

spur
4

etale
34

aplati
8 tres etale
violace intermedaire 9
10 30
rouge
24

FREQUENCY of cal FREQUENCY of type FREQUENCY of gout


moyen lave
30 32

doux
10

equilibre
32

tres gros
12

strie acidule
lave strie 15 15
gros 10
15

FREQUENCY of rec FREQUENCY of pour FREQUENCY of ferm


25 50
13

hatif moyen
13 38

0 25
7

intermediaire
27 peu ferme
3

50 75
20

tres ferme
tardif 75 100 16
17 17

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 francois.kauffmann@unicaen.fr
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 francois.kauffmann@unicaen.fr
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 francois.kauffmann@unicaen.fr
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 francois.kauffmann@unicaen.fr
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 francois.kauffmann@unicaen.fr
Université de CAEN 17 septembre 2012 M2-MASS Marketing quantitatif

> signature
[1] "Pommes/ jeudi 06 octobre 2011 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
tardif gros

coul pour type

rouge−orange (25 50] lave


jaune−vert
(0 25]

(50 75]

rouge violace
(75 100] lave strie strie

form ferm gout

allonge
moyen
doux
equlibre
peu ferme

aplati
intermedaire
tres ferme acidule

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 francois.kauffmann@unicaen.fr
Université de CAEN 17 septembre 2012 M2-MASS Marketing quantitatif

eboulis des valeurs propres

0.30
0.25
0.20
0.15
0.10
0.05
0.00

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
Hilrome coul.violace
pour..75.100. coul.rouge.orange
Rubin
cal.tres.gros
arb.très.étalé Braeburn
gout.doux
Hyb3 pour..50.75.
Fuji−mut.
Melrose−mut. Fiesta
Hanners Boskoop−mut. Averdal
Jonagored
ferm.tres.ferme Boskoop−stand.
Sansa
Hyb2
type.lave.strie
rec.tardif Gloster Erovan New−Jonagold
Fuji Jerseymac Rubi
Gala−red
StarKrimson Pink−lady type.strie Dalili
coul.rouge Arlet
rec.précoce
R.−des−Reinettes
Hyb1 Belrene
Gloster−Spur Delgollune
Elista
form.intermedaire Rubinette
form.aplatiAkane
cal.gros arb.demi.spur
Jonagold Elstar
Cadel
gout.acidule arb.étalé
ferm.moyen Vista−Bella
Gala
gout.equlibre
Delcorf
type.lave form.allonge
cal.moyen
rec.intermédiaire
Ota Sinta

Granny−stand.
Baujade

Generos
pour..25.50.
arb.spur Ginger−Gold
Merano
Eigenvalues
Granny−spur 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 francois.kauffmann@unicaen.fr
Université de CAEN 17 septembre 2012 M2-MASS Marketing quantitatif

pour..75.100.
coul.violace pour..50.75.
cal.tres.gros coul.rouge.orange
ferm.tres.ferme gout.doux
arb.très.étalé
rec.tardif
coul.rouge
type.lave.strie
type.strie rec.précoce
form.intermedaire
form.aplati
cal.gros arb.demi.spur
gout.acidule
arb.étalé
form.allonge 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 d = 0.5

1000 3000 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 francois.kauffmann@unicaen.fr
Université de CAEN 17 septembre 2012 M2-MASS Marketing quantitatif

d = 0.5
projection des lignes sur le plan principal

Melrose Rome−Beauty
Stayman−Winesap
Hilrome
Braeburn
Fiesta Rubin Melrose−mut.

Hyb3
Hyb2 Fuji−mut.
Boskoop−mut.
Boskoop−stand.
Jonagored
New−Jonagold Hanners
Arlet Sansa Rubi Pink−lady Gloster
Dalili Jerseymac
R.−des−Reinettes
Akane Fuji doux
Elista Gloster−Spur
Rubinette Averdal
Elstar Vista−Bella
Gala−red
BelreneDelgollune
acidule
Jonagold
Cadel equlibre
Hyb1 Erovan
Delcorf StarKrimson
Granny−stand.
Gala Baujade
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 Comparaison et signification des résultats SAS/R


1.5.1 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

X
i=p
kZk2M,D = σi2
j=1

X
i=n
= Di,i kZi k2M
i=1

X
j=p
= 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 σk
Inertie principale σk2
Khi2 uniquement valide en AFC
σ2 σ2
Pourcentage 100 P kσ2 = 100 kZk2k
Pi=k
k
2
M,D

i=1 σk
P
Pourcentage cumulé 100 σk2

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 francois.kauffmann@unicaen.fr
Université de CAEN 17 septembre 2012 M2-MASS Marketing quantitatif

R 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é cos2 (Zi , P roj(Zi ))


Collectif Di,i = lwi
lwi kZi k2M
Inertie 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 co-
lonnes, on peut tracer ces projections. Le tracé est dit isométrique colonne (en fait projec-
tion 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 mca1[['l1']][,1:2] # U1 U2

1.5.3 Qualité d’approximation


Soient Z j une colonne de la matrice Z, alors

X
i=2
Zj = coj,i U i + ǫ
i=1

http://www.math.unicaen.fr/~kauffman/cours 14 francois.kauffmann@unicaen.fr
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
orthogonal au sous espace principal. Comme U , U est une famille orthonormée et que ǫ ⊥ RU 1 + RU 2 on a
1 2

X
j=2
kZ j k2D = (coj,i )2 + kǫk2
i=1

10000
Dans les logiciels on exprime cette égalité en normalisant par 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’ap-
proximation 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’approxima-
tion. 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

10000co2j,1
Dim1 kZ j k2D
= 10000cos2(Z j , U 1 )
10000co2j,2
Dim2 kZ j k2D
= 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 francois.kauffmann@unicaen.fr
Université de CAEN 17 septembre 2012 M2-MASS Marketing quantitatif

1.6 Résultats obtenus avec SAS

Décomposition de l’inertie et du Khi 2


Valeur singulière Inertie principale Khi 2 Pourcentage Pourcent. cumulé 3 6 9 12 15 —-+—-+—-+—-+—-+—
0.56419 0.31830 163.29 13.64 13.64 ***********************
0.50056 0.25056 128.54 10.74 24.38 ******************
0.49093 0.24101 123.64 10.33 34.71 *****************
0.44128 0.19473 99.90 8.35 43.05 **************
0.41710 0.17397 89.25 7.46 50.51 ************
0.38581 0.14885 76.36 6.38 56.89 ***********
0.37145 0.13797 70.78 5.91 62.80 **********
0.36273 0.13157 67.50 5.64 68.44 *********
0.32850 0.10791 55.36 4.62 73.07 ********
0.31628 0.10003 51.32 4.29 77.35 *******
0.29745 0.08848 45.39 3.79 81.15 ******
0.28358 0.08042 41.26 3.45 84.59 ******
0.26427 0.06984 35.83 2.99 87.59 *****
0.25513 0.06509 33.39 2.79 90.38 *****
0.22258 0.04954 25.42 2.12 92.50 ****
0.20828 0.04338 22.25 1.86 94.36 ***
0.20057 0.04023 20.64 1.72 96.08 ***
0.19377 0.03755 19.26 1.61 97.69 ***
0.17029 0.02900 14.88 1.24 98.93 **
0.11849 0.01404 7.20 0.60 99.54 *
0.10413 0.01084 5.56 0.46 100.00 *
Total 2.33333 1197.00 100.00
Degrés de liberté = 1624

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 francois.kauffmann@unicaen.fr
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 francois.kauffmann@unicaen.fr
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 francois.kauffmann@unicaen.fr
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 francois.kauffmann@unicaen.fr
Université de CAEN 17 septembre 2012 M2-MASS Marketing quantitatif

1.7 Résultats obtenus avec R

inertia cum ratio


1 0.32 0.32 0.14
2 0.25 0.57 0.24
3 0.24 0.81 0.35
4 0.19 1.00 0.43
5 0.17 1.18 0.51
6 0.15 1.33 0.57
7 0.14 1.47 0.63
8 0.13 1.60 0.68
9 0.11 1.70 0.73
10 0.10 1.80 0.77
11 0.09 1.89 0.81
12 0.08 1.97 0.85
13 0.07 2.04 0.88
14 0.07 2.11 0.90
15 0.05 2.16 0.92
16 0.04 2.20 0.94
17 0.04 2.24 0.96
18 0.04 2.28 0.98
19 0.03 2.31 0.99
20 0.01 2.32 1.00
21 0.01 2.33 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 francois.kauffmann@unicaen.fr
Université de CAEN 17 septembre 2012 M2-MASS Marketing quantitatif

qualite Collectif inertie


arb.spur 0.2117 0.0078 0.0443
arb.demi.spur 0.0289 0.0195 0.0393
arb.étalé 0.2196 0.0663 0.0192
arb.très.étalé 0.3492 0.0175 0.0401
rec.précoce 0.2248 0.0253 0.0368
rec.intermédiaire 0.1593 0.0526 0.0251
rec.tardif 0.5015 0.0331 0.0334
cal.moyen 0.2872 0.0585 0.0226
cal.gros 0.1211 0.0292 0.0351
cal.tres.gros 0.1502 0.0234 0.0376
coul.jaune.vert 0.8385 0.0253 0.0368
coul.rouge.orange 0.1374 0.0195 0.0393
coul.rouge 0.1632 0.0468 0.0276
coul.violace 0.2348 0.0195 0.0393
pour..0.25. 0.6701 0.0136 0.0418
pour..25.50. 0.3029 0.0253 0.0368
pour..50.75. 0.3340 0.0390 0.0309
pour..75.100. 0.3428 0.0331 0.0334
type.lave 0.3294 0.0624 0.0209
type.lave.strie 0.1756 0.0195 0.0393
type.strie 0.0817 0.0292 0.0351
form.allonge 0.0175 0.0370 0.0317
form.intermedaire 0.0177 0.0585 0.0226
form.aplati 0.0543 0.0156 0.0409
ferm.peu.ferme 0.1171 0.0058 0.0451
ferm.moyen 0.3418 0.0741 0.0159
ferm.tres.ferme 0.5032 0.0312 0.0343
gout.doux 0.0787 0.0195 0.0393
gout.equlibre 0.1616 0.0624 0.0209
gout.acidule 0.1315 0.0292 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 francois.kauffmann@unicaen.fr
Université de CAEN 17 septembre 2012 M2-MASS Marketing quantitatif

Comp1 Comp2
arb.spur -1.4359 -0.8617
arb.demi.spur 0.3682 -0.0081
arb.étalé 0.3798 -0.0654
arb.très.étalé -1.2058 0.6391
rec.précoce 0.8406 0.2332
rec.intermédiaire 0.2376 -0.3472
rec.tardif -1.0202 0.3730
cal.moyen 0.4393 -0.2559
cal.gros -0.5822 -0.0102
cal.tres.gros -0.3705 0.6527
coul.jaune.vert -0.5119 -1.6050
coul.rouge.orange 0.3811 0.7075
coul.rouge 0.4058 0.2443
coul.violace -0.6895 0.7926
pour..0.25. -1.3646 -1.7100
pour..25.50. 0.6302 -0.7925
pour..50.75. 0.5715 0.5398
pour..75.100. -0.5923 0.6751
type.lave -0.4467 -0.2403
type.lave.strie 0.8203 0.3905
type.strie 0.4061 0.2523
form.allonge -0.0906 -0.1638
form.intermedaire -0.0950 0.0833
form.aplati 0.5716 0.0767
ferm.peu.ferme 0.3444 -1.4105
ferm.moyen 0.4006 -0.1023
ferm.tres.ferme -1.0159 0.5075
gout.doux -0.1271 0.5948
gout.equlibre 0.3219 -0.1502
gout.acidule -0.6021 -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 francois.kauffmann@unicaen.fr
Université de CAEN 17 septembre 2012 M2-MASS Marketing quantitatif

RS1 RS2
Granny-demi.spur -2.47 -1.57
Granny-stand. -2.39 -0.90
Boskoop-mut. -0.74 0.79
Boskoop-stand. -0.33 0.75
Gala-red 0.91 0.44
Gala 0.93 -0.17
Elstar 0.97 -0.01
Elista 0.66 0.16
Jonagold 0.63 -0.01
Jonagored 0.08 0.77
New-Jonagold 0.16 0.51
Gloster -0.93 0.54
Gloster-Demi.Spur -1.56 0.17
Averdal -0.08 0.78
StarKrimson -0.86 0.37
Erovan -0.53 0.53
Goldendemi.spur -0.86 -2.41
Quemoni 0.47 -1.65
Golden-972 -0.22 -2.06
Sinta 1.02 -0.70
Fiesta 0.78 0.82
Arlet 1.43 0.41
Hilrome -1.40 1.23
Rome-Beauty -0.70 1.39
Melrose-mut. -0.70 0.83
Melrose 0.08 1.28
R.-des-Reinettes 1.06 0.32
Belrene 0.81 0.23
Generos 0.41 -1.21
Merano 0.77 -1.43
Delblush 0.15 -1.62
Chantecler -0.98 -1.60
Fuji 0.00 0.42
Fuji-mut. -0.72 0.85
Braeburn -0.05 0.98
Baujade -2.03 -1.01
Ginger-Gold 0.68 -1.28
Delcorf 0.95 -0.25
Dalili 1.07 0.41
Delgollune 0.49 0.19
Pink-lady -0.48 0.38
Hanners -1.17 0.81
Canada-blanc 0.40 -1.70
Cadel 1.07 -0.02
Sansa 0.82 0.66
Akane 1.22 0.12
Jerseymac 0.43 0.43
Vista-Bella 1.23 -0.12
Ota 0.79 -0.70
Rubi 0.89 0.46
Stayman-Winesap -1.94 1.81
Hyb1 0.21 0.26
Hyb2 1.06 0.61
Rubinette 1.22 0.15
Rubin -0.37 1.07
Hyb3 -1.74 0.90
Hyb4 -0.60 -2.42

Table 24 – R : Axes principaux de l’espace des colonnes (U 1 , U 2 )

http://www.math.unicaen.fr/~kauffman/cours 23 francois.kauffmann@unicaen.fr
Université de CAEN 17 septembre 2012 M2-MASS Marketing quantitatif

Comp1 Comp2 Comp3 Comp4 remain


arb.spur 1556 2117 2477 2709 7291
arb.demi.spur 288 289 2439 2825 7175
arb.étalé 2133 2196 3316 3516 6484
arb.très.étalé 2726 3492 3769 3854 6146
rec.précoce 2088 2248 3269 3305 6695
rec.intermédiaire 508 1593 4286 4978 5022
rec.tardif 4424 5015 5762 6303 3697
cal.moyen 2144 2872 3725 3851 6149
cal.gros 1210 1211 1575 1641 8359
cal.tres.gros 366 1502 1732 2239 7761
coul.jaune.vert 774 8385 8573 8573 1427
coul.rouge.orange 309 1374 3760 3793 6207
coul.rouge 1198 1632 1665 2004 7996
coul.violace 1012 2348 5544 5841 4159
pour..0.25. 2607 6701 7351 7355 2645
pour..25.50. 1174 3029 3043 3386 6614
pour..50.75. 1765 3340 4277 4296 5704
pour..75.100. 1491 3428 5613 5735 4265
type.lave 2554 3294 3569 4205 5795
type.lave.strie 1432 1756 1770 2110 7890
type.strie 589 817 1055 3019 6981
form.allonge 41 175 3311 3642 6358
form.intermedaire 100 177 3290 4329 5671
form.aplati 533 543 561 5604 4396
ferm.peu.ferme 66 1171 1250 4633 5367
ferm.moyen 3209 3418 4515 6615 3385
ferm.tres.ferme 4027 5032 6566 6933 3067
gout.doux 34 787 1669 3551 6449
gout.equlibre 1327 1616 1927 5174 4826
gout.acidule 1295 1315 3388 4103 5897

Table 25 – R : Qualité d’approximation des colonnes

Axis1 Axis2 Axis3 Axis4 remain


Granny-demi.spur 4856.00 6401.00 6973.00 7016.00 2984.00
Granny-stand. 5828.00 6485.00 8156.00 8169.00 1831.00
Boskoop-mut. 866.00 1644.00 3766.00 3888.00 6112.00
Boskoop-stand. 149.00 742.00 2703.00 2997.00 7003.00
Gala-red 1259.00 1495.00 1748.00 2954.00 7046.00
Gala 1531.00 1572.00 1585.00 4595.00 5405.00

Table 26 – R : Qualité d’approximation des lignes (extrait)

http://www.math.unicaen.fr/~kauffman/cours 24 francois.kauffmann@unicaen.fr

You might also like