J'utilise un script. C'est pour les enregistrements de base. J'ai un dataframe qui montre les différentes compositions élémentaires dans les colonnes sur une profondeur donnée (dans la première colonne). Je veux effectuer un PCA avec et je suis confus quant à la méthode de standardisation que je dois choisir.
L'un de vous a-t-il utilisé le clr()
pour préparer vos données pour le prcomp()
? Ou cela altère-t-il mes solutions. J'ai essayé d'utiliser le clr()
sur les données avant d'utiliser la prcomp()
fonction en plus d'utiliser l'échelle d'attribut dans prcomp()
.
data_f_clr<- clr(data_f)
data_pca <- prcomp(data_f, center = TRUE, scale. = TRUE)
https://stat.ethz.ch/R-manual/R-devel/library/stats/html/prcomp.html
l'échelle est décrite pour mettre à l'échelle les données, de sorte qu'elles présentent une variance unitaire. Étant donné que mes données ont une échelle très différente, c'est ce que je voulais, je pense. Le problème est que je reçois une solution différente, lorsque j'utilise le code ci-dessus ou lorsque je saute le clr()
(ce qui rend le résultat le plus recherché). Mais je veux savoir pourquoi est-ce clr()
dérangeant dans ce cas?
clr
qui ...Réponses:
Oui, vous pouvez, et en fait vous devriez, lorsque vos données sont de composition.
Une revue du domaine de la microbiologie peut être trouvée ici, ce qui motive à utiliser la transformation CLR suivie par l'ACP pour analyser les jeux de données du microbiome (qui sont par définition compositionnels): https://www.frontiersin.org/articles/10.3389/fmicb .2017.02224 / complet .
la source
Vous pouvez rencontrer des problèmes avec vanilla PCA sur les coordonnées CLR. Il y a deux problèmes majeurs avec les données de composition:
Maintenant, considérez que
En d'autres termes, CLR supprime la restriction de plage de valeurs (ce qui est bon pour certaines applications), mais ne supprime pas la contrainte de somme, résultant en une matrice de covariance singulière, qui casse effectivement (M) ANOVA / régression linéaire / ... et rend ACP sensible aux valeurs aberrantes (car une estimation de covariance robuste nécessite une matrice de rang complet). Pour autant que je sache, de toutes les transformations de composition, seul ILR traite les deux problèmes sans aucune hypothèse sous-jacente majeure. La situation est cependant un peu plus compliquée. Les coordonnées SVD des CLR vous donnent une base orthogonale dans l'espace ILR (les coordonnées ILR s'étendent sur un hyperplan en CLR), donc vos estimations de la variance ne différeront pas entre ILR et CLR (c'est bien sûr évident, car ILR et CLR sont des isométries sur le simplex). Il existe cependant des méthodes d'estimation de covariance robuste sur les coordonnées ILR [2].
Mettre à jour I
Juste pour illustrer que CLR n'est pas valide pour les méthodes de corrélation et de localisation. Supposons que nous échantillonnions une communauté de trois composants distribués normalement linéairement indépendants 100 fois. Par souci de simplicité, laissez tous les composants ont des attentes (100) et des variances (100) égales:
Mise à jour II
Compte tenu des réponses que j'ai reçues, je trouve nécessaire de souligner qu'à aucun moment dans ma réponse, je n'ai dit que PCA ne fonctionne pas sur les données transformées par CLR. J'ai déclaré que le CLR peut briser l'ACP de manière subtile , ce qui peut ne pas être important pour la réduction de la dimensionnalité, mais est important pour l'analyse des données exploratoires. L'article cité par @Archie couvre l'écologie microbienne. Dans ce domaine de la biologie computationnelle, l'ACP ou l'APCo sur diverses matrices de distance est utilisée pour explorer les sources de variation des données. Ma réponse ne doit être considérée que dans ce contexte. En outre, cela est souligné dans le document lui-même:
Gloor et al., 2017
Mise à jour III
Références supplémentaires aux recherches publiées (je remercie @Nick Cox pour la recommandation d'ajouter plus de références):
la source