Commenter la corrélation la plus forte positive et la corrélation la plus forte négative, puis expliquer pourquoi la variable “PAYS” n’est pas utilisée dans les calculs de l’ACP.
round(cor(donnees[,1:7]),3)
## ETOILE CONFORT CHAMBRE CUISINE SPORT PLAGE PRIX
## ETOILE 1.000 0.629 0.080 0.596 0.083 -0.124 0.541
## CONFORT 0.629 1.000 0.072 0.559 0.036 -0.052 0.474
## CHAMBRE 0.080 0.072 1.000 0.421 0.478 0.184 -0.035
## CUISINE 0.596 0.559 0.421 1.000 0.459 0.256 0.567
## SPORT 0.083 0.036 0.478 0.459 1.000 0.531 0.311
## PLAGE -0.124 -0.052 0.184 0.256 0.531 1.000 0.337
## PRIX 0.541 0.474 -0.035 0.567 0.311 0.337 1.000
La plus forte correlation positive est la corrélation entre confort et étoile (0.629), ce qui semble assez logique, plus un hôtel possède d’étoiles, plus le confort y est.
La plus forte correlation négative est la corrélation entre plage et étoile (-0.124), pouvant être expliqué par le fait que les hôtels possédant des étoiles sont des hôtels luxueux où le confort prime, alors que les hôtels avec des notes élevées pour plage sont plus des hôtels balnéaires, pour la famille.
La variable “PAYS” n’est pas utilisée dans les calculs de l’ACP car c’et une variable qualitative.
Faire un commentaire général et donner le pourcentage d’inertie expliqué par le plan factoriel (2,3) défini par les axes 2 et 3.
inertie<- ResACP$eig[,2]
On retient les 3 premières valeurs propres, car elles sont supérieures à 1, d’après le critère de Kaiser. En ACP normée et non normée, l’inertie portée par un axe alpha est égale à la valeur propre alpha. Ainsi, l’inertie portée par l’axe 1 est égale à :
## [1] 2.972693
Et le pourcentage d’inertie par le plan 1,2 est donné par : \[(λ1 + λ2)/I \] où \[I = 7\] p, nombre de variables = 7 ici.
Donc le pourcentage d’inertie portée par le plan 1,2 est :
## [1] 67.22882
barplot(inertie,ylab="% d'inertie",names.arg=round(inertie,2))
title("Eboulis des valeurs propres en %")
On voit que l’axe 1 represente une grande part de l’inertie. Le pourcentage d’inertie de l’axe 1 est de 42,47% ce qui correspond à sa valeur propre 2,973/ 7.
L’axe 2 represente 24,76% de l’inertie totale.
Ainsi, l’inertie portée par le plan 1, 2 est de 42,47% + 24,76% = 67,23 %, et l’inertie portée par le plan 1,3 est de 42,47% +14,49% = 56,96%.
ResACP$var$coord
## Dim.1 Dim.2 Dim.3 Dim.4 Dim.5
## ETOILE 0.7121655 -0.532042008 0.104513729 -0.24765508 0.11495578
## CONFORT 0.6785482 -0.514946142 0.080129272 0.42942097 -0.27256446
## CHAMBRE 0.4038080 0.507700517 0.697371613 0.08741528 0.19802424
## CUISINE 0.8932920 0.004956521 0.157123059 0.01378057 0.09954401
## SPORT 0.5688349 0.672148339 0.009504542 -0.26293255 -0.39192266
## PLAGE 0.3740672 0.672816257 -0.501551720 0.29324664 0.15310446
## PRIX 0.7619415 -0.151118343 -0.483706536 -0.16110057 0.13106367
Comment s’appelle cette représentation graphique ? Commenter rapidement.
plot(ResACP,axes = c(1,2), choix="var")
Cette representation s’appelle le cercle des corrélations. Les coordonnées des variables sur un axe correspond aux corrélations entre la variable et l’axe.
Ainsi, nous pouvons voir que toutes les variables sont corrélés positivement avec l’axe 1 et en particulier Cuisine (0.89) et Prix (0.76). On parle d’effet de taille.
Concernant l’axe 2, Sport (0.672), et Plage(0.673) sont assez fortement corrélés positivement avec l’axe 2, et inversement, Etoile (-0.53) et Confort(-0.51) sont moyennement corrélés négativement avec l’axe 2.
De plus, nous pouvons confirmer que Etoile et Confort evolue dans le même sens, car leurs flèches sont l’une sur l’autre, et pointent donc vers la même direction.
Plage, sport et Chambre semblent aussi évoluer dans le même sens, car leurs flèches sont plutôt regroupées, et pointent vers la même direction.
Avec une phrase justificative, quel est l’individu le mieux projeté sur l’axe 1 ?
L’individu le mieux projeté sur l’axe 1 est celui avec le plus fort cos^2. Ainsi à l’aide de la fonction which.max, nous recherchons quel individu a le cos2 le plus élevé dans la colonne 1.
which.max(ResACP$ind$cos2[,1])
## 24
## 24
L’individu 24 est le mieux projeté sur l’axe 1 avec un cos^2 de :
ResACP$ind$cos2[24,1]
## [1] 0.8913716
factoextra::fviz_pca_ind(ResACP,col.ind="cos2")+ labs(title ="ACP normée (cos2)") +
scale_color_gradient2(low="green", mid="blue",high="red", midpoint=0.6, space="Lab")
Comparer la qualité de projection des individus 4 et 16. Vous pourrez vous appuyer sur les résultats de la question précédente.
Sur le graphe, nous pouvons voir que les individus 4 et 16 sont très bien representés de part leur couleur rosé.
De plus, nous pouvons comparer la qualité de projection des individus 4 et 16 sur le plan 1,2, en regardant la somme des cos^2 sur l’axe 1 et l’axe 2 pour chaque individu.
Ainsi, pour l’individu 4 :
ResACP$ind$cos2[4,1]+ResACP$ind$cos2[4,2]
## [1] 0.8879946
Pour l’individu 16 :
ResACP$ind$cos2[16,1]+ResACP$ind$cos2[16,2]
## [1] 0.9452994
Les résultats nous montrent que les deux individus sont très bien representés (0.8879946 pour l’individu 4 et 0.9452994 pour l’individu 16). L’individu 16 est tout de même mieux representé que l’individu 4 sur le plan 1,2.
Cependant, les individus 27 et 35 sont plutôt mal representé sur le plan 1,2.
# POUR L'HÔTEL 27 :
ResACP$ind$cos2[27,1]+ResACP$ind$cos2[27,2]
## [1] 0.06300269
# POUR L'HÔTEL 35 :
ResACP$ind$cos2[35,1]+ResACP$ind$cos2[35,2]
## [1] 0.03261643
Quelle est la variable la mieux projetée sur l’axe 1 ? La mieux projetée sur l’axe 2 ? La mieux projetée sur le premier plan factoriel ? Donner le cos2 de projection sur le plan pour cette dernière variable.
De même que pour les variables, nous utilisons la fonction which.max pour déterminer la variable la mieux projetée sur l’axe 1.
which.max(ResACP$var$cos2[,1])
## CUISINE
## 4
La variable la mieux representée sur l’axe 1 est donc Cuisine avec un cos^2 sur cet axe de :
## [1] 0.7979705
Et sur l’axe 2 :
which.max(ResACP$var$cos2[,2])
## PLAGE
## 6
La variable la mieux representée sur l’axe 2 est donc Plage avec un cos^2 sur cet axe de :
## [1] 0.2651695
Sur le plan 1,2 :
which.max(ResACP$var$cos2[,2]+ResACP$var$cos2[,1])
## CUISINE
## 4
ResACP$var$cos2[4,2]+ResACP$var$cos2[4,1]
## [1] 0.7979951
La variable la mieux representée sur le plan factoriel 1,2 est Cuisine avec un cos2 de projection sur le plan 1,2 égal à 0.7979951.
factoextra::fviz_pca_var(ResACP,col.var="cos2")+ labs(title ="ACP normée (cos2)") + scale_color_gradient2(low="green", mid="blue",high="red", midpoint=0.6, space="Lab")
Commenter la figure ci-dessus. La figure confirme nos résultats, Cuisine étant de couleur rouge est très bien representée sur le plan 1,2. Les variables Étoile, et Sport semblent aussi très bien representées :
#POUR ETOILE :
ResACP$var$cos2[1,1] + ResACP$var$cos2[1,2]
## [1] 0.7902484
#POUR SPORT :
ResACP$var$cos2[5,1] + ResACP$var$cos2[5,2]
## [1] 0.7753565
Et inversement, la variable Chambre est la moins bien representée sur la plan de part sa couleur verte. Nous pouvons le vérifier :
which.min(ResACP$var$cos2[,1] + ResACP$var$cos2[,2])
## CHAMBRE
## 3
Avec la somme des deux cos^2 sur l’axe 1 et 2 egal à :
## [1] 0.4208207
factoextra::fviz_pca_ind(ResACP,col.ind="contrib")+ labs(title ="ACP normée (contrib)") +
scale_color_gradient2(low="green", mid="blue",high="red", midpoint=0.6, space="Lab")
Faire un commentaire général et donner l’hôtel qui contribue le plus à la construction du plan. Préciser la valeur de sa contribution au plan (NB : se référer au formulaire pour la formule de calcul).
Grâce au graphique, nous pouvons voir que l’individu qui contribue le plus est l’hôtel 25. Vérification :
which.max(ResACP$ind$contrib[,1] +ResACP$ind$contrib[,2] )
## 25
## 25
Calculons sa contribution :
(1/39)*((ResACP$ind$coord[25,1]^2 + ResACP$ind$coord[25,2]^2)/(ResACP$eig[1]+ResACP$eig[2]))
## [1] 0.08774182
La contribution de l’individu 25 est de 8,77 %
Faire un commentaire général et donner la variable contribuant le plus à l’axe 3.
factoextra::fviz_pca_var(ResACP,col.var="contrib")+ labs(title ="ACP normée (contrib)") + scale_color_gradient2(low="green", mid="blue",high="red", midpoint=0.6, space="Lab")
which.max(ResACP$var$contrib[,3])
## CHAMBRE
## 3
La variable “CHAMBRE” est celle qui contribue le plus à l’axe 3 (47.96244%).
Faire un commentaire général et dire en particulier pourquoi la modalité “Tunisie” se retrouve au milieu de l’axe1, en haut du nuage de points, contrairement à la modalité “Maroc”.
plot(ResACP, axes=c(1,2), choix="ind", habillage=8)
La modalité “Tunisie” se retrouve au milieu de l’axe 1, en haut du nuage de points car les hôtels tunisiens sont plus axés sur la plage et le sport. Ils ont de plus des notes moyennes en cuisine et prix. Les hôtels tunisiens sont plus caractérisés d’hôtels balnéaires par rapport aux hôtels marocains.
Inversement, les hôtels marocains, sont plus confort, et étoilés. De même que les hôtels tunisiens,ils ont des notes moyennes sur prix et cuisine. Les hôtels marocains sont plus des hôtels privilégiant le confort.
En analysant certains résultats de cette commande, retrouver les 3 variables expliquant le plus le premier axe, les 3 variables expliquant le plus le second axe. Expliquer la position des hôtels 4 et 16.
Les variables expliquant le plus le premier axe sont :
CUISINE avec une correlation avec f1 de 0.8932920 et une p.value de 2.047891e-14
PRIX avec une correlation avec f1 de 0.7619415 et une p.value de 1.756925e-08
ETOILE avec une correlation avec f1 de 0.7121655 et une p.value de 3.688209e-07
Ainsi, plus un individu aura une forte valeur positive (resp. négative) sur f1 plus il sera caractérisé par de fortes (resp. faibles) valeurs sur les variables CUISINE, PRIX, et ÉTOILE.
Les variables expliquant le mieux le deuxième axe sont :
PLAGE avec une corrélation avec f2 de 0.6728163 et une p.value de 2.703041e-06
SPORT avec une corrélation avec f2 de 0.6721483 et une p.value de 2.788800e-06
ETOILE avec une corrélation avec f2 de -0.5320420 et une p.value de 4.903415e-04
Plus un individu aura une forte valeur positive sur f2 plus il sera caractérisé par des fortes valeurs sur PLAGE et SPORT. Inversement, plus un individu aura une forte valeur négative sur f2 plus il sera caractérisé par une forte valeur sur ÉTOILE.
L’individu 4 est caractérisé les coordonnées ci-dessous sur le plan 1-2:
ResACP$ind$coord[4,1]
## [1] -3.661857
ResACP$ind$coord[4,2]
## [1] -0.2086895
donnees[4,1:7]
## ETOILE CONFORT CHAMBRE CUISINE SPORT PLAGE PRIX
## 4 1 3 56 1 0 8 369
Sa forte abscisse peut être expliquée par le fait que l’hôtel 4 présente des valeurs très faibles en Cuisine (1/10), un prix assez faible (369€) par rapport à la moyenne(529.8974€). Son ordonnée plutôt autour de 0 peut être expliquée par une forte note en Sport (8/10) mais une note très mauvaise de 0/10 sur la variable Plage.
ResACP$ind$coord[16,1]
## [1] -1.753023
ResACP$ind$coord[16,2]
## [1] 2.095012
donnees[16,1:7]
## ETOILE CONFORT CHAMBRE CUISINE SPORT PLAGE PRIX
## 16 0 3 300 5 7 10 421
L’abscisse de l’individu 16 est de -1.753023, plutôt négative, son ordonnée est de 2.095012.
Son abscisse négative peut être expliquée par le fait qu’il ne possède aucune étoile, et par sa note très basse en Confort (3/10), de plus, il présente des notes assez moyenne en Cuisine (5/10) et son prix (421) est plutôt faible par rapport à la moyenne.
Quant à son ordonnée, elle peut être expliquée par ces fortes valeurs en Plage (10/10) et Sport (7/10).
L’axe 3 represente 14.49% de l’inertie totale et l’inertie portée par le plan 1,3 est de 56,96%.
ResACP$var$coord[,3]
## ETOILE CONFORT CHAMBRE CUISINE SPORT PLAGE
## 0.104513729 0.080129272 0.697371613 0.157123059 0.009504542 -0.501551720
## PRIX
## -0.483706536
Comme on est en ACP normée, les corrélations variables-composantes sont aussi les coordonnées des variables. Chambre est assez fortement corrélée positivement avec f3. Plage et Prix sont moyennement corrélées négativement avec f3 Ainsi : Une forte valeur positive sur f3 indique un nombre élevé de Chambre. Une forte valeur négative sur f3 indique un prix et une note sur plage assez élevés.
Cercle des corrélations sur le plan 1,3
plot(ResACP,axes = c(1,3), choix="var")
which.max(ResACP$var$cos2[,3])
## CHAMBRE
## 3
which.max(ResACP$ind$cos2[,3])
## 2
## 2
factoextra::fviz_pca_ind(ResACP,col.ind="cos2", axes =c(1,3))+ labs(title ="ACP normée (cos2)") +
scale_color_gradient2(low="green", mid="blue",high="red", midpoint=0.6, space="Lab")
Ce graphique nous montre qu’une partie des individus n’est pas très bien representé sur ce plan (somme des deux cos2 inférieur à 0.50). En particulier l’individu 8. Nous pouvons le constater avec la somme des cos2 sur chaque axe.
ResACP$ind$cos2[8,1]+ResACP$ind$cos2[8,3]
## [1] 0.001296932
Regardons l’hôtel n°30 :
## ETOILE CONFORT CHAMBRE CUISINE SPORT PLAGE PRIX
## 30 3 6 800 10 10 10 477
Sa situation sur le plan (1,3) s’explique par :
Une note excellente en Cuisine (10/10), en Sport (10/10) ce qui explique son abscisse assez forte et positive. Mais des notes plutôt moyennes sur Prix, Confort (6/10).
Un nombre de chambre très élevé (800 par rapport à 261 en moyenne) ce qui explique son ordonnée plutôt forte et positive.
Regardons l’hôtel n°25 :
## ETOILE CONFORT CHAMBRE CUISINE SPORT PLAGE PRIX
## 25 5 7 169 10 10 10 1101
Sa situation (abscisse positive et forte, et ordonnée négative) sur le plan (1,3) peut s’expliquer par :
Pour son abscisse : Sa note excellente en Cuisine (10/10), son nombre d’étoile (5), et son prix très élevé par rapport à la moyenne (1101€).
Pour son ordonnée : Sa note excellente en Plage ( 10/10), son nombre de chambre moins élevé que la moyenne, et son nombre d’étoile.