Au risque de rendre la question spécifique au logiciel, et avec l'excuse de son ubiquité et de ses idiosyncrasies, je veux poser des questions sur la fonction biplot()
dans R, et, plus précisément, sur le calcul et le tracé de sa valeur par défaut, des flèches rouges superposées, correspondant aux variables sous-jacentes.
[Pour donner un sens à certains des commentaires, les complots initialement affichés avaient un problème de plus en plus rare et sont maintenant effacés.]
.74752, .66424; -.74752, .66424
.biplot(name_of_the_PCA)
appel, ce qui est le cas dans ce casbiplot(PCA)
. J'avais centré et mis à l'échelle les données.Réponses:
Ce qui suit repose sur l' ensemble de données d' iris dans R , et en particulier les trois premières variables (colonnes)
Sepal.Length, Sepal.Width, Petal.Length
.Un biplot combine un tracé de chargement (vecteurs propres non normalisés) - dans le béton, les deux premiers chargements , et un tracé de score (points de données tournés et dilatés tracés par rapport aux principaux composants). En utilisant le même ensemble de données, @amoeba décrit 9 combinaisons possibles de biplot PCA basées sur 3 normalisations possibles du graphique de score des première et deuxième composantes principales, et 3 normalisations du graphique de chargement (flèches) des variables initiales. Pour voir comment R gère ces combinaisons possibles, il est intéressant de regarder la
biplot()
méthode:D'abord l'algèbre linéaire prête à copier et coller:
1. Reproduction du tracé de chargement (flèches):
Ici, l'interprétation géométrique de ce message de @ttnphns aide beaucoup. La notation du diagramme dans le message a été conservée: représente la variable dans l' espace sujet . est la flèche correspondante finalement tracée; et les coordonnées et sont le composant charge une variable par rapport à et :h ′ a 1 a 2 V PC 1 PC 2V h′ a1 a2 V PC1 PC2
Sepal L.
La composante de la variablePC1
Sepal L.
par rapport à sera alors:qui, si les scores par rapport à - appelons-les - sont standardisés afin que leurS 1PC1 S1
Depuis ,∥V∥=∑x2−−−−√
Également,
Revenons à l'Eq. ,(1)
Dupliquer et chevaucher en bleu les flèches rouges de
biplot()
Points d'interêts:
ou en code R:
ou même encore ...
se connecter avec l' explication géométrique des chargements par @ttnphns , ou cet autre poste informatif également par @ttnphns .
Il y a un facteur d'échelle:,
sqrt(nrow(X) - 1)
qui reste un peu mystérieux.2. Tracer le
biplot()
tracé des scores (et les flèches simultanément):Les axes sont mis à l'échelle en une somme unitaire de carrés, correspondant au premier tracé de la première ligne sur le post de @ amoeba , qui peut être reproduit en traçant la matrice de la décomposition svd (plus de détails plus loin) - " Colonnes de : ce sont les principaux composants mis à l'échelle de la somme unitaire des carrés. "U U
Il y a deux échelles différentes en jeu sur les axes horizontaux inférieur et supérieur dans la construction du biplot:
Cependant, l'échelle relative n'est pas immédiatement évidente, ce qui nécessite de se plonger dans les fonctions et les méthodes:
biplot()
trace les scores sous forme de colonnes de dans SVD, qui sont des vecteurs unitaires orthogonaux:Alors que la
prcomp()
fonction dans R renvoie les scores mis à l'échelle à leurs valeurs propres:Par conséquent, nous pouvons mettre la variance à en divisant par les valeurs propres:1
Mais comme nous voulons que la somme des carrés soit , nous devons diviser par car:1 n−1−−−−−√
Il convient de noter que l'utilisation du facteur d'échelle , est modifiée ultérieurement en lorsque la définition de l'explication semble résider dans le fait quen−1−−−−−√ n−−√
lan
Après les avoir dépouillés de toutes les
if
déclarations et autres peluches de ménage,biplot()
procède comme suit:qui, comme prévu, reproduit (image de droite ci-dessous) la
biplot()
sortie appelée directement avecbiplot(PCA)
(graphique de gauche ci-dessous) dans toutes ses imperfections esthétiques intactes:Points d'interêts:
ratio
). AS @amoeba commente:la source
R
à votre question parce que la matière déroutante (à savoir, le coefficient de mise à l'échelle) s'est avérée être en partie spécifique à R. En général, vous avez pu constater par vous-même que le biplot PCA est un nuage de points de superposition des scores des composants (coordonnées des lignes) et des coefficients de direction des composants (coordonnées des colonnes), et puisque diverses quantités de standardisations par "inertie" (variance) peuvent être appliquées à chaque également, de sorte que différents aspects du biplot peuvent apparaître. Pour ajouter: le plus souvent (plus de sens), les chargements sont affichés sous forme de coordonnées de colonne (flèches).