Qual é a diferença entre "cargas" e "cargas de correlação" no PCA e PLS?

11

Uma coisa comum a se fazer ao fazer a Análise de Componentes Principais (PCA) é plotar duas cargas uma contra a outra para investigar os relacionamentos entre as variáveis. No artigo que acompanha o pacote PLS R para fazer a regressão de componentes principais e a regressão PLS, há um gráfico diferente, chamado gráfico de cargas de correlação (consulte a figura 7 e a página 15 no artigo). A carga de correlação , como é explicado, é a correlação entre as pontuações (do PCA ou PLS) e os dados reais observados.

Parece-me que os carregamentos e os carregamentos de correlação são bastante semelhantes, exceto que eles são dimensionados de maneira um pouco diferente. Um exemplo reproduzível em R, com o mtcars do conjunto de dados incorporado, é o seguinte:

data(mtcars)
pca <- prcomp(mtcars, center=TRUE, scale=TRUE)

#loading plot
plot(pca$rotation[,1], pca$rotation[,2],
     xlim=c(-1,1), ylim=c(-1,1),
     main='Loadings for PC1 vs. PC2')

#correlation loading plot
correlationloadings <- cor(mtcars, pca$x)
plot(correlationloadings[,1], correlationloadings[,2],
     xlim=c(-1,1), ylim=c(-1,1),
     main='Correlation Loadings for PC1 vs. PC2')

loadingplot correloadloadinsplot

Qual é a diferença na interpretação dessas parcelas? E qual trama (se houver) é melhor usar na prática?

user1593755
fonte
para uma melhor visualização do pca, use o biplot (pca), ele mostra o carregamento e as pontuações do pca e para que você possa interpretá-lo melhor.
Paul
6
R prcomppacote imprudentemente chama autovetores "loadings". Eu aconselho a manter esses termos separados. As cargas são vetores próprios dimensionados para os respectivos valores próprios.
ttnphns
1
Explicando a geometria de um gráfico de carregamento: stats.stackexchange.com/a/119758/3277
ttnphns

Respostas:

13

Aviso: Rusa o termo "cargas" de uma maneira confusa. Eu explico abaixo.

XNX=USVUSV1N1XX=VS2N1VV

L=VSN1

1N1X(N1U)=1N1VSUU=1N1VS=L,
1L

Para esclarecer a confusão terminológica: o que o pacote R chama de "carregamentos" são os principais eixos e o que chama de "carregamentos de correlação" são (para PCA feitos na matriz de correlação) em carregamentos de fato. Como você percebeu, eles diferem apenas na escala. O que é melhor traçar depende do que você deseja ver. Considere um exemplo simples a seguir:

Biplots

VxyLxyxysão muito mais fortes correlacionados com o PC1 do que com o PC2. Eu acho que a maioria das pessoas na maioria das vezes preferem ver o tipo certo de biplot.

xy1

Vamos agora dar uma outra olhada no conjunto de dados mtcars . Aqui está um biplot do PCA feito na matriz de correlação:

mtcars pca biplot

VL

E aqui está um biplot do PCA feito na matriz de covariância:

mtcars pca biplot

100VL

PS Existem muitas variantes diferentes de biplots PCA, veja minha resposta aqui para obter mais explicações e uma visão geral: Posicionando as setas em um biplot PCA . O biplot mais bonito já publicado no CrossValidated pode ser encontrado aqui .

ameba diz Restabelecer Monica
fonte
2
Embora essa seja uma resposta muito boa (+1), ela possui apenas uma fraqueza didática, na medida em que coloca variáveis ​​nas linhas de X, não nas colunas de X, como seria tradicional nos conjuntos / exemplos de dados estatísticos. Por causa dessa transposição, os vetores U tornam-se na resposta sobre variáveis ​​e V sobre casos. A maioria das pessoas que conhece o PCA está acostumada ao layout oposto; então isso atrapalha um pouco a percepção.
ttnphns
1
Eu poderia recomendar enfatizar verbalmente a "moral" da diferença entre os "eixos biplot" e os "biplot loadings" na varredura. No primeiro, a variabilidade (= escala, = magniduta, = inércia, = massa) não é apresentada: é armazenada em valores próprios. No segundo, foi totalmente entregue a autovetores representando variáveis; em virtude desse "reavivamento", as variáveis ​​se tornam uma nuvem de dados significativa de dois pontos, ou vetores, com comprimentos específicos da origem e do ângulo específico. É assim que "de repente" nos encontramos no espaço sujeito .
ttnphns
XxUUxXUXXXU
1
É claro que isso é uma questão de gosto. Lembre-se, no entanto, de que a grande maioria dos programas estatísticos mostra planilhas de dados como cases X variables. Por tradição, então, a álgebra linear na maioria dos textos de análise estatística transforma um caso em vetor de linha. Talvez no aprendizado de máquina seja diferente?
ttnphns
1
@user_anon Não, esta resposta considera o PCA padrão, sem rotações de fatores.
Ameba diz Reinstate Monica