Interprétation des tracés d'analyse de correspondance 2D

19

J'ai cherché sur Internet de très loin ... Je n'ai pas encore trouvé un très bon aperçu de la façon d'interpréter les tracés d'analyse de correspondance 2D. Quelqu'un pourrait-il donner des conseils sur l'interprétation des distances entre les points?

Un exemple pourrait peut-être aider, voici un complot que l'on trouve sur de nombreux sites Web que j'ai vus et qui traitent de l'analyse des correspondances. Les triangles rouges représentent la couleur des yeux et les points noirs représentent la couleur des cheveux.

texte alternatif

En regardant le graphique ci-dessus, pourriez-vous faire quelques déclarations sur ce que vous voyez dans ces données. Points d'intérêt sur les différentes dimensions et relations entre les triangles et les points?

Une explication des points de ligne vers les points de colonne, et l'utilisation du mot "profil" avec un accent particulier sur l'exemple serait utile.

Brandon Bertelsen
la source
1
En plus de l'excellent compte de @ chl ci-dessous, considérez également celui- ci considérant les simples CA et PCA comme de simples formes "d'analyse biplot".
ttnphns

Réponses:

24

Premièrement, il existe différentes façons de construire ce qu'on appelle des biplots dans le cas de l'analyse des correspondances. Dans tous les cas, l'idée de base est de trouver un moyen de montrer la meilleure approximation 2D des "distances" entre les cellules de ligne et les cellules de colonne. En d'autres termes, nous recherchons une hiérarchie (nous parlons également d '"ordination") des relations entre les lignes et les colonnes d'un tableau de contingence.

Très brièvement, CA décompose la statistique du chi carré associée au tableau bidirectionnel en facteurs orthogonaux qui maximisent la séparation entre les scores des lignes et des colonnes (c'est-à-dire les fréquences calculées à partir du tableau des profils). Ici, vous voyez qu'il y a un lien avec PCA mais la mesure de la variance (ou la métrique) retenue dans CA est le , qui ne dépend que des profils de colonne (car il a tendance à donner plus d'importance aux modalités qui ont de grandes valeurs marginales, nous pouvons également repondérer les données initiales, mais c'est une autre histoire).χ2

Voici une réponse plus détaillée. L'implémentation proposée dans la corresp()fonction (in MASS) découle d'une vue de CA comme une décomposition SVD de matrices codées factices représentant les lignes et les colonnes (telles que , avec l'échantillon total). C'est à la lumière de l'analyse de corrélation canonique. En revanche, l'école française d'analyse des données considère CA comme une variante de l'ACP, où l'on cherche les directions qui maximisent l '«inertie» dans le nuage de données. Cela se fait en diagonalisant la matrice d'inertie calculée à partir de la table bidirectionnelle centrée et mise à l'échelle (par fréquences marginales), et en exprimant les profils de ligne et de colonne dans ce nouveau système de coordonnées.RtC=NN

Si vous considérez un tableau avec lignes et colonnes, chaque ligne est pondérée par sa somme marginale correspondante qui donne une série de fréquences conditionnelles associées à chaque ligne: . La colonne marginale est appelée profil moyen (pour les lignes). Cela nous donne un vecteur de coordonnées, également appelé profil (par ligne). Pour la colonne, nous avons . Dans les deux cas, nous considérerons les profils de ligne (associés à leur poids ) comme des individus dans l'espace de colonne, et les profils de colonne (associés à leur poidsi=1,,Ij=1,,Jfj|i=nij/nifi|j=nij/njIfiJfj ) en tant qu'individus dans l'espace de ligne. La métrique utilisée pour calculer la proximité entre deux individus est la distance . Par exemple, entre deux rangées et , nous avonsχ2ii

dχ22(i,i)=j=1Jnnj(nijninijni)2

Vous pouvez également voir le lien avec la statistique en notant que c'est simplement la distance entre les dénombrements observés et attendus, où les dénombrements attendus (sous , indépendance des deux variables) sont calculés comme pour chaque cellule . Si les deux variables devaient être indépendantes, les profils de lignes seraient tous égaux et identiques au profil marginal correspondant. En d'autres termes, lorsqu'il y a indépendance, votre table de contingence est entièrement déterminée par ses marges.H 0 n i × n j / n ( i , j )χ2H0ni×nj/n(i,j)

Si vous réalisez une PCA sur les profils de ligne (vus comme des individus), en remplaçant la distance euclidienne par lecos 2 i j χ 2χ2distance, alors vous obtenez votre CA. Le premier axe principal est la ligne la plus proche de tous les points, et la valeur propre correspondante est l'inertie expliquée par cette dimension. Vous pouvez faire de même avec les profils de colonne. On peut montrer qu'il existe une symétrie entre les deux approches, et plus précisément que les principaux composants (PC) pour les profils de colonne sont associés aux mêmes valeurs propres que les PC pour les profils de ligne. Ce qui est montré sur un biplot est les coordonnées des individus dans ce nouveau système de coordonnées, bien que les individus soient représentés dans un espace factoriel séparé. Pourvu que chaque individu / modalité soit bien représenté dans son espace factoriel (vous pouvez regarder lecos2de la modalité avec le 1er axe principal, qui est une mesure de la corrélation / association), vous pouvez même interpréter la proximité entre les éléments et de votre table de contingence (comme cela peut être fait en regardant les résidus de votre test d'indépendance, par exemple ).ijχ2chisq.test(tab)$expected-chisq.test(tab)$observed

L'inertie totale de votre CA (= la somme des valeurs propres) est la statistique divisée par (qui est Pearson ). n ϕ 2χ2nϕ2

En fait, il y a plusieurs paquets qui peuvent vous fournir des CA renforcé par rapport aux fonctions disponibles dans le MASSpackage: ade4 , FactoMineR , Anacor et ca .

Le dernier est celui qui a été utilisé pour votre illustration particulière et un document a été publié dans le Journal of Statistical Software qui explique la plupart de ses fonctionnalités: analyse des correspondances dans R, avec deux et trois dimensions graphiques: Le paquet ca .

Ainsi, votre exemple sur les couleurs des yeux / cheveux peut être reproduit de plusieurs façons:

data(HairEyeColor)
tab <- apply(HairEyeColor, c(1, 2), sum) # aggregate on gender
tab

library(MASS)
plot(corresp(tab, nf=2))
corresp(tab, nf=2)

library(ca)
plot(ca(tab))
summary(ca(tab, nd=2))

library(FactoMineR)
CA(tab)
CA(tab, graph=FALSE)$eig  # == summary(ca(tab))$scree[,"values"]
CA(tab, graph=FALSE)$row$contrib

library(ade4)
scatter(dudi.coa(tab, scannf=FALSE, nf=2))

Dans tous les cas, ce que nous lisons dans le biplot résultant est fondamentalement (je limite mon interprétation au 1er axe qui a expliqué la majeure partie de l'inertie):

  • le premier axe met en évidence l'opposition claire entre la couleur des cheveux clairs et foncés, et entre les yeux bleus et bruns;
  • les personnes aux cheveux blonds ont également tendance à avoir les yeux bleus et les personnes aux cheveux noirs ont tendance à avoir les yeux bruns.

Il y a beaucoup de ressources supplémentaires sur l'analyse des données sur le laboratoire de bioinformatique de Lyon, en France. C'est principalement en français, mais je pense que ce ne serait pas trop un problème pour vous. Les deux documents suivants devraient être intéressants comme premier départ:

Enfin, lorsque vous envisagez un codage disjonctif (factice) complet de variables, vous obtenez l' analyse de correspondance multiple .k

chl
la source
1
@Brandon Le 1er axe est un axe de "dominance" (clair -> foncé) pour les deux modalités, mais on peut aussi voir que le 1er axe oppose les yeux bleus et verts aux yeux marron et noisette (leurs coordonnées sont de signes opposés), et la combinaison cheveux roux / yeux verts - ce qui est assez rare - contribue principalement au deuxième axe des facteurs. Cet axe n'expliquant que 9,5% de l'inertie totale, il est assez difficile de tirer des conclusions définitives (notamment par rapport aux hypothèses génétiques).
chl
1
@Brandon Deux autres références (en anglais cette fois): le cours PBIL ( j.mp/cHZT7X ) et les ressources de Michael Friendly ( j.mp/cYHyVn + vcdet vcdExtrapackages R, ce dernier comprenant une jolie vignette).
chl
2
@Brandon Oui, une modalité = une catégorie pour votre variable. Pour votre 2ème question, corest la corrélation au carré avec l'axe, et ctrest la contribution (elle doit être divisée par 10 pour être lue en%). Les "cheveux roux" contribuent ainsi à 55,1% de l'inertie du 2ème axe. Dans un certain sens, j'ai trouvé la sortie FactoMineR plus "intuitive" ( CA(tab, graph=FALSE)$row$contribvous donne directement le%).
chl
1
@chl: wow, pour quelqu'un qui ne connaît rien au CCA ou à la "French way", c'était une excellente lecture! Merci beaucoup. J'ai également trouvé cela avec une recherche sur Google qui pourrait être intéressante: www-stat.stanford.edu/~susan/papers/dfc.pdf
ars
1
@ars (+1) Merci pour le lien (ne connaissant pas cette monographie, elle a l'air intéressante). Mes meilleures recommandations pour les développements récents sont en fait TOUS les articles de Jan de Leeuw et ces deux livres: analyse des correspondances multiples et méthodes connexes de Greenacre et analyse des données géométriques: de l'analyse des correspondances à l'analyse des données structurées de Le Roux & Rouanet. .
chl