Interpretando gráficos de análise de correspondência 2D

19

Eu estive pesquisando na Internet em toda parte ... Ainda não encontrei uma visão geral muito boa de como interpretar gráficos de análise de correspondência 2D. Alguém poderia dar alguns conselhos sobre como interpretar as distâncias entre pontos?

Talvez um exemplo ajude, aqui está um gráfico que é encontrado em muitos dos sites que eu vi que discutem a análise de correspondência. Os triângulos vermelhos representam a cor dos olhos e os pontos pretos representam a cor do cabelo.

texto alternativo

Olhando para o gráfico acima, você pode fazer algumas afirmações sobre o que vê nesses dados. Pontos de interesse sobre as diferentes dimensões e relações entre triângulos e pontos?

Uma explicação dos pontos de linha em relação aos pontos da coluna e o uso da palavra "perfil", com foco particular no exemplo, seriam instrumentais.

Brandon Bertelsen
fonte
1
Além da excelente conta do @ chl abaixo, considere também esta considerando CA e PCA simples como apenas formas de "análise biplot".
ttnphns

Respostas:

24

Primeiro, existem diferentes maneiras de construir os chamados biplots no caso da análise de correspondência. Em todos os casos, a idéia básica é encontrar uma maneira de mostrar a melhor aproximação 2D das "distâncias" entre células de linha e células de coluna. Em outras palavras, buscamos uma hierarquia (também falamos de "ordenação") dos relacionamentos entre linhas e colunas de uma tabela de contingência.

Muito brevemente, a CA decompõe a estatística qui-quadrado associada à tabela bidirecional em fatores ortogonais que maximizam a separação entre as pontuações de linha e coluna (ou seja, as frequências calculadas a partir da tabela de perfis). Aqui, você vê que existe alguma conexão com o PCA, mas a medida de variação (ou a métrica) retida na CA é , que depende apenas dos perfis das colunas (pois tende a dar mais importância às modalidades com grande valores marginais, também podemos re-ponderar os dados iniciais, mas isso é outra história).χ2

Aqui está uma resposta mais detalhada. A implementação proposta na corresp()função (in MASS) segue a visão de CA como uma decomposição SVD de matrizes codificadas fictícias que representam as linhas e colunas (como , com a amostra total). Isso está à luz da análise de correlação canônica. Por outro lado, a escola francesa de análise de dados considera a CA como uma variante do PCA, onde você procura as direções que maximizam a "inércia" na nuvem de dados. Isso é feito diagonalizando a matriz de inércia calculada da tabela bidirecional centralizada e escalonada (por frequências marginais) e expressando os perfis de linha e coluna neste novo sistema de coordenadas.NRtC=NN

Se você considerar uma tabela com colunas linhas, e , cada linha será ponderada por sua soma marginal correspondente, que gera uma série de frequências condicionais associadas a cada linha: . A coluna marginal é chamada de perfil médio (para linhas). Isso nos dá um vetor de coordenadas, também chamado de perfil (por linha). Para a coluna, temos . Nos dois casos, consideraremos os perfis de linha (associados ao seu peso ) como indivíduos no espaço da coluna e os perfis da coluna (associados ao seu pesoj = 1 , , J f j | i = n i j / n i f i | j = n i j / n j I f i J f j χ 2 i i Eu=1,...,Euj=1,...,Jfj|i=nij/nEufi|j=nij/njIfiJfj ) como indivíduos no espaço de linha. A métrica usada para calcular a proximidade entre dois indivíduos é a distância . Por exemplo, entre duas linhas e , temosχ2ii

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

Você também pode ver o link com a estatística observando que é simplesmente a distância entre as contagens observadas e esperadas, onde as contagens esperadas (em , independência das duas variáveis) são computadas como para cada célula . Se as duas variáveis ​​fossem independentes, os perfis de linha seriam todos iguais e idênticos ao perfil marginal correspondente. Em outras palavras, quando existe independência, sua tabela de contingência é inteiramente determinada por suas margens.χ2H0ni×nj/n(i,j)

Se você realizar um PCA nos perfis de linha (visualizados como indivíduos), substituindo a distância euclidiana peloχ2distância, então você recebe seu CA. O primeiro eixo principal é a linha que está mais próxima de todos os pontos, e o valor próprio correspondente é a inércia explicada por esta dimensão. Você pode fazer o mesmo com os perfis de coluna. Pode ser demonstrado que existe uma simetria entre as duas abordagens e, mais especificamente, que os componentes principais (PC) dos perfis de coluna estão associados aos mesmos valores próprios que os PCs para os perfis de linha. O que é mostrado em um biplot são as coordenadas dos indivíduos nesse novo sistema de coordenadas, embora os indivíduos sejam representados em um espaço fatorial separado. Desde que cada indivíduo / modalidade esteja bem representado em seu espaço fatorial (você pode ver oporque2da modalidade com o 1º eixo principal, que é uma medida da correlação / associação), você pode até interpretar a proximidade entre elementos e de sua tabela de contingência (como pode ser feito olhando para os resíduos do seu teste de independência, por exemplo ).Eujχ2chisq.test(tab)$expected-chisq.test(tab)$observed

A inércia total do seu CA (= a soma dos valores próprios) é a estatística dividida por (que é Pearson ).χ2nϕ2

Na verdade, existem vários pacotes que podem fornecê-lo com CAs melhorados em comparação com a função disponível no MASSpacote: ade4 , FactoMineR , Anacor , e ca .

A mais recente é a que foi usado para sua ilustração particular, e um documento foi publicado no Journal of Statistical Software que explica a maioria de seus functionnalities: Análise de Correspondência em R, com gráficos em duas e três dimensões: a ca Package .

Portanto, seu exemplo de cores de olhos / cabelos pode ser reproduzido de várias maneiras:

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

Em todos os casos, o que lemos no biplot resultante é basicamente (limito minha interpretação ao 1º eixo que explica a maior parte da inércia):

  • o primeiro eixo destaca a clara oposição entre a cor do cabelo claro e escuro e entre os olhos azuis e castanhos;
  • as pessoas com cabelos loiros também tendem a ter olhos azuis e as pessoas com cabelos pretos tendem a ter olhos castanhos.

Existem muitos recursos adicionais em análise de dados no laboratório de bioinformática de Lyon, na França. Isso é principalmente em francês, mas acho que não seria um problema demais para você. Os dois folhetos a seguir devem ser interessantes como primeiro começo:

Finalmente, quando você considera uma codificação disjuntiva completa (fictícia) de variáveis, você obtém a análise de correspondência múltipla .k

chl
fonte
1
@Brandon O 1º eixo é um eixo de "dominância" (claro -> escuro) para ambas as modalidades, mas também podemos ver que o 1º eixo opõe os olhos azuis e verdes aos olhos castanhos e castanhos (suas coordenadas são de sinais opostos), e a combinação de cabelos ruivos e olhos verdes - o que é bastante incomum - contribuem principalmente para o segundo eixo fatorial. Como esse eixo explica apenas 9,5% da inércia total, é bastante difícil tirar conclusões firmes (especialmente hipóteses genéticas).
chl
1
@Brandon Duas outras referências (desta vez em inglês): o curso PBIL ( j.mp/cHZT7X ) e os recursos de Michael Friendly ( pacotes j.mp/cYHyVn + vcde vcdExtraR, este último incluindo uma bela vinheta).
chl
2
@Brandon Sim, uma modalidade = uma categoria para sua variável. Para a sua segunda pergunta, coré a correlação ao quadrado com o eixo e ctré a contribuição (ela deve ser dividida por 10 para ser lida como%). Portanto, "cabelos ruivos" contribui com 55,1% da inércia do 2º eixo. Em certo sentido, achei a saída do FactoMineR mais "intuitiva" ( CA(tab, graph=FALSE)$row$contribfornece diretamente o%).
chl
1
@chl: uau, para alguém que não sabe nada sobre o CCA ou o "jeito francês", essa foi uma ótima leitura! Muito Obrigado. Eu também achei isso com alguns artigos que podem ser interessantes: www-stat.stanford.edu/~susan/papers/dfc.pdf
ars
1
@ars (+1) Obrigado pelo link (não sabia desta monografia, parece interessante). Minhas melhores recomendações para desenvolvimentos recentes são TODOS os trabalhos de Jan de Leeuw e estes dois livros: Análise de Correspondência Múltipla e Métodos Relacionados de Greenacre e Análise de Dados Geométricos: Da Análise de Correspondência à Análise de Dados Estruturados da Le Roux & Rouanet (maneira francesa) .
quer