FactoMineR: variables centrées-réduites

Postez ici vos questions, réponses, commentaires ou suggestions - Les sujets seront ultérieurement répartis dans les archives par les modérateurs

Modérateur : Groupe des modérateurs

Stéphane Laurent
Messages : 1557
Enregistré le : 05 Déc 2006, 19:07

FactoMineR: variables centrées-réduites

Messagepar Stéphane Laurent » 28 Sep 2016, 12:06

Bonjour,
Je m'interroge sur comment procède FactoMineR pour centrer-réduire quand on fait une ACP. Ou alors sur ce qui explique la différence qu'on observe ci-dessous.

Là je centre-réduis avec la fonction scale() et je fais l'ACP sur le tableau centré-réduit, sans l'option centrer-réduire:

Code : Tout sélectionner

> library(FactoMineR)
> X0 <- USArrests
> X <- scale(X0)
> # run PCA
> acp <- PCA(X, scale.unit = FALSE, ncp=2)
> # coordinates on the principal components
> head(acp$ind$coord)
                Dim.1      Dim.2
Alabama     0.9756604 -1.1220012
Alaska      1.9305379 -1.0624269
Arizona     1.7454429  0.7384595
Arkansas   -0.1399989 -1.1085423
California  2.4986128  1.5274267
Colorado    1.4993407  0.9776297

Je retrouve bien les coordonnées sur les composantes principales ainsi :

Code : Tout sélectionner

> # principal components
> pc <- acp$svd$V
> head(as.matrix(X)%*%pc)
                 [,1]       [,2]
Alabama     0.9756604 -1.1220012
Alaska      1.9305379 -1.0624269
Arizona     1.7454429  0.7384595
Arkansas   -0.1399989 -1.1085423
California  2.4986128  1.5274267
Colorado    1.4993407  0.9776297


Mais quand je centre-réduis avec FactoMineR, il y a une légère différence :

Code : Tout sélectionner

> # run PCA
> acp <- PCA(X0, scale.unit = TRUE, ncp=2)
> # coordinates on the principal components
> head(acp$ind$coord)
                Dim.1      Dim.2
Alabama     0.9855659 -1.1333924
Alaska      1.9501378 -1.0732133
Arizona     1.7631635  0.7459568
Arkansas   -0.1414203 -1.1197968
California  2.5239801  1.5429340
Colorado    1.5145629  0.9875551

Savez-vous d'où provient cette différence ?
Bon je n'ai pas encore exploré le code de la fonction PCA() pour voir ce qu'elle fait.

Maxime Hervé
Messages : 427
Enregistré le : 03 Mar 2010, 14:21
Contact :

Re: FactoMineR: variables centrées-réduites

Messagepar Maxime Hervé » 28 Sep 2016, 12:38

Bonjour,

une réduction qui utilise n-1 et l'autre n ?

Maxime

Stéphane Laurent
Messages : 1557
Enregistré le : 05 Déc 2006, 19:07

Re: FactoMineR: variables centrées-réduites

Messagepar Stéphane Laurent » 28 Sep 2016, 13:06

Merci Maxime, c'est ça !

Code : Tout sélectionner

> X1 <- apply(as.matrix(X0), 2, function(x) (x-mean(x))/(sd(x)*sqrt(1-1/length(x))))
> # run PCA
> acp <- PCA(X1, scale.unit = FALSE, ncp=2)
> # coordinates on the principal components
> head(acp$ind$coord)
                Dim.1      Dim.2
Alabama     0.9855659 -1.1333924
Alaska      1.9501378 -1.0732133
Arizona     1.7631635  0.7459568
Arkansas   -0.1414203 -1.1197968
California  2.5239801  1.5429340
Colorado    1.5145629  0.9875551


Retourner vers « Questions en cours »

Qui est en ligne

Utilisateurs parcourant ce forum : Google [Bot] et 1 invité