Interpretación de gráficos de análisis de correspondencia 2D

19

He estado buscando en Internet a lo largo y ancho ... Todavía no he encontrado una buena visión general de cómo interpretar los gráficos de análisis de correspondencia 2D. ¿Podría alguien ofrecer algún consejo para interpretar las distancias entre puntos?

Quizás un ejemplo ayudaría, aquí hay una trama que se encuentra en muchos de los sitios web que he visto que analizan el análisis de correspondencia. Los triángulos rojos representan el color de los ojos y los puntos negros representan el color del cabello.

texto alternativo

Mirando el gráfico anterior, ¿podría hacer algunas declaraciones sobre lo que ve en estos datos? ¿Puntos de interés sobre las diferentes dimensiones y relaciones entre triángulos y puntos?

Una explicación de los puntos de fila frente a los puntos de columna, y el uso de la palabra "perfil" con un enfoque particular en el ejemplo sería instrumental.

Brandon Bertelsen
fuente
1
Además de la excelente cuenta de @ chl a continuación, considere también esta que considera CA y PCA simples como formas de "análisis biplot".
ttnphns

Respuestas:

24

Primero, hay diferentes formas de construir los llamados biplots en el caso del análisis de correspondencia. En todos los casos, la idea básica es encontrar una manera de mostrar la mejor aproximación 2D de las "distancias" entre las celdas de fila y de columna. En otras palabras, buscamos una jerarquía (también hablamos de "ordenación") de las relaciones entre filas y columnas de una tabla de contingencia.

Muy brevemente, CA descompone la estadística de chi-cuadrado asociada con la tabla de dos vías en factores ortogonales que maximizan la separación entre los puntajes de fila y columna (es decir, las frecuencias calculadas a partir de la tabla de perfiles). Aquí, verá que hay alguna conexión con PCA pero la medida de varianza (o la métrica) retenida en CA es el , que solo depende de los perfiles de columna (ya que tiende a dar más importancia a las modalidades que tienen valores marginales grandes , también podemos volver a ponderar los datos iniciales, pero esta es otra historia).χ2

Aquí hay una respuesta más detallada. La implementación que se propone en la corresp()función (en MASS) se deduce de una vista de CA como una descomposición SVD de matrices codificadas ficticias que representan las filas y columnas (de modo que , con N la muestra total). Esto está a la luz con el análisis de correlación canónica. Por el contrario, la escuela francesa de análisis de datos considera a CA como una variante del PCA, donde busca las direcciones que maximizan la "inercia" en la nube de datos. Esto se hace diagonalizando la matriz de inercia calculada a partir de la tabla bidireccional centrada y escalada (por frecuencias marginales), y expresando perfiles de fila y columna en este nuevo sistema de coordenadas.RtC=nortenorte

Si considera una tabla con filas y j = 1 , ... , J columnas, cada fila se pondera por su suma marginal correspondiente que produce una serie de frecuencias condicionales asociadas a cada fila: f j | i = n i j / n i . La columna marginal se llama perfil medio (para filas). Esto nos da un vector de coordenadas, también llamado perfil (por fila). Para la columna, tenemos f i | jyo=1,...,yoj=1,...,JFjEl |yo=norteyoj/ /norteyo . En ambos casos, consideraremos losperfiles de fila I (asociados a su peso f i ) como individuos en el espacio de la columna, y losperfiles de columna J (asociados a su peso f j ) como individuos en el espacio de la fila. La métrica utilizada para calcular la proximidad entre dos individuos es ladistancia χ 2 . Por ejemplo, entre dos filas i e i , tenemosFyoEl |j=norteyoj/ /nortejyoFyoJFjχ2yoyo

reχ22(yo,yo)=j=1Jnortenortej(norteyojnorteyo-norteyojnorteyo)2

χ2H0 0norteyo×nortej/ /norte(yo,j)

χ2cos2yojχ2chisq.test(tab)$expected-chisq.test(tab)$observed

χ2norteϕ2

En realidad, hay varios paquetes que pueden proporcionarle las CA mejoradas en comparación con la función disponible en el MASSpaquete: ade4 , FactoMineR , Anacor , y ca .

La última es la que se utilizó para su ilustración en particular, y se publicó un artículo en el Journal of Statistical Software que explica la mayor parte de sus funcionalidades: Análisis de Correspondencias en R, con gráficos bidimensionales y tridimensionales: la ca paquete .

Por lo tanto, su ejemplo sobre los colores de ojos / cabello se puede reproducir de muchas maneras:

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))

En todos los casos, lo que leemos en el biplot resultante es básicamente (limito mi interpretación al primer eje que explica la mayor parte de la inercia):

  • el primer eje resalta la clara oposición entre el color del cabello claro y oscuro, y entre los ojos azules y marrones;
  • las personas con cabello rubio también tienden a tener ojos azules, y las personas con cabello negro tienden a tener ojos marrones.

Hay muchos recursos adicionales sobre análisis de datos en el laboratorio de bioinformática de Lyon, en Francia. Esto es principalmente en francés, pero creo que no sería un problema para ti. Los siguientes dos folletos deberían ser interesantes como primer comienzo:

k

chl
fuente
1
@Brandon El primer eje es un eje de "dominio" (claro -> oscuro) para ambas modalidades, pero también podemos ver que el primer eje opone los ojos azules y verdes a los ojos marrones y avellana (sus coordenadas son de signos opuestos), y la combinación de cabello rojo / ojos verdes, que es bastante poco común, contribuye principalmente al eje del segundo factor. Como este eje solo explica el 9.5% de la inercia total, es bastante difícil sacar conclusiones firmes (especialmente, hipótesis genéticas).
chl
1
@Brandon Dos referencias más (en inglés esta vez): el curso PBIL ( j.mp/cHZT7X ) y los recursos de Michael Friendly ( j.mp/cYHyVn + vcdy vcdExtrapaquetes R, este último incluye una bonita viñeta).
chl
2
@ Brandon Sí, una modalidad = una categoría para su variable. Para su segunda pregunta, cores la correlación al cuadrado con el eje y ctres la contribución (debe dividirse entre 10 para leerse como%). Entonces, el "cabello rojo" contribuye con el 55.1% de la inercia del segundo eje. En cierto sentido, encontré que la salida de FactoMineR es más "intuitiva" ( CA(tab, graph=FALSE)$row$contrible da directamente el%).
chl
1
@chl: wow, para alguien que no sabe nada sobre CCA o el "estilo francés", ¡esta fue una gran lectura! Muchas gracias. También encontré esto con algunos google que podrían ser de interés: www-stat.stanford.edu/~susan/papers/dfc.pdf
ars
1
@ars (+1) Gracias por el enlace (no sabía sobre esta monografía, parece interesante). Mis mejores recomendaciones para desarrollos recientes son en realidad TODOS los documentos de Jan de Leeuw y estos dos libros: Análisis de correspondencia múltiple y métodos relacionados de Greenacre, y Análisis de datos geométricos: del análisis de correspondencia al análisis de datos estructurados de Le Roux y Rouanet (al estilo francés) .
chl