M2 EBE AgroParisTech DYST 2017-2018 ACP Exemple : Fromages Données On s intéresse à la valeur nutritionnelle des 25 fromages les plus courants. Pour cela, 9 teneurs ainsi que le rapport entre 2 d entre elles sont mesurés : la teneur en calories (en kcal pour 100 g de fromage), les teneurs en sodium, calcium, cholestérol et magnésium (en mg pour 100 g), les teneurs en rétinol et folates (en µg pour 100 kcal), les teneurs en lipides et protéines (en g pour 100 g), et le rapport protéines sur lipides. Voici un extrait des données : > head(fromages) Fromages calories sodium calcium lipides retinol 1 Carre de l Est 314 353.5 72.6 26.3 51.6 2 Babybel 314 238.0 209.8 25.1 63.7 3 Beaufort 401 112.0 259.4 33.3 54.9 4 Bleu 342 336.0 211.1 28.9 37.1 5 Camembert 40% 264 314.0 215.9 19.5 103.0 6 Cantal 367 256.0 264.0 28.8 48.8 folates proteines cholesterol magnesium proteines.lipides 1 30.3 21.0 70 20 0.8 2 6.4 22.6 70 27 0.9 3 1.2 26.6 120 41 0.8 4 27.5 20.2 90 27 0.7 5 36.4 23.4 60 20 1.2 6 5.7 23.0 90 30 0.8 L analyse en composantes principales sera effectuée avec toutes les teneurs comme variables actives et le rapport "protéines/lipides" comme variable illustrative. Effets du centrage et de la réduction sur le nuage des individus Le nuage des individus est représenté dans le plan rétinol-protéines. Voir Figures 1 et 2. Statistiques élémentaires > summary(fromages) Fromages calories sodium calcium lipides Babybel : 1 Min. :206.0 Min. : 60.0 Min. : 72.6 Min. :18.50 Beaufort : 1 1st Qu.:308.0 1st Qu.:172.0 1st Qu.:156.7 1st Qu.:24.70 Bleu : 1 Median :327.0 Median :238.0 Median :209.8 Median :27.50 Camembert 40% : 1 Mean :331.8 Mean :236.5 Mean :194.1 Mean :27.02 Cantal : 1 3rd Qu.:367.0 3rd Qu.:285.0 3rd Qu.:236.7 3rd Qu.:29.30 Carre de l Est: 1 Max. :406.0 Max. :432.0 Max. :334.6 Max. :33.30 (Other) :19 1
Figure 1 Effets des opérations de centrage sur le nuage des individus. Figure 2 Effets des opérations de réduction sur le nuage des individus. retinol folates proteines cholesterol magnesium proteines.lipides Min. : 37.10 Min. : 1.20 Min. :11.10 Min. : 50.0 Min. :13.00 Min. :0.600 1st Qu.: 53.00 1st Qu.: 4.90 1st Qu.:19.70 1st Qu.: 70.0 1st Qu.:22.00 1st Qu.:0.700 Median : 62.30 Median : 6.20 Median :21.80 Median : 80.0 Median :27.00 Median :0.800 Mean : 69.55 Mean :12.46 Mean :22.24 Mean : 83.6 Mean :29.48 Mean :0.828 3rd Qu.: 77.40 3rd Qu.:21.10 3rd Qu.:23.60 3rd Qu.: 90.0 3rd Qu.:36.00 3rd Qu.:0.900 Max. :150.50 Max. :36.40 Max. :35.70 Max. :120.0 Max. :51.00 Max. :1.300 Matrice des corrélations calories sodium calcium lipides retinol folates calories 1.0000000-0.24211685 0.4887897 0.9231299-0.53917921-0.5285365 sodium -0.2421168 1.00000000-0.2818219-0.1858529 0.03618106 0.3142116 calcium 0.4887897-0.28182186 1.0000000 0.2937711-0.35267482-0.6132915 lipides 0.9231299-0.18585294 0.2937711 1.0000000-0.54555705-0.4663899 retinol -0.5391792 0.03618106-0.3526748-0.5455571 1.00000000 0.5521363 folates -0.5285365 0.31421165-0.6132915-0.4663899 0.55213627 1.0000000 proteines 0.7057003-0.36869746 0.7049564 0.4442043-0.33469807-0.4621389 cholesterol 0.9047760-0.36671920 0.4004821 0.8989658-0.48333033-0.5109634 magnesium 0.6660588-0.50545041 0.7048272 0.5433992-0.26483919-0.4626566 2
proteines cholesterol magnesium calories 0.7057003 0.9047760 0.6660588 sodium -0.3686975-0.3667192-0.5054504 calcium 0.7049564 0.4004821 0.7048272 lipides 0.4442043 0.8989658 0.5433992 retinol -0.3346981-0.4833303-0.2648392 folates -0.4621389-0.5109634-0.4626566 proteines 1.0000000 0.5406876 0.6883785 cholesterol 0.5406876 1.0000000 0.6275146 magnesium 0.6883785 0.6275146 1.0000000 Résultats de l ACP Valeurs propres eigenvalue percentage of variance cumulative percentage of variance comp 1 5.13483846 57.0537606 57.05376 comp 2 1.29825558 14.4250620 71.47882 comp 3 0.94291656 10.4768506 81.95567 comp 4 0.69868879 7.7632088 89.71888 comp 5 0.38092651 4.2325168 93.95140 comp 6 0.29880943 3.3201048 97.27150 comp 7 0.14931737 1.6590819 98.93059 comp 8 0.07605285 0.8450316 99.77562 comp 9 0.02019445 0.2243828 100.00000 Le choix du nombre de composantes principales s appuie parfois sur l éboulis des valeurs propres (Figure 3). Figure 3 Eboulis des valeurs propres. 3
Résultats sur les variables dans le premier plan factoriel (voir Figure 4) Figure 4 Cercle de corrélations des variables sur le premier plan factoriel. Coordonnées Dim.1 Dim.2 calories 0.9189648 0.26871648 sodium -0.4455077 0.56415251 calcium 0.7117866-0.43453004 lipides 0.8172585 0.47067689 retinol -0.6054842-0.44189258 folates -0.7163868 0.04523702 proteines 0.7842614-0.31251150 cholesterol 0.8724825 0.26733474 magnesium 0.8131423-0.36191042 Cosinus carrés Dim.1 Dim.2 calories 0.8444963 0.072208546 sodium 0.1984771 0.318268050 calcium 0.5066402 0.188816355 lipides 0.6679115 0.221536737 retinol 0.3666111 0.195269055 folates 0.5132101 0.002046388 proteines 0.6150660 0.097663435 cholesterol 0.7612257 0.071467865 magnesium 0.6612004 0.130979149 Contributions calories 16.446405 5.561967 sodium 3.865304 24.515054 calcium 9.866722 14.543851 4
lipides 13.007450 17.064185 retinol 7.139681 15.040879 folates 9.994668 0.157626 proteines 11.978293 7.522666 cholesterol 14.824726 5.504915 magnesium 12.876752 10.088857 Résultats sur les individus dans le premier plan factoriel (voir Figure 5) Figure 5 Représentation des individus sur le premier plan factoriel. Coordonnées Fromages Dim.1 Dim.2 1 Carre de l Est -2.051782025 1.66370283 2 Babybel -0.427802511-0.44325665 3 Beaufort 3.821183895 0.09758828 4 Bleu -0.008921989 1.56830757 5 Camembert 40% -3.213253115-1.42689604 6 Cantal 1.384602575 0.44346247 Cosinus carrés Fromages Dim.1 Dim.2 1 Carre de l Est 4.535417e-01 0.2981990957 2 Babybel 1.224722e-01 0.1314805555 3 Beaufort 9.081658e-01 0.0005923312 4 Bleu 1.497911e-05 0.4628336914 5 Camembert 40% 6.407266e-01 0.1263477622 6 Cantal 6.221452e-01 0.0638197739 Contributions Fromages Dim.1 Dim.2 1 Carre de l Est 3.279409e+00 8.52808077 2 Babybel 1.425673e-01 0.60535526 3 Beaufort 1.137442e+01 0.02934237 5
4 Bleu 6.200927e-05 7.57813384 5 Camembert 40% 8.043093e+00 6.27313249 6 Cantal 1.493425e+00 0.60591756 6
Code Source R ## Importation des données fromages <- read.table(file="fromages.csv", header=t, sep=";") head(fromages) attach(fromages) ## Centrage et réduction par(mfrow=c(1,2)) # Centrage plot(retinol,proteines,xlim=c(-40,160),ylim=c(-20,40),xlab="données brutes",ylab="") points(x=mean(retinol),y=mean(proteines),col="red",pch=15,cex=1.5) plot(retinol-mean(retinol),proteines-mean(proteines),xlim=c(-40,160),ylim=c(-20,40),xlab="données centrées",ylab="") points(x=0,y=0,col="red",pch=15,cex=1.5) # Réduction plot(retinol-mean(retinol),proteines-mean(proteines),xlim=c(-40,160),ylim=c(-20,40),xlab="données centrées",ylab="") points(x=0,y=0,col="red",pch=15,cex=1.5) plot((retinol-mean(retinol))/sd(retinol),(proteines-mean(proteines))/sd(proteines),xlim=c(-40,160),ylim=c(-20,40),xlab="données points(x=0,y=0,col="red",pch=15,cex=1.5) ## Statistiques élémentaires summary(fromages) cor(fromages[,c(-1,-11)]) ## ACP library(factominer) res <- PCA(fromages[,-c(11)],quali.sup=1) # Valeurs propres res$eig par(mfrow=c(1,1)) barplot(res$eig[,1],names="valeurs propres",names.arg=paste("dim",1:nrow(res$eig))) # Variables plot.pca(res,choix="var") res$var$coord[,1:2] res$var$cos2[,1:2] res$var$contrib[,1:2] # Individus plot.pca(res,choix="ind",label="quali",col.quali="black") head(cbind(fromages,res$ind$coord[,1:2])[,c(1,12,13)]) head(cbind(fromages,res$ind$cos2[,1:2])[,c(1,12,13)]) 7
head(cbind(fromages,res$ind$contrib[,1:2])[,c(1,12,13)]) 8