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 ′i = 1 , … , euj = 1 , … , Jfj|i=nEuj/neu ⋅fi|j=nij/n⋅jIfi⋅Jf⋅j ) 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′
d2χ2(i,i′)=∑j=1Jnn⋅j(nijni⋅−ni′jni′⋅)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⋅×n⋅j/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 MASS
pacote: 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