ACP Voitures 1- Méthode
acp=princomp(voit,cor=T)
Call:
princomp(x = voit, cor = T) princomp(x = voit, cor = T) Standard deviations:
Comp.1 Comp.2 Comp.3 Comp.4 Comp.5 Comp.6
2.1577815 0.9566721 0.4903373 0.3204833 0.2542759 0.1447788
6 variables and 24 observations.
ACP Voitures 1- Méthode
summary(acp)
Importance of components:
Comp.1 Comp.2 Comp.3 Comp.4 Comp.5
Standard deviation 2.1577815 0.9566721 0.49033725 0.32048327 0.25427593 Standard deviation 2.1577815 0.9566721 0.49033725 0.32048327 0.25427593 Proportion of Variance 0.7760035 0.1525369 0.04007177 0.01711825 0.01077604 Cumulative Proportion 0.7760035 0.9285404 0.96861222 0.98573047 0.99650652
Comp.6
Standard deviation 0.144778802 Proportion of Variance 0.003493484 Cumulative Proportion 1.000000000
Rq : sum( acp$sdev^2)=6
ACP Voitures
2- Choix du nombre d’axes
Critère de Kaiser :
(acp$sdev)^2
Comp.1 Comp.2 Comp.3 Comp.4 Comp.5 Comp.6
4.65602121 0.91522148 0.24043062 0.10270953 0.06465625 0.02096090
On ne retient que la première composante qui retient 77,6% de l’inertie totale
ACP Voitures
2- Choix du nombre d’axes
Critère du coude : plot(acp)
On sélectionne deux axes, représentant 92,8% de l’inertie totale.
ACP Voitures
2- Choix du nombre d’axes
Scree-test de Catell
list(acp$sdev^2,diff(acp$sdev^2),diff(diff(acp$sdev^2)))
[[1]]
Comp.1 Comp.2 Comp.3 Comp.4 Comp.5 Comp.6
4.65602121 0.91522148 0.24043062 0.10270953 0.06465625 0.02096090 4.65602121 0.91522148 0.24043062 0.10270953 0.06465625 0.02096090 [[2]]
Comp.2 Comp.3 Comp.4 Comp.5 Comp.6
-3.74079973 -0.67479086 -0.13772109 -0.03805328 -0.04369535 [[3]]
Comp.3 Comp.4 Comp.5 Comp.6
3.066008870 0.537069767 0.099667814 -0.005642069
Conduit à retenir 3 composantes
ACP Voitures
2- Choix du nombre d’axes
Conclusion : Un bon compromis est de
considérer deux composantes, représentant à peu près 93% de l’inertie totale.
à peu près 93% de l’inertie totale.
ACP Voitures 3- Etude de l’axe 1
Individus : Contribuent essentiellement les individus dont les coordonnées sur l’axe 1 (composantes principales) sont > en
valeur absolue à la racine de la valeur propre d’ordre 1, égale à
2.1577815, sous réserve qu’ils soient bien représentés sur l’axe .
ACP Voitures 3- Etude de l’axe 1
qlt=(acp$scores^2/apply(acp$scores^2,1, sum))[,1]
tab=cbind(contrib=acp$scores[,1],qlt) tab1=tab[tab[,1]<0,]
contrib qlt Renault_21 -0.1805120 0.03357692
tab2=tab[tab[,1]>0,]
contrib qlt Honda_Civic 2.02290470 0.8766111128 Renault_21 -0.1805120 0.03357692
Bmw_530i -3.9456318 0.93860336 Rover_827i -3.1938972 0.94429690 Renault_25 -3.4396227 0.93583367 Opel_Omega -1.4995690 0.66739260 Peugeot_405_Break -0.5865307 0.61965973 Ford_Sierra -0.7393253 0.63132099 Bmw_325iX -1.7061778 0.50367479 Audi_90_Quattro -1.4135416 0.56974756 Ford_Scorpio -2.7950566 0.91565592 Renault_Espace -0.9199997 0.44530992 VW_Caravelle -1.2219947 0.19177255
Honda_Civic 2.02290470 0.8766111128 Renault_19 0.77851246 0.6623990534 Fiat_Tipo 1.28979214 0.7639797857 Peugeot_405 0.27382089 0.1069827320 Citroen_BX 0.50464772 0.4826435993 Nissan_Vanette 0.02474295 0.0001191134 Ford_Fiesta 3.49885607 0.9336125401 Fiat_Uno 3.75768985 0.9768995537 Peugeot_205 2.61879210 0.8857026180 Peugeot_205_Rallye 2.28877205 0.6985932945 Seat_Ibiza_SX_I 1.93307264 0.7872635901 Citroen-ax-sport 2.65025551 0.7788498294
ACP Voitures 3- Etude de l’axe 1
L'axe 1 oppose la Bmw 530i, la Rover 827i, la Renault 25 et la Ford Scorpio à la Fiat Uno, la Ford Fiesta, la Citroen-ax-sport, la Peugeot 205 Rallye et la Peugeot 205 et éventuellement Seat Ibiza SX I et le Honda Civic, c’est à dire les grosses berlines aux citadines.
Tous les modèles sont assez bien représentés sur l'axe 1, à part la Nissan
Vanette, la Peugeot_405 et la Renault 21.
0 .0 0 .2
C o m p .2
Honda_Civic
Renault_19
Fiat_Tipo Peug eot_405
Citroen_BX Bmw_530i
Rover_827i Renault_25
Peug eot_405_Break
Ford_Sierra Bmw_325iX
Audi_90_Quattro
Ford_Scorpio
Fiat_Uno Peugeot_205
Peug eot_205_Rallye
Seat_Ibiza_SX_I
Citroen-ax-sport
-4 -2 0 2
0 2
Cylindre Puissance
Vitesse
-0.4 -0.2 0.0 0.2
-0 .4 -0 .2
Comp.1
C o m p .2
Fiat_Tipo Peug eot_405
Renault_21 Opel_Omeg a
Ford_Sierra
Renault_Espace
Nissan_Vanette
VW_Caravelle
Ford_Fiesta
-4 -2
Poids Long ueur
Larg eur
ACP Voitures 3- Etude de l’axe 1
Variables : On retient les variables telles que la coordonnée de u1 (premier vecteur propre) est supérieur en valeur absolue à
1/racine(nombre de variables)= 0.4082483. Il n’y a pas de problème de représentativité car ce sont les variables qui contribuent le plus qui sont le mieux représentées.
loadings(acp)[,1]
Cylindre Puissance Vitesse Poids Longueur Largeur
[1,] -0.4442019 -0.4144904 -0.3435401 -0.4303213 -0.4302088 -0.3776328
L’axe1 isole les modèles ayant de fortes valeurs de toutes leurs
caractéristiques aux autres (effet taille)
ACP Voitures 3- Etude de l’axe 1
Conclusion pour l’axe 1: l’axe 1 est un axe de « taille ». Il oppose les grosses berlines puissantes et de grande
dimension aux citadines de faible dimension et peu puissantes.
puissantes.
ACP Voitures
4- Etude de l’axe 2
Individus : Contribuent essentiellement les individus dont les coordonnées sur l’axe 2 (composantes principales) sont > en valeur absolue à la racine de la valeur propre d’ordre 2, égale à
0.9566721 , sous réserve qu’ils soient bien représentés sur l’axe .
ACP Voitures
4- Etude de l’axe 2
qlt=(acp$scores^2/apply(acp$scores^2,1,su m))[,2]
tab=cbind(contrib=acp$scores[,2],qlt) tab1=tab[tab[,1]<0,]
contrib qlt
tab2=tab[tab[,1]>0,]
contrib qlt Renault_19 -0.13290412 1.930481e-02
Fiat_Tipo -0.43420734 8.658382e-02 Peugeot_405 -0.46469601 3.081190e-01 Renault_21 -0.63714766 4.183204e-01 Citroen_BX -0.20760635 8.168291e-02 Opel_Omega -0.77567731 1.785709e-01 Ford_Sierra -0.43459960 2.181513e-01 Ford_Scorpio -0.12172675 1.736693e-03 Renault_Espace -0.88853769 4.153734e-01 Nissan_Vanette -1.82044478 6.447820e-01 VW_Caravelle -2.38484782 7.304141e-01 Ford_Fiesta -0.90432558 6.236834e-02 Fiat_Uno -0.01491689 1.539446e-05
contrib qlt Honda_Civic 0.3199428 0.02192808 Bmw_530i 0.8353867 0.04207500 Rover_827i 0.7714359 0.05508920 Renault_25 0.6092422 0.02936007 Peugeot_405_Break 0.1431626 0.03691738 Bmw_325iX 1.3627420 0.32131344 Audi_90_Quattro 1.0893324 0.33836555 Peugeot_205 0.4150747 0.02225043 Peugeot_205_Rallye 1.4787932 0.29163137 Seat_Ibiza_SX_I 0.9014207 0.17119018 Citroen-ax-sport 1.2951047 0.18598931
ACP Voitures
4- Etude de l’axe 2
L’axe 2 oppose les voitures familiales (vans ou
volumineuses) - VW caravelle , Nissan caravelles et accessoirement ford fiesta et renault espace- , aux sportives (et accessoirement routières) -
sportives (et accessoirement routières) - Bmw_325iX, Audi_90_Quattro
Peugeot_205_Rallye, Seat_Ibiza_SX_I et Citroen-ax-
sport -
0 .0 0 .2
C o m p .2
Honda_Civic
Renault_19
Fiat_Tipo Peug eot_405
Citroen_BX Bmw_530i
Rover_827i Renault_25
Peug eot_405_Break
Ford_Sierra Bmw_325iX
Audi_90_Quattro
Ford_Scorpio
Fiat_Uno Peugeot_205
Peug eot_205_Rallye
Seat_Ibiza_SX_I
Citroen-ax-sport
-4 -2 0 2
0 2
Cylindre Puissance
Vitesse
-0.4 -0.2 0.0 0.2
-0 .4 -0 .2
Comp.1
C o m p .2
Fiat_Tipo Peug eot_405
Renault_21 Opel_Omeg a
Ford_Sierra
Renault_Espace
Nissan_Vanette
VW_Caravelle
Ford_Fiesta
-4 -2
Poids Long ueur
Larg eur
ACP Voitures
4- Etude de l’axe 2
Variables : On retient les variables telles que la coordonnée de u2 (deuxième vecteur propre) est supérieur en valeur absolue à 1/racine(nombre de variables)= 0.4082483. Il n’y a pas de
problème de représentativité car ce sont les variables qui contribuent le plus qui sont le mieux représentées.
contribuent le plus qui sont le mieux représentées.
ACP Voitures
4- Etude de l’axe 2
tab1=loadings(acp)[loadings(acp)[, 2]<0,2]
tab2=loadings(acp)[loadings(acp)[,2]>
0,2]
Poids Longueur Largeur
-0.2551693 -0.2955840 -0.4783191
Cylindre Puissance Vitesse
0.03396424 0.42122241 0.66343624
ACP Voitures
4- Etude de l’axe 2
Conclusion : L’axe 2 oppose les voitures familiales (VW caravelle , Nissan caravelles et accessoirement ford fiesta et renault espace), imposantes mais
lentes aux sportives (Bmw_325iX ,Audi_90_Quattro lentes aux sportives (Bmw_325iX ,Audi_90_Quattro Peugeot_205_Rallye, Seat_Ibiza_SX_I et Citroen-ax- sport), de petit gabarit (moins larges que la moyenne et aussi accessoirement moins longues et moins
lourdes) mais roulant vite et puissantes.
Classification
1- Méthode
Ici, il y a peu d’individus et n-p est raisonnable. La méthode la plus appropriée est la CAH. On va utiliser la métrique inverse des écarts- types (tableau centré réduit, puis utilisation de la métrique
Euclidienne), et la distance de Ward comme stratégie d’agrégation.
>voi=scale(voit)*sqrt(24/23)
On peut vérifier que l’inertie du nuage de points individus=nombre de variables (car le tableau est centré réduit ):
> sum(voi^2)/24
[1] 6
Classification
1- Méthode
> cl=hclust(dist(voi)^2, method="ward")
Perte d’inertie inter-classes (distance d’agrégation) à chaque agrégation :
>dib=cl$height/48
[1] 0.003928178 0.009030076 0.011413142 0.011587196 0.012513408 0.015491365
[7] 0.023291571 0.023520352 0.026305100 0.032032549 0.035005189 0.036628865
[13] 0.040100034 0.047724631 0.058974617 0.061522706 0.105877746 0.199606047
[19] 0.225112404 0.226436998 0.292694735 1.429194809 3.072008281
Classification
on vérifie:
>sum(dib) [1] 6
Ainsi, l’inertie interclasses passe de 6 (=inertie totale) à 6-
sum(dib)=0.
Classification
2- Choix du nombre de classes
Pourcentage d’inertie inter conservé à chaque itération
> r2=(6-cumsum(dib))/6;r2
[1] 9.993453e-01 9.978403e-01 9.959381e-01 9.940069e-01 9.919213e-01 [1] 9.993453e-01 9.978403e-01 9.959381e-01 9.940069e-01 9.919213e-01 [6] 9.893394e-01 9.854575e-01 9.815375e-01 9.771533e-01 9.718145e-01 [11] 9.659803e-01 9.598755e-01 9.531922e-01 9.452381e-01 9.354090e-01 [16] 9.251552e-01 9.075089e-01 8.742412e-01 8.367225e-01 7.989830e-01 [21] 7.502005e-01 5.120014e-01 -2.960595e-16
>r2=r2[24-1:24]
> plot(r2,type="b", main="R² : % de variance inter expliquée", cex=0.5,
xlab=« Nombre de classes")
Classification
2- Choix du nombre de classes
Pourcentage de variation perdu à chaque itération
> sprs2=dib/6;sprs2
[1] 0.0006546964 0.0015050127 0.0019021903 0.0019311993 0.0020855680 [1] 0.0006546964 0.0015050127 0.0019021903 0.0019311993 0.0020855680 [6] 0.0025818941 0.0038819286 0.0039200586 0.0043841833 0.0053387582 [11] 0.0058341981 0.0061048108 0.0066833390 0.0079541051 0.0098291029 [16] 0.0102537843 0.0176462910 0.0332676746 0.0375187341 0.0377394996 [21] 0.0487824558 0.2381991349 0.5120013802
>sprs=sprs2[24-1:24]
> plot(sprs2,type="b", cex=0.5, main="R² semi-partiel",xlab=« Nombre
de classes")
Classification
2- Choix du nombre de classes
Dendogramme
Classification
2- Choix du nombre de classes
Conclusion :
Avec le R2 : La première chute notable du % de variance interclasses eu lieu au passage de 7 à 6 classes, où l’on passe de 91% à 87% de l’inertie totale . Un deuxième décrochement du % de variance interclasses a lieu lorsque l’on passe à deux classes. Jusqu’à 3 classes, la perte
lieu lorsque l’on passe à deux classes. Jusqu’à 3 classes, la perte
d’inertie inter est tolérable 3 classes restituent encore 75% de l’inertie totale (ie, de l’information contenue dans les données). Il semble que le bon choix soit 7 classes, mais si cela fait trop ou qu’elles ne sont pas interprétables, on peut en choisir 3.
Avec le R2 semi-partiel : le pic suivi d’un creux dans le graphe se fait au passage de 6 à 7 classes, ensuite la perte est beaucoup trop importante, ce qui conduit par ce critère à choisir 7 classes.
On retrouve un saut sur le dendogramme au passage de 7 à 6 classes.
Classification
3- Identification des classes
>plot(cl,hang=-1,cex=0.7); rect.hclust(cl, k=7, border="red");
rect.hclust(cl, k=7, border=« blue")
Classification
3- Identification des classes
• Vérification de la stabilité des classes par partitionnement
km=kmeans(voi,7) ; sort(km$cluster)
Renault_19 Fiat_Tipo Peugeot_405 Renault_21 1 1 1 1 Citroen_BX Bmw_325iX Audi_90_Quattro Opel_Omega
1 2 2 3 Peugeot_405_Break Ford_Sierra Renault_Espace Honda_Civic
3 3 3 4 Peugeot_205_Rallye Seat_Ibiza_SX_I Citroen-ax-sport Bmw_530i 4 4 4 5 Rover_827i Renault_25 Ford_Scorpio Ford_Fiesta
5 5 5 6 Fiat_Uno Peugeot_205 Nissan_Vanette VW_Caravelle
6 6 7 7
Classification
3- Identification des classes
Classification
3- Identification des classes
C1(n=4) C4
C2(n=5) C1
C3(n=4) C5
C4(n=4) C3
C5(n=2) C2
C6(n=2) C7
C7(n=3) C6
Petites Berlines Grandes volumin routières vans petites Petites
sportives
Berlines moyennes
Grandes routières
volumin euses
routières vans petites
Honda_Civic Peugeot_205 _Rallye Seat_Ibiza_S X_I
Citroen-ax- sport
Renault_19 Fiat_Tipo Peugeot_405 Renault_21 Citroen_BX
Bmw_530i Rover_827i Renault_25 Ford_Scorpio
Opel_Omega Peugeot_405 _Break Ford_Sierra Renault_Esp ace
Bmw_325iX Audi_90_Qu attro
Nissan_Vane tte
VW_Caravell e
Ford_Fiesta Fiat_Uno Peugeot_205
Classification
4- Caractérisation
Calcul des moyennes par classes sur le tableau centré réduit
> km$center (classes de la k-means)
Cylindre Puissance Vitesse Poids Longueur Largeur 1 -0.2413439 -0.6602082 -0.18972741 -0.3053255 0.05971492 0.04893725 2 0.6537910 1.3651911 1.13093740 0.6616618 0.34387555 -0.31141884 3 0.1289199 0.1799770 0.13841323 0.4287864 0.69598763 0.72293659 4 -1.0543378 -0.4389682 -0.04388712 -1.2567878 -1.44757191 -1.04547753 5 1.7015981 1.5956494 1.43477133 1.2493949 1.18400263 1.02323332 6 -1.2289723 -1.3432427 -1.48878625 -1.2752699 -1.31578727 -1.49036158 7 0.2406667 -0.3731230 -1.48203439 1.1717698 0.61568137 1.02323332
On compare les moyennes à 0.
Classification
4- Caractérisation
Calcul de l’excentricité des classes= distance renormalisée du centre de gravité de la classe au centre de gravité du nuage= distance du centre de gravité du tableau centré réduit à 0
apply(km$centers^2,1,sum)
1 2 3 4 5 6 7 0.6293026 4.2232372 1.2590642 6.0742505 11.5099583 11.1099455 5.1926815 0.6293026 4.2232372 1.2590642 6.0742505 11.5099583 11.1099455 5.1926815