load("data.baby.RData")
Sachant que l’inertie est la somme des variances (variance est le carré des écarts-types)on sait que le premier axe porterait sur VitA_mcg car dû a la différence d’unité avec les autres variables , “VitA_mcg” a une très grande variance. En effet “VitA_mcg” aurait un vecteur très long et il prendrait une majorité de l’inertie. On peut voir aussi aussi que la différence avec la variable “VitB9_mcg” est moindre car même unités.
La position de chaque variable sur ce plan reflète sa contribution à l’explication de la variance des données. Si la variable “VitA_mcg” est proche de d’autres variables, cela signifie qu’elle a une relation forte avec elles et qu’elle contribue de manière importante à l’explication de la variance des données. Si la variable “VitA_mcg” est éloignée des autres variables, cela signifie qu’elle a une relation moins forte avec elles et qu’elle contribue moins à l’explication de la variance des données. Il est important de noter que l’ACP non normée est sensible aux différences d’échelle entre les variables, ce qui signifie que les variables avec des valeurs plus élevées auront tendance à être surreprésentées dans l’analyse. Si la variable “VitA_mcg” a des valeurs relativement forte par rapport aux autres variables, elle pourrait être sur-représentée dans l’analyse et sa position sur le plan factoriel pourrait ne pas refléter sa véritable contribution à l’explication de la variance des données. Dans ce cas, il pourrait être préférable d’utiliser une ACP normée, qui permet de neutraliser l’effet de l’échelle des variables.
VitA_mcg VitB6_mg VitB12_mcg VitC_mg VitE_mg VitB9_mcg
169.4029567 0.3395207 0.5915424 25.9957306 2.2553820 45.9644770
VitB3_mg VitB2_mg VitB1_mg Fat_g Fiber_g Sugar_g
5.1528003 0.5826059 0.5412349 8.4460500 1.4896802 16.9730695
Protein_g
4.7216669
= PCA(X, scale.unit = FALSE, graph = TRUE) no_norme
$var$cos2[,1:2]# Qualité de represenation des variables sur le premier plan factorielle no_norme
Dim.1 Dim.2
VitA_mcg 0.998092621 0.001900593
VitB6_mg 0.037346252 0.097563919
VitB12_mcg 0.452551776 0.092168437
VitC_mg 0.156041286 0.201426252
VitE_mg 0.585922049 0.153822898
VitB9_mcg 0.566171249 0.395774941
VitB3_mg 0.021241186 0.133748785
VitB2_mg 0.023289251 0.171953373
VitB1_mg 0.007075279 0.123022427
Fat_g 0.636203298 0.182313072
Fiber_g 0.036690510 0.011892095
Sugar_g 0.553009654 0.206368916
Protein_g 0.287081905 0.201659121
$var$coord[1,1:2]# Coordonées du premier plan factorielle de VitA_mcg no_norme
Dim.1 Dim.2
169.007401 -7.375048
1]/sum(Ecart_type)#Contribution à ma variance totale de VitAç_mcg Ecart_type[
VitA_mcg
0.5997484
Tout d’abord on voit que le premier plan factorielle explique 98% de toute l’inertie de l’ACP non normée. Ce qui est enorme. On remarque tout de suite que ceratines variables sont très eloignées de l’origine.De plus certaines variables sont beaucoup mieux representé que d’autres.notament VitA_mcg qui est representé à 99.8% sur la premiere dimension. Il reprensente environ 95% de l’inertie de cette dimension. Cette position s’explique de part son ecart-type consequent notament comparé aux autres var. Il contibu à 60% de la variance totale du modele. Et puisque la position d’une variable sur un axe principal donne une idée de sa contribution à la variance totale C’est normale que VitA_mcg soit éloignée de l’origine et cela peut signifier qu’elle est fortement corrélée avec d’autres variables. Ici on voit une limite de l’ACP non normée on voit qu’elle est sensible aux échelles des variables. C’est pourquoi il est recommandé de normaliser les données avant de les analyser, afin de pouvoir mieux comparer la position des variables sur les axes principaux. ### A/ Analyse uni- et bivariées
<- apply(data.baby2.comp,2,mean)
Moyennes Moyennes
VitA_mcg VitB6_mg VitB12_mcg VitC_mg VitE_mg VitB9_mcg
109.7403315 0.1376740 0.3563536 18.9759669 1.3768232 32.0303867
VitB3_mg VitB2_mg VitB1_mg Fat_g Fiber_g Sugar_g
2.6179834 0.2844420 0.2268950 5.5804420 0.8660221 12.6755249
Protein_g
4.1146685
On peut voir que la moyenne de la variable VitA_mcg est bien supérieur au autre.Cela va se confirmer aussi sur les déciles.
<- function(x) quantile(x,probs=c(0.1,0.9))
decile
= apply(data.baby2.comp, 2, decile)
Quantiles Quantiles
VitA_mcg VitB6_mg VitB12_mcg VitC_mg VitE_mg VitB9_mcg VitB3_mg VitB2_mg
10% 0.0 0.024 0.000 0.30 0.000 2 0.1190 0.02
90% 454.7 0.310 1.474 58.48 4.995 131 5.4554 0.72
VitB1_mg Fat_g Fiber_g Sugar_g Protein_g
10% 0.0100 0.1 0.00 0.000 0.2
90% 0.4999 25.6 2.09 52.182 12.5
corrplot(cor(X[1:13]))
corrplot(cor(X[1:13]),method="number",order="hclust",number.cex=1,type="upper")
On remarque qu’il y a souvent de forte corrélation autours de la diagonale. Sauf pour les variables VitC_mg,VitB6_mg et Fiber_g. Le fait qu’on observe de forte valeurs de corrélation autour de la diagonale. Cela signifie que les variables de la matrice sont fortement corrélées entre elles. On peut notament observer un groupe de variable très corréllé entre eux. Ce groupe est composé de VitA,Sugar,VitB9,VitE et Fat. On remarque aussi qu’il y a de forte correlation entre Vit_B3,B2 et B1. Ces groupes devraient aller dans la meme direction dans le cercle des corrélations.
Observez les points de données individuels : Est-ce que certains points sont éloignés des autres ?
En effet pour certaine variables on voit qu’il y a des points très éloigné des autre en regardant le graph des poins , pour VitB6 on voit un point très a droite par exemple, pareil pour VitC et VitB12.
-Boxplot de VitB6, VitB12 et VitC
Dans le cas multidimensionnel, une valeur aberrante peut être le résultat d’une valeur extrême sur une seule des p composantes principales ou celui d’erreurs systématiques moyennement faibles sur différentes directions. Ce dernier type de valeurs aberrantes correspond à un problème au niveau de l’orientation (corrélation) et non à celui de la position (moyenne) ou de l’échelle (variance). les premières composantes permettent de détecter des valeurs aberrantes qui détériorent, gonflent les variances et les covariances, mais de telles valeurs seront aussi extrêmes sur les variables initiales ;on pourra donc les détecter directement.
Pour trouver une valeur aberrante dans le langage R, nous utilisons une fonction , où nous calculons d’abord le premier et le troisième quantile de l’observation en utilisant la fonction quantile(). Ensuite, nous calculons leur différence comme intervalle interquartile. Ensuite, si une observation est 1,5 fois la plage interquartile supérieure au troisième quartile ou 1,5 fois la plage interquartile inférieure au premier quartile, elle renvoie vrai. Enfin, une fois la valeur aberrante identifiée, nous supprimons la valeur aberrante en la testant avec la fonction.
Dimensions de la data sans valeurs extrêmes de VitB6, VitB12 et VitC:
[1] 268 13
Nous perdons presque 100 plats avec la méthode classique, nous avons trouvé une solution qui n’est peut être pas la meilleur afin de supprimer entre 1 et 10 plats comme recommandé. Si une observation est 7 fois la plage interquartile supérieure au troisième quartile ou 7 fois la plage interquartile inférieure au premier quartile alors on la supprime cela nous ramène à supprimer 7 plats.
Dimension de la data avec moins de valeurs extrêmes pour VitB6, VitB12 et VitC:
[1] 356 13
Le but ici n’était peut être pas d’utiliser ces fonctions cependant en regardant la table et en filtrant les valeurs dans les colonnes VitB6, VitB12 et VitC on remarque les valeurs extremes.
Pour VitB6 : -5.899 ,plat 146
-1.105 ,plat 291
-2.90 ,plat 216
Pour VitB12:
-4.69 ,plat 312
Pour VitC :
-250 ,plat 358
-179.9 ,plat 16
Cependant on nous demande ensuite dans la partie Acp de commenter la postition de 216 donc je vais garder ce plat et supprimer les autres.
Il peut être judicieux de supprimer les valeurs extrêmes des variables “VitB6”, “VitB12” et “VitC” si celles-ci sont exceptionnelles et sont susceptibles de fausser les résultats de l’analyse. Par exemple, si ces valeurs sont très éloignées des autres valeurs de la variable, elles peuvent avoir un impact important sur les moyennes et les écarts-types, ce qui peut rendre difficile l’interprétation des résultats. En supprimant ces valeurs extrêmes, vous pouvez vous assurer que les résultats de l’analyse sont plus représentatifs de la plupart des valeurs de la variable. Il est recommandé de supprimer de 1 à 10 plats pour éviter de perdre trop de données. Si vous supprimez trop de données, vous risquez de perdre en précision et en capacité de modélisation, ce qui peut nuire à la qualité des résultats de l’analyse. En revanche, si vous supprimez trop peu de données, vous risquez de conserver des valeurs extrêmes qui peuvent fausser les résultats. En général, il est recommandé de supprimer environ 1 à 10% des données, en fonction de la taille de l’échantillon et de la variabilité des données. Nous avons choisis d’en supprimer 5.
D’après le graphique, nous pouvons voir que la valeur médiane de VitC_mg est généralement plus élevée pour la catégorie « Fort » de CatSugar par rapport aux autres catégories, et il y a moins de valeurs aberrantes dans la catégorie « Fort ». Cela suggère qu’il y a une corrélation entre Sugar et VitC puisqu’on voit que les aliments qui ont des fortes valeurs de sucres ont des plus grandes valeurs en VitC que les aliments qui ont moyennement ou faiblement du sucre. On voit qu’il existe des exeception puisqu’il exite des valeurs abberante symbolisé par les points au-dessus de Faible et moyen pour Vit C
**Results for the Principal Component Analysis (PCA)**
The analysis was performed on 358 individuals, described by 13 variables
*The results are available in the following objects:
name description
1 "$eig" "eigenvalues"
2 "$var" "results for the variables"
3 "$var$coord" "coord. for the variables"
4 "$var$cor" "correlations variables - dimensions"
5 "$var$cos2" "cos2 for the variables"
6 "$var$contrib" "contributions of the variables"
7 "$ind" "results for the individuals"
8 "$ind$coord" "coord. for the individuals"
9 "$ind$cos2" "cos2 for the individuals"
10 "$ind$contrib" "contributions of the individuals"
11 "$call" "summary statistics"
12 "$call$centre" "mean of the variables"
13 "$call$ecart.type" "standard error of the variables"
14 "$call$row.w" "weights for the individuals"
15 "$call$col.w" "weights for the variables"
eigenvalue variance.percent cumulative.variance.percent
Dim.1 6.98658683 53.7429756 53.74298
Dim.2 3.00887231 23.1451716 76.88815
Dim.3 0.78199347 6.0153344 82.90348
Dim.4 0.60152472 4.6271132 87.53059
Dim.5 0.38990579 2.9992753 90.52987
Dim.6 0.35112450 2.7009577 93.23083
Dim.7 0.24600293 1.8923302 95.12316
Dim.8 0.19859246 1.5276343 96.65079
Dim.9 0.16560226 1.2738635 97.92466
Dim.10 0.09793357 0.7533352 98.67799
Dim.11 0.08543557 0.6571967 99.33519
Dim.12 0.05972222 0.4594017 99.79459
Dim.13 0.02670336 0.2054105 100.00000
L’éboulis des valeurs propres permet de visualiser l’importance de chaque axe de l’ACP. Plus la valeur propre est élevée, plus l’axe explique de la variance des données. En analysant les pourcentages d’inerties, nous pouvons déterminer quel pourcentage de la variance des données est expliqué par chaque axe. Si un axe explique une grande part de la variance des données, cela signifie qu’il est très informatif et qu’il peut être utile de l’inclure dans l’analyse. Si un axe n’explique qu’une faible part de la variance des données, cela signifie qu’il peut être moins informatif et qu’il peut être inutile de l’inclure dans l’analyse. On peut voir que la majeur partie de l’inertie est expliqué par les 2 premiers axes qui explique 76% de l’inertie du modèle.
Pour interpréter les axes de l’ACP, nous pouvons regarder les poids de chaque variable sur chaque axe. Les variables qui ont des poids importants sur un axe contribuent de manière importante à l’explication de la variance de cet axe. Par exemple, si la variable “VitC_mg” a un poids important sur l’axe 1, cela signifie qu’elle contribue de manière importante à l’explication de la variance de cet axe.
La projection des variables supplémentaires sur les axes de l’ACP peut nous aider à comprendre leur relation avec les variables de vitamines. Si une variable supplémentaire est proche de certaines variables de vitamines sur le plan factoriel, cela signifie qu’elle a une relation forte avec ces variables et qu’elle peut être corrélée à elles. Si une variable supplémentaire est éloignée des variables de vitamines sur le plan factoriel, cela signifie qu’elle a une relation moins forte avec ces variables et qu’elle peut être moins corrélée à elles.
La vaiables Fiber un peut moins bien représenté ….
Un cos2 élevé indique une bonne représentation de la variable sur les axes principaux en considération. Dans ce cas, la variable est positionnée à proximité de la circonférence du cercle de corrélation.
Dim.1 Dim.2 Dim.3 Dim.4 Dim.5
VitA_mcg 8.46859026 4.7170561 0.476450955 8.459874809 17.2996539
VitB6_mg 9.15440914 1.6071711 1.361208671 4.104744028 11.1504082
VitB12_mcg 9.92515485 4.0346028 4.859028345 2.323570632 10.7258096
VitC_mg 4.04770760 1.6846071 77.591977914 3.738107583 2.7685378
VitE_mg 11.36772660 1.1884438 0.045743604 1.942892274 2.4749356
VitB9_mcg 11.36337860 1.2037063 0.001710379 1.137110948 0.3844159
VitB3_mg 4.57437915 18.7486994 0.125913003 5.332016673 0.8817123
VitB2_mg 4.87099564 19.3639407 0.048131932 4.598059955 0.8214947
VitB1_mg 3.59117579 22.0432427 0.038503353 4.839400795 3.9885486
Fat_g 12.01474125 2.6611414 0.724312167 0.002357322 0.2840343
Fiber_g 0.00139225 18.2901108 3.387722758 61.186802657 12.4898605
Sugar_g 10.39804066 3.7579216 2.230914273 0.996597761 0.2881108
Protein_g 10.22230822 0.6993562 9.108382647 1.338464565 36.4424778
Contribution variables axe 1:
-Fat
-VitE
-VitB9
-Sugar
-Protein
-VitB12
-VitB6
Donc un plat à droite(respectivment à gauche) aurat des fortes valeurs(respectivement faibles)en Fat, VitE, VitB9, Sugar, Protein, VitB12, VitB6.
Contribution variables axe 2:
-VitB1
-VitB2
-VitB3
-Fibre
Un plat en haut(respectivment en
bas) aurat des fortes valeurs(respectivement faibles)en VitB1, VitB2,
VitB3 et Fiber.
Pour le plat 274 très à droite en cherchant sur internet le nom du plat on trouve qu’il s’agit d’une préparation riche en Protein et vitamine notament vitamine E , donc cela explique pourquoi ce plat est situé a droite.(lien:https://www.similac.com/products/preemie-formula/neosure-powder/22-8oz-can-4pack.html)
A contrario pour le plat 186 plutôt au milieu il s’agit de “Babyfood snack GERBER GRADUATE YOGURT MELTS” que nous avons trouvé sur amazon (https://www.amazon.com/Gerber-Yogurt-Melts-Snack-Strawberry/dp/B08QTPVJ8H). On voit que le snacks est riche en vitamine A,C et E donc c’est normal qu’il soit que vers le milieu de l’axe 1. Pour le plat 129 “Babyfood cereal oatmeal dry”(https://www.google.com/search?q=Babyfood+cereal+oatmeal+dry&rlz=1C1VDKBfrFR945FR945&oq=Babyfood+cereal+oatmeal+dry&aqs=chrome..69i57.388361j0j4&sourceid=chrome&ie=UTF-8).On voit que c’est très faible en fat donc c’est pour cela qu’il se situe pas trop à droite, de plus assez riche en VitB 1,B2 et B3 , environ 5 % de la compostion total par vitamine.Cela expliquerais ca localisation aussi haute.
La forme du nuage est pas trop dispersé cela montre qu’il y a une faible variance.donc une faible dispersion des données.
Les plats 216 et 218 qui sont assez proche sur le plan , 216 est le plats le plus contribuant à l’axe 1 et 218 contribue beaucoup aussi.Il ne contribuent pas trop a l’axe 2 . Comme ils font partis des plats les plus contribuant a l’axe 1 , naturellement ils sont au plus à droite , ce sont donc des plats riche en gras et matière grasse. Pour le plat 216 (http://www.mealographer.com/food/Child/formula-MEAD-JOHNSON-PORTAGE-03820.html) on voit qu’il riche en fat et surtout saturated fat. Pareil pour le 218 , c’est pour cela qu’ils sont proches sur le plan .Ce sont comme des gainers pour enfants.
-Biplot utilse pour commenter les individus
#1 er methode
=prcomp(res.pca$ind$coord)
acp_e# Calcule de la moyenne de la première composante principale
<- mean(acp_e$x[,1])
mean # Calcule de l'écart à la moyenne pour chaque point de données
<- acp_e$x[,1] - mean
differences # Calcule de la variance de la première composante principale
<- mean(differences^2)
variance_1 variance_1
[1] 6.986587
#2ème methode
# On Récupére la matrice de variance-covariance de l'ACP
<- acp_e$sdev^2
vcov # On Récupére la variance de la première composante principale
<- vcov[1]
variance_2 variance_2
[1] 7.006157
# Autre méthode
var(res.pca$ind$coord[,1])
[1] 7.006157
<-res.pca$ind$coord
ind#On filtre les données
=which(ind[,1]<=3 & ind[,2]>=0) ind_a_filtrer
L’exclusion de ces plats pourrait entraîne une modification significative de la position des autres plats sur le nouveau plan factoriel, ce qui affecte l’interprétation des relations entre les variables et les plats. Par exemple, si les plats sélectionnés ont des valeurs très élevées pour une des variables incluses dans l’ACP, leur exclusion entraîne une réduction de la variance de cette variable, ce qui va avoir un impact sur l’interprétation des axes du nouveau plan factoriel. Il est donc important de prendre en compte l’impact de l’exclusion de certains plats sur l’interprétation des résultats de l’ACP et de considérer si cela est justifié en fonction de l’objectif de l’analyse. La forme du nuage est sans les individus exlus est beaucoup moins dispersé cela montre qu’il y a une faible variance. Tous les plats qui avait de fortes valeurs en VitA, Sugar, VitB9,VitE et Fat ont été exclut comme notament le plats 216 et218 comme vu précedemnt
<- MCA(Catdata,ncp = 13,graph = FALSE) ACM
sum(ACM$eig[,1])
[1] 2.846154
=ncol(data.baby2.comp)*3
m=ncol(data.baby2.comp)
p
= m/p -1
inertie inertie
[1] 2
On peut voir qu’il y a different groupe dans le graphique il y en a un très correlés tout à droite mais il est dure de voir le nom des variables avec les textes qui se chevauchent. On peut Néanmoin dire qu’ils sont très corrélés entre eux. Il y a 2 autre groupes très corrélés en bas a gauche au niveau des coordonnés (-0.3,-0.3) et l’autre environ au coordonnés (-0.7,1). Il existe cependant des variables bien isolés. Ces variables sont donc corrélés avec aucune autres mais souvent elles ne sont pas très bien représentées (cos2 faible).Donc on ne peut pas vraiment pertinant de les analyser.
Il est important de noter que le graphique des modalités en ACM ne montre pas la force de l’association entre les modalités, mais simplement si une association existe. Pour mesurer la force de l’association, on devrait utiliser d’autres techniques statistiques, comme l’indice de contingence.