Visualizando um milhão, edição PCA

31

É possível visualizar a saída da Análise de componentes principais de maneiras que fornecem mais informações do que apenas tabelas de resumo? É possível fazer isso quando o número de observações é grande, digamos ~ 1e4? E é possível fazer isso em R [outros ambientes são bem-vindos]?

gappy
fonte
2
Algumas perguntas: Quantos componentes você tem? Além do tamanho da amostra, existe algo que faz com que a exibição dessa saída do PCA precise ser diferente da exibição de outras variáveis ​​contínuas com as quais alguém possa estar lidando? Você está tentando contrastar dezenas de grupos diferentes e, em caso afirmativo, quantos? Geralmente, o que você espera alcançar com seus monitores?
rolando2

Respostas:

53

O biplot é uma ferramenta útil para visualizar os resultados do PCA. Permite visualizar as pontuações e direções dos principais componentes simultaneamente. Com 10.000 observações, você provavelmente terá um problema com excesso de plotagem. A mistura alfa pode ajudar lá.

Aqui está um biplot para PC dos dados do wine do repositório UCI ML :

Biplot de PC para dados de vinho do repositório UCI ML

Os pontos correspondem às pontuações PC1 e PC2 de cada observação. As setas representam a correlação das variáveis ​​com PC1 e PC2. O círculo branco indica a extensão máxima teórica das setas. As elipses são elipses de 68% dos dados para cada uma das três variedades de vinho dos dados.

Eu disponibilizei o código para gerar esse gráfico aqui .

vqv
fonte
5
Uma adição realmente dinamite.
rolando2
Este é de longe o biplot mais bonito que eu já vi, +1 há muito tempo. Eu tenho uma pergunta sobre o dimensionamento das setas (cargas) que você escolheu: qual é o raio do círculo branco? Não é igual a (valor máximo para uma correlação); portanto, algumas reduções devem ter sido feitas. É arbitrário (tornar o círculo e as setas grandes o suficiente para serem bem vistos), ou existe alguma lógica por trás da escolha de escala? 1
Ameba diz Restabelecer Monica
@amoeba O raio do círculo corresponde ao comprimento máximo possível das setas. Digamos que V é uma matriz com cada coluna correspondente aos autovetores do componente principal (escolhido para ser ortonormal). Em seguida, cada seta nas corresponde biplot para uma fileira de . A norma euclidiana de cada linha de V varia entre 0 e 1, porque essas são as raízes quadradas das entradas diagonais de que é uma matriz de projeção. O círculo fornece uma escala relativa para as setas, porque as setas e a pontuação do PC (os pontos na bipolar) não estão na mesma escala. V V V Tp×2VVVT
vqv
V
4

Um gráfico de Wachter pode ajudá-lo a visualizar os autovalores do seu PCA. É essencialmente um gráfico QQ dos valores próprios em relação à distribuição de Marchenko-Pastur. Eu tenho um exemplo aqui: Gráfico de Wachter mostrando um único autovalor dominanteexiste um autovalor dominante que fica fora da distribuição Marchenko-Pastur. A utilidade desse tipo de plotagem depende da sua aplicação.

shabbychef
fonte
7
Seria útil saber mais aqui (talvez algumas explicações adicionais e / ou alguns links úteis). Qual é a distribuição Marchenko-Pastur? Como isso se relaciona com o PCA? O que isso significa para seus resultados, se é válido ou não? (etc)
gung - Reinstate Monica
0

Você também pode usar o pacote psych.

Isso contém um método plot.factor, que plotará os diferentes componentes um contra o outro no estilo de uma matriz de gráfico de dispersão.

richiemorrisroe
fonte