PCA et analyse de la correspondance dans leur relation avec Biplot

38

Biplot est souvent utilisé pour afficher les résultats de l' analyse en composantes principales (et des techniques associées). Il s’agit d’un diagramme de dispersion double ou superposé montrant les charges et les scores des composants simultanément. Aujourd'hui, @amoeba m'a informé qu'il avait donné une réponse partant de mon commentaire pour répondre à une question qui demandait comment les coordonnées des biplots étaient générées / mises à l'échelle; et sa réponse considère plusieurs manières en détail. Et @amoeba m'a demandé si je partagerais mon expérience avec biplot.

Mon expérience (à la fois théorique et expérimentale), bien que très modeste, ne montre toutefois que deux choses qui ne sont pas aussi fréquemment reconnues: (1) le biplot devrait être classé comme technique analytique plutôt que comme diagramme de dispersion subsidiaire; (2) L'ACP, l'analyse de la correspondance (et quelques autres techniques bien connues) sont en réalité des cas particuliers du biplot. Ou, au moins, ils sont presque jumeaux à biplot. Si vous pouvez faire un biplot, vous pouvez faire les deux autres.

Ma question est la suivante: comment sont-ils connectés (PCA, CA, Biplot) pour vous? S'il vous plaît, partagez vos pensées. En attendant, je poste mon propre compte à ce sujet. J'aimerais demander plus de réponses et faire des remarques critiques.

tnphns
la source
Hou la la! Je ne m'attendais pas à un fil si massif lorsque j'ai demandé des commentaires :) Merci. +1 pour démarrer une discussion intéressante. Pendant que je digère encore votre réponse, laissez-moi préciser. En disant que j’ai donné une réponse "en s'écartant" de votre commentaire, voulez-vous dire que je l'ai étendue ou que je m'y suis opposée? Je ne voulais certainement pas m'opposer.
amibe dit de réintégrer Monica
Je voulais dire "commencé et développé [pour son propre compte]" Non, je n'ai vu aucune opposition (bien que j'aimerais une opposition d'experts comme vous).
ttnphns

Réponses:

40

SVD

La décomposition en valeurs singulières est à la base des trois techniques apparentées. Let soit table des valeurs réelles. SVD est . Nous pouvons n’utiliser que premiers vecteurs et racines latents pour obtenir tant que meilleure approximation -rank de : . De plus, on notera , , .Xr×cX=Ur×rSr×cVc×cm [mmin(r,c)]X(m)mXX(m)=Ur×mSm×mVc×mU=Ur×mV=Vc×mS=Sm×m

Les valeurs singulières et leurs carrés, les valeurs propres, représentent l’ échelle , aussi appelée inertie , des données. Les vecteurs propres de gauche sont les coordonnées des lignes des données sur les axes principaux; tandis que les vecteurs propres de droite sont les coordonnées des colonnes de données sur ces mêmes axes latents. La totalité de l'échelle (inertie) est stockée dans et les coordonnées et sont donc normalisées par unité (colonne SS = 1).SUmVSUV

Analyse en composantes principales par SVD

Dans PCA, il est convenu de considérer les rangées de comme des observations aléatoires (pouvant aller et venir), mais de considérer les colonnes de comme un nombre fixe de dimensions ou de variables. Il est donc approprié et pratique de supprimer l’effet du nombre de lignes (et uniquement des lignes) sur les résultats, en particulier sur les valeurs propres, en décomposant svd de au lieu de . Notez que cela correspond à la décomposition propre de , étant la taille de l'échantillon . (Souvent, principalement avec des covariances - pour les rendre impartiales - nous préférerons diviser par , mais c'est une nuance.)XXZ=X/rXXX/rrnr1

La multiplication de par une constante ne concerne que ; et restent les coordonnées normalisées par unité des lignes et des colonnes.XSUV

D'ici et partout en dessous, nous redéfinissons , et donnés par svd de , pas de ; étant une version normalisée de , la normalisation varie selon le type d’analyse.SUVZXZX

En multipliant nous ramenons le carré moyen dans les colonnes de à 1. Étant donné que les lignes sont des cas aléatoires, c'est logique. Nous avons ainsi obtenu ce que l’on appelle dans la norme PCA ou les scores normalisés d’observations en composantes principales normalisées , . Nous ne faisons pas la même chose avec car les variables sont des entités fixes.Ur=UUUV

On peut alors conférer des lignes avec toute l'inertie, pour obtenir les coordonnées de ligne, non normalisés également appelés à APC scores composantes principales premières d'observations: . Cette formule sera appelée "voie directe". Le même résultat est renvoyé par ; nous l'appellerons "de manière indirecte".USXV

De manière analogue, nous pouvons conférer des colonnes avec toute l'inertie pour obtenir des coordonnées de colonne non standardisées, également appelées chargements de variable composant entre PCA : [peut ignorer la transposition si est carré], - le "chemin direct". Le même résultat est renvoyé par , - la "voie indirecte". (Les scores des composants principaux normalisés ci-dessus peuvent également être calculés à partir des chargements sous la forme , où sont les chargements.)VSSZUX(AS1/2)A

Biplot

Considérons biplot dans le sens d'une analyse de réduction de dimensionnalité en soi, et pas simplement comme "un double diagramme de dispersion". Cette analyse est très similaire à celle de la PCA. Contrairement à la PCA, les lignes et les colonnes sont traitées symétriquement comme des observations aléatoires, ce qui signifie que est considéré comme un tableau bidirectionnel aléatoire de dimensions différentes. Alors, naturellement, normaliser par les deux et avant SVD: .X rcZ=X/rc

Après svd, calculez les coordonnées de ligne standard comme nous l’avons fait dans PCA: . Faites la même chose (contrairement à PCA) avec les vecteurs de colonne, pour obtenir les coordonnées de colonne standard : . Les coordonnées standard, à la fois des lignes et des colonnes, ont le carré moyen 1.U=UrV=Vc

Nous pouvons conférer des coordonnées de rangées et / ou de colonnes avec l’inertie de valeurs propres comme nous le faisons en PCA. Coordonnées de ligne non standardisées : (voie directe). Coordonnées de colonne non standardisées : (voie directe). Qu'en est-il de la manière indirecte? Vous pouvez facilement déduire par substitutions que la formule indirecte pour les coordonnées de ligne non standardisées est , et pour les coordonnées de colonne non .USVSXV/cXU/r

PCA en tant que cas particulier de Biplot . Vous avez probablement appris des descriptions ci-dessus que PCA et biplot ne diffèrent que par la façon dont elles normalisent en qui est ensuite décomposée. Biplot normalise à la fois le nombre de lignes et le nombre de colonnes; PCA ne normalise que par le nombre de lignes. Par conséquent, il y a une petite différence entre les deux dans les calculs post-DVD. Si vous faites biplot si vous définissez dans ses formules, vous obtiendrez exactement les résultats de la PCA. Ainsi, biplot peut être considéré comme une méthode générique et PCA comme un cas particulier de biplot.XZc=1

[ Centrage de la colonne . Certains utilisateurs peuvent dire: Arrêtez-vous, mais PCA ne requiert-elle pas également et avant tout le centrage des colonnes de données (variables) afin d'expliquer la variance ? Alors que biplot ne peut pas faire le centrage? Ma réponse: seule la PCA au sens étroit permet le centrage et explique la variance; Je parle de PCA linéaire au sens général, PCA, qui explique une somme quelconque d’écarts au carré par rapport à l’origine choisie; vous pouvez choisir le moyen de données, le 0 natif ou ce que vous préférez. Ainsi, l'opération de "centrage" n'est pas ce qui pourrait distinguer PCA de biplot.]

Lignes et colonnes passives

Dans Biplot ou PCA, vous pouvez définir certaines lignes et / ou colonnes sur passive ou supplémentaire. Une ligne ou une colonne passive n'influence pas la SVD et n'influence donc pas l'inertie ni les coordonnées d'autres lignes / colonnes, mais reçoit ses coordonnées dans l'espace des principaux axes produits par les lignes / colonnes actives (non passives).

Pour définir des points (lignes / colonnes) passifs, (1) définissez et le nombre de lignes et de colonnes actives uniquement. (2) Définissez la valeur zéro pour les lignes et les colonnes passives dans avant svd. (3) Utilisez les méthodes "indirectes" pour calculer les coordonnées des lignes / colonnes passives, car leurs valeurs de vecteurs propres seront nulles.rcZ

Dans PCA, lorsque vous calculez les scores des composants pour les nouveaux cas entrants à l'aide des chargements obtenus sur d'anciennes observations ( à l'aide de la matrice de coefficients de score ), vous procédez de la même manière que de prendre ces nouveaux cas dans PCA et de les garder passifs. De même, calculer des corrélations / covariances de certaines variables externes avec les scores des composantes produits par une ACP est équivalent à prendre ces variables dans cette ACP et à les maintenir passives.

Propagation arbitraire de l'inertie

La moyenne des colonnes (MS) des coordonnées standard est 1. Les moyennes des colonnes (MS) des coordonnées non normalisées sont égales à l'inertie des axes principaux respectifs: toute l'inertie des valeurs propres a été donnée à des vecteurs propres pour produire les coordonnées non normalisées.

En biplot : les coordonnées standard des lignes ont MS = 1 pour chaque axe principal. Rangée coordonnées non normalisés, également appelée ligne principales coordonnées ont MS = valeur propre correspondant de . Il en va de même pour les coordonnées standard et non standard (principales) de la colonne.UUS=XV/cZ

Généralement, il n'est pas nécessaire de doter les coordonnées d'inertie ni en totalité ni en aucune. La propagation arbitraire est autorisée, si nécessaire pour une raison quelconque. Soit la proportion d'inertie qui doit aller en lignes. Alors la formule générale des coordonnées de la ligne est: (voie directe) = (voie indirecte). Si nous obtenons les coordonnées de ligne standard, alors qu'avec nous obtenons les coordonnées de ligne principales.p1USp1XVSp11/cp1=0p1=1

De même est la proportion d'inertie qui doit aller aux colonnes. La formule générale des coordonnées de colonne est alors la suivante: (voie directe) = (voie indirecte). Si nous obtenons les coordonnées de colonne standard, alors que coordonnées de colonne principales.p2VSp2XUSp21/rp2=0p2=1

Les formules indirectes générales sont universelles en ce qu'elles permettent de calculer des coordonnées (standard, principales ou intermédiaires) également pour les points passifs, le cas échéant.

Si ils disent que l'inertie est répartie entre les points de ligne et de colonne. Les bi-parcelles , c'est-à-dire lignes-principales-colonnes-standards, sont parfois appelées biplots "forme biplots" ou "conservation métrique par lignes". Les , c'est-à-dire lignes-colonnes-colonnes-principales, sont souvent appelés dans la littérature PCA "biplots de covariance" ou "plots de colonne métrique"; ils affichent des chargements variables ( qui sont juxtaposés à des covariances) plus des scores de composants standardisés, lorsqu'ils sont appliqués dans l'ACP.p1+p2=1p1=1,p2=0p1=0,p2=1

Dans l' analyse de correspondance , est souvent utilisé et est appelé normalisation « symétrique » ou « canonique » par inertie - il permet (mais à une certaine dépense de rigueur géométrique euclidienne) comparer la proximité entre les lignes et les points de colonnes, comme nous peut faire sur la carte dépliante multidimensionnelle.p1=p2=1/2

Analyse de correspondance (modèle euclidien)

L'analyse de correspondance (CA) bidirectionnelle (= simple) est un biplot utilisé pour analyser un tableau de contingence bidirectionnel, c'est-à-dire un tableau non négatif dans lequel les entrées indiquent la signification d'une sorte d'affinité entre une ligne et une colonne. Lorsque le tableau est Fréquences, on utilise l'analyse de correspondance de modèle chi-carré. Lorsque les entrées sont, par exemple, des moyennes ou d’autres scores, un modèle de CA euclidien plus simple est utilisé.

Le modèle CA euclidien est simplement le biplot décrit ci-dessus, sauf que la table est en outre prétraitée avant d’entrer dans les opérations de biplot. En particulier, les valeurs sont normalisées non seulement par et , mais aussi par la somme totale .XrcN

Le prétraitement consiste à centrer puis à normaliser par la masse moyenne. Le centrage peut être varié, le plus souvent: (1) centrage des colonnes; (2) centrage des rangées; (3) un centrage bidirectionnel qui a la même opération que le calcul des résidus de fréquence; (4) centrage des colonnes après égalisation des sommes des colonnes; (5) centrage des lignes après égalisation des sommes des lignes. La normalisation par la masse moyenne est divisée par la valeur de cellule moyenne du tableau initial. Lors de l'étape de pré-traitement, les lignes / colonnes passives, s'il en existe, sont normalisées passivement: elles sont centrées / normalisées par les valeurs calculées à partir des lignes / colonnes actives.

Ensuite, le biplot habituel est fait sur le pré- , en partant de .XZ=X/rc

Biplot pondéré

Imaginez que l'activité ou l'importance d'une ligne ou d'une colonne puisse être n'importe quel nombre compris entre 0 et 1, et pas seulement 0 (passif) ou 1 (actif) comme dans le biplot classique discuté jusqu'à présent. Nous pourrions pondérer les données d'entrée en fonction de ces poids de ligne et de colonne et effectuer un biplot pondéré. Avec le biplot pondéré, plus le poids est important, plus la ligne ou la colonne est influente pour tous les résultats - l'inertie et les coordonnées de tous les points sur les axes principaux.

L'utilisateur fournit les poids de ligne et les poids de colonne. Celles-ci et celles-ci sont d'abord normalisées séparément pour donner la somme de 1. Ensuite, l'étape de normalisation est , et étant les pondérations de la ligne i et de la colonne j . Un poids égal à zéro indique que la ligne ou la colonne est passive.Zij=Xijwiwjwiwj

À ce stade, nous pouvons découvrir que le biplot classique est simplement ce biplot pondéré avec des poids égaux pour toutes les lignes actives et des poids égaux pour toutes les colonnes actives; et le nombre de lignes et de colonnes actives.1/r1/crc

Effectuez SVD de . Toutes les opérations sont les mêmes que dans le biplot classique, la seule différence étant que est à la place de et à la place de . Coordonnées de ligne standard: et coordonnées de colonne standard: . (Il s’agit de lignes / colonnes de poids non nul. Conservez la valeur 0 pour celles de poids zéro et utilisez les formules indirectes ci-dessous pour obtenir les coordonnées standard ou quelles que soient leurs coordonnées.)Zwi1/rwj1/cUi=Ui/wiVj=Vj/wj

Donnez de l'inertie aux coordonnées dans la proportion souhaitée (avec et les coordonnées seront totalement non standardisées ou principales; avec et elles resteront standard). Lignes: (voie directe) = (voie indirecte). Colonnes: (voie directe) = (voie indirecte). Les matrices entre parenthèses sont les matrices diagonales de la colonne et les poids des lignes, respectivement. Pour les points passifs (c'est-à-dire avec des poids nuls), seul le mode de calcul indirect convient. Pour les points actifs (poids positifs), vous pouvez aller dans un sens ou dans l’autre.p1=1p2=1p1=0p2=0USp1X[Wj]VSp11VSp2([Wi]X)USp21

PCA en tant que cas particulier de Biplot revisité . Lors de l'examen des biplots non pondérés, j'ai mentionné précédemment que l'ACP et le biplot sont équivalents, la seule différence étant que biplot considère les colonnes (variables) des données comme des cas aléatoires symétriquement aux observations (lignes). Ayant étendu maintenant biplot à biplot pondéré plus général, nous pouvons encore le réclamer, en observant que la seule différence est que biplot (pondéré) normalise la somme des poids de colonne des données d’entrée à 1, et PCA (pondérée) - au nombre de ( active) colonnes. Voici donc la PCA pondérée introduite. Ses résultats sont proportionnellement identiques à ceux du biplot pondéré. Plus précisément, sic est le nombre de colonnes actives, alors les relations suivantes sont vraies, que ce soit pour la version pondérée ou la version classique des deux analyses:

  • valeurs propres de PCA = valeurs propres de biplot ;c
  • loadings = coordonnées de colonne sous "normalisation principale" des colonnes;
  • scores des composants standardisés = coordonnées de ligne sous "normalisation standard" de lignes;
  • vecteurs propres de PCA = coordonnées de colonne sous "normalisation standard" de colonnes ;/c
  • notes de composant brutes = coordonnées de ligne sous "normalisation principale" des lignes .c

Analyse de la correspondance (modèle du chi carré)

Il s’agit techniquement d’un biplot pondéré où les poids sont calculés à partir d’une table elle-même plutôt que fournie par l’utilisateur. Il est principalement utilisé pour analyser les tableaux croisés de fréquences. Ce biplot rapprochera, en fonction des distances euclidiennes de la parcelle, les distances khi-deux du tableau. La distance khi-carré est mathématiquement la distance euclidienne inversement pondérée par les totaux marginaux. Je n'irai pas plus loin dans les détails de la géométrie du modèle CA du chi carré.

Le prétraitement de la table de fréquence est le suivant: divisez chaque fréquence par la fréquence attendue, puis soustrayez 1. Il est identique d’obtenir le résiduel de fréquence puis de le diviser par la fréquence attendue. Définissez les poids des lignes sur et les poids des colonnes sur , où est la somme marginale de la ligne i (colonnes actives uniquement), est la somme marginale de la colonne j (lignes actives uniquement), est la somme totale active de la table (les trois nombres proviennent de la table initiale).Xwi=Ri/Nwj=Cj/NRiCjN

Puis faites un biplot pondéré: (1) Normalisez en . (2) Les pondérations ne sont jamais nulles (zéro et ne sont pas autorisés dans CA); Cependant, vous pouvez forcer les lignes / colonnes à devenir passives en les mettant à zéro dans , de sorte que leurs poids sont inefficaces sur svd. (3) faire svd. (4) Calculer les coordonnées standard et les données relatives à l'inertie comme dans le biplot pondéré.XZRiCjZ

Dans le modèle CA du chi carré ainsi que dans le modèle CA euclidien utilisant le centrage bidirectionnel, une dernière valeur propre est toujours égale à 0; le nombre maximal possible de dimensions principales est donc .min(r1,c1)

Voir aussi un bon aperçu du modèle chi-carré CA dans cette réponse .

Des illustrations

Voici un tableau de données.

 row     A     B     C     D     E     F
   1     6     8     6     2     9     9
   2     0     3     8     5     1     3
   3     2     3     9     2     4     7
   4     2     4     2     2     7     7
   5     6     9     9     3     9     6
   6     6     4     7     5     5     8
   7     7     9     6     6     4     8
   8     4     4     8     5     3     7
   9     4     6     7     3     3     7
  10     1     5     4     5     3     6
  11     1     5     6     4     8     3
  12     0     6     7     5     3     1
  13     6     9     6     3     5     4
  14     1     6     4     7     8     4
  15     1     1     5     2     4     3
  16     8     9     7     5     5     9
  17     2     7     1     3     4     4
  28     5     3     3     9     6     4
  19     6     7     6     2     9     6
  20    10     7     4     4     8     7

Plusieurs diagrammes de dispersion doubles (en 2 premières dimensions principales) construits sur des analyses de ces valeurs suivent. Les points de colonne sont connectés à l'origine par des pointes pour accentuer visuellement. Il n'y avait pas de lignes ou de colonnes passives dans ces analyses.

Le premier biplot correspond aux résultats SVD de la table de données analysée "telle quelle "; les coordonnées sont la ligne et les vecteurs propres de la colonne.

entrez la description de l'image ici

Vous trouverez ci-dessous une des bi-parcelles possibles provenant de la PCA . La PCA a été réalisée sur les données "telles quelles", sans centrer les colonnes; Cependant, comme il a été adopté dans PCA, la normalisation par le nombre de lignes (le nombre de cas) a été effectuée initialement. Ce biplot spécifique affiche les coordonnées de la ligne principale (scores des composants bruts) et les coordonnées de la colonne principale (charges variables).

entrez la description de l'image ici

Suivant est biplot sensu stricto : La table a été initialement normalisée à la fois par le nombre de lignes et le nombre de colonnes. La normalisation principale (étalement d’inertie) a été utilisée pour les coordonnées des lignes et des colonnes - comme pour l’ACP ci-dessus. Notez la similitude avec le biplot PCA: la seule différence est due à la différence dans la normalisation initiale.

entrez la description de l'image ici

Biplot d' analyse de correspondance de modèle de chi carré . Le tableau de données a été prétraité de manière spéciale. Il incluait un centrage bidirectionnel et une normalisation utilisant des totaux marginaux. C'est un biplot pondéré. L'inertie était répartie sur la ligne et les coordonnées de la colonne de manière symétrique - les deux se situent à mi-chemin entre les coordonnées "principale" et "standard".

entrez la description de l'image ici

Les coordonnées affichées sur tous ces nuages ​​de points:

point      dim1_1   dim2_1   dim1_2   dim2_2   dim1_3   dim2_3   dim1_4   dim2_4
1            .290     .247   16.871    3.048    6.887    1.244    -.479    -.101
2            .141    -.509    8.222   -6.284    3.356   -2.565    1.460    -.413
3            .198    -.282   11.504   -3.486    4.696   -1.423     .414    -.820
4            .175     .178   10.156    2.202    4.146     .899    -.421     .339
5            .303     .045   17.610     .550    7.189     .224    -.171    -.090
6            .245    -.054   14.226    -.665    5.808    -.272    -.061    -.319
7            .280     .051   16.306     .631    6.657     .258    -.180    -.112
8            .218    -.248   12.688   -3.065    5.180   -1.251     .322    -.480
9            .216    -.105   12.557   -1.300    5.126    -.531     .036    -.533
10           .171    -.157    9.921   -1.934    4.050    -.789     .433     .187
11           .194    -.137   11.282   -1.689    4.606    -.690     .384     .535
12           .157    -.384    9.117   -4.746    3.722   -1.938    1.121     .304
13           .235     .099   13.676    1.219    5.583     .498    -.295    -.072
14           .210    -.105   12.228   -1.295    4.992    -.529     .399     .962
15           .115    -.163    6.677   -2.013    2.726    -.822     .517    -.227
16           .304     .103   17.656    1.269    7.208     .518    -.289    -.257
17           .151     .147    8.771    1.814    3.581     .741    -.316     .670
18           .198    -.026   11.509    -.324    4.699    -.132     .137     .776
19           .259     .213   15.058    2.631    6.147    1.074    -.459     .005
20           .278     .414   16.159    5.112    6.597    2.087    -.753     .040
A            .337     .534    4.387    1.475    4.387    1.475    -.865    -.289
B            .461     .156    5.998     .430    5.998     .430    -.127     .186
C            .441    -.666    5.741   -1.840    5.741   -1.840     .635    -.563
D            .306    -.394    3.976   -1.087    3.976   -1.087     .656     .571
E            .427     .289    5.556     .797    5.556     .797    -.230     .518
F            .451     .087    5.860     .240    5.860     .240    -.176    -.325
tnphns
la source
2
Question intéressante (+1) et réponse excellente et complète (+1). Cependant, la réponse IMHO a désespérément besoin d'une aide visuelle pour mieux comprendre toutes ces bonnes mathématiques.
Aleksandr Blekh
1
J'ai ajouté quelques exemples de photos.
15h05
2
Super merci! (Cela ne veut pas dire que je comprends tout, mais au moins, maintenant je suis un peu plus motivé pour essayer :-).
Aleksandr Blekh