diff --git a/INSA/TP anadon/TP3-ACP.html b/INSA/TP anadon/TP3-ACP.html deleted file mode 100644 index 7601037..0000000 --- a/INSA/TP anadon/TP3-ACP.html +++ /dev/null @@ -1,1757 +0,0 @@ - - - - -
- - - - - - - - -Les données étudiées dans ce TP ont été recueillies à Rennes dans -\(112\) stations durant l’été 2001. Les -13 variables observées sont :
-On charge les données, on transforme les variables qualitatives -pluie et vent, et on supprime la dernière variable que -l’on n’utilisera pas dans ce TP.
-Ozone <- read.table("Ozone.txt", header = T)
-Ozone$pluie <- as.factor(Ozone$pluie)
-Ozone$vent <- as.factor(Ozone$vent)
-Ozone <- Ozone[, -11]
-summary(Ozone)
-Ainsi on a un jeu de données composé de \(n=112\) individus et \(p=12\) variables.
-dim(Ozone)
-Question : Pour vous familiariser avec le jeu de -données, quelques statistiques descriptives ont été programmées. -Commentez les résultats.
-ggplot(melt(Ozone[, -c(11, 12)]), aes(x = variable, y = value)) + geom_boxplot()
-
-g1 <- ggplot(Ozone, aes(x = maxO3)) + geom_density()
-g2 <- ggplot(melt(Ozone[, c(2:4)]), aes(x = value, color = variable)) + geom_density()
-g3 <- ggplot(melt(Ozone[, c(5:7)]), aes(x = value, color = variable)) + geom_density()
-g4 <- ggplot(melt(Ozone[, c(8:10)]), aes(x = value, color = variable)) + geom_density()
-grid.arrange(g1, g2, g3, g4, ncol = 2)
-
-ggplot(Ozone, aes(x = pluie)) + geom_bar(aes(y = (..count..)/sum(..count..))) + ylab("") +
- ggtitle("Frequences")
-
-quan <- as.vector(table(Ozone$vent))/nrow(Ozone)
-df <- data.frame(group = levels(Ozone$vent), value = quan)
-ggplot(df, aes(x = "", y = value, fill = group)) + geom_bar(width = 1, stat = "identity") +
- coord_polar("y", start = 0) + theme(legend.position = "bottom")
-Question : Représentez graphiquement les
-corrélations des variables quantitatives (vous pourrez utiliser la
-fonction corrplot()
). Quelles sont les variables
-linéairement corrélées (ou non) ?
# A COMPLETER
-Dans cette section, on décide de faire une analyse en composantes
-principales (ACP) sur les données centrées. A l’aide de la fonction
-scale()
, centrez les données. Vérifiez que les variables
-sont bien centrées avec apply(...,2,mean)
.
OzoneC <- scale(...) # A COMPLETER
-apply(OzoneC, 2, mean)
-Question : A l’aide de la fonction
-diag()
, créez la matrice de poids \(W=\frac 1 n I_n\) et la métrique \(M=I_p\).
W <- ...
-M <- ...
-Question : Quelle matrice cherche-t-on à
-diagonaliser dans ce cadre en ACP ? Programmez cette matrice (rappelons
-que la multiplication matricielle est %*%
) et
-diagonalisez-la à l’aide de la fonction eigen()
.
Gamma <- .... # A COMPLETER
-A <- eigen(...)
-Question : Que représentent les valeurs propres
-(A$values
) dans ce cas ? Que représente la somme de ces
-valeurs propres ? Vérifiez numériquement.
# A COMPLETER
-Question : Calculez les pourcentages (cumulés ou
-non) d’inertie portés par chaque axe. Combien de composantes principales
-décidez-vous de retenir ? Vous pouvez vous aider des fonctions
-sum()
et cumsum()
.
# A COMPLETER
-Question : Que représentent les vecteurs propres
-(A$vectors
) ? Construisez la matrice \(C\) des composantes principales et vérifiez
-que la matrice \(C\) est de dimension
-\(n\times p\). Que représentent les
-coordonnées de la première colonne de \(C\) ?
# A COMPLETER
-Rassurez-vous, nous avons programmé les étapes de l’ACP à des fins
-pédagogiques. En pratique, on utilise la librairie
-FactoMineR
. Et on s’appuie sur la librairie
-factoextra
pour les graphiques.
On commence par programmer l’ACP centrée (pas réduite,
-scale.unit=F
). On peut déclarer à la fonction
-PCA
des variables qualitatives et quantitatives
-supplémentaires, ainsi que des individus supplémentaires. Ces éléments
-ne sont donc pas utilisés pour calculer l’ACP mais peuvent être
-exploités par la suite. Ici, on déclare donc les deux variables
-qualitatives pluie et vent supplémentaires. On trace
-ensuite les valeurs propres avec la fonction
-fviz_eig()
.
respca <- PCA(Ozone, quali.sup = c(11, 12), scale.unit = F, graph = F)
-respca$eig
-fviz_eig(respca)
-Question : Que contient la sortie
-respca$ind$coord$
? Comparez avec les résultats de la
-partie précédente ? Vérifiez visuellement à l’aide de la commande
-fviz_pca_ind(respca)
.
fviz_pca_ind(respca, geom = c("point"))
-Question : Que représentent les graphiques suivants -? Commentez.
-fviz_pca_ind(respca, col.ind = "contrib", geom = c("point"))
-fviz_pca_ind(respca, geom = c("point"), select.ind = list(cos2 = 0.95))
-fviz_pca_ind(respca, habillage = 11, geom = c("point"))
-fviz_pca_ind(respca, habillage = 12, geom = c("point"))
-Question : On représente le graphique des -corrélations entre les variables initiales et les méta-variables. -Commentez.
-plot(respca, choix = "varcor")
-Question : Afin de visualiser les corrélations des
-variables initiales avec toutes les méta-variables, utilisez la fonction
-coorplot()
. Commentez.
corrplot(respca$var$cor, method = "ellipse")
-On fait maintenant une analyse en composantes principales sur les -données centrées et réduites.
-s <- sqrt((n - 1) * apply(OzoneC, 2, var)/n)
-OzoneCR <- OzoneC %*% diag(1/s)
-Question : Comparez OzoneCR
avec
-scale(Ozone[,-c(11,12)])
.
# A COMPLETER
-Question : Quelle matrice cherche-t-on à
-diagonaliser dans ce cadre en ACP ? Programmez cette matrice et
-diagonalisez-la à l’aide de la fonction eigen()
.
Gamma2 <- .... # A COMPLETER
-B <- eigen(...)
-Question : Que représentent les valeurs propres dans -ce cas ? Que représente la somme de ces valeurs propres ? Vérifiez -numériquement.
-# A COMPLETER
-Question : Comment peut-on obtenir les résultats de -cette ACP centrée réduite à partir du tableau de données centrées. -Vérifiez numériquement.
-# A COMPLETER
-Question : On fait une ACP centrée réduite à l’aide
-de la fonction PCA()
de la librairie
-FactoMineR
en imposant scale.unit=T
et on
-trace les valeurs propres à l’aide de fviz_eig()
de la
-librairie factoextra
. Interprétez les résultats.
respca2 <- PCA(Ozone, quali.sup = c(11, 12), scale.unit = T, graph = F)
-respca2$eig
-fviz_eig(respca2)
-Question : Représentez le graphe des individus et
-celui des variables à l’aide des fonctions fviz_pca_ind()
et
-fviz_pca_var()
dans le premier plan factoriel. Quelles
-différences remarquez-vous avec l’ACP centrée ?
# A COMPLETER
-Question : Afin de visualiser les corrélations des
-variables intiales avec toutes les méta-variables, utilisez la fonction
-corrplot()
. Commentez.
# A COMPLETER
-Question : Poursuivez l’exploitation des résultats -en regardant d’autres plans factoriels, en exploitant l’information des -variables qualitatives pluie et vent.
-# A COMPLETER
-