Ao construir um biplot para uma análise PCA, você tem pontuações PC1 do componente principal no eixo x e pontuações PC2 no eixo y. Mas quais são os outros dois eixos à direita e na parte superior da tela?
Você quer dizer, por exemplo, no gráfico que o seguinte comando retorna?
biplot(prcomp(USArrests, scale =TRUE))
Se sim, os eixos superior e direito devem ser usados para interpretar as setas vermelhas (pontos que representam as variáveis) no gráfico.
Se você sabe como a análise de componentes principais funciona e pode ler o código R, o código abaixo mostra como os resultados prcomp()são inicialmente tratados biplot.prcomp()antes da plotagem final biplot.default(). Essas duas funções são chamadas em segundo plano quando você plota com biplot(), e o seguinte trecho de código modificado é de biplot.prcomp().
Logo, no exemplo acima, a matriz de cargas variáveis ( x$rotation) é escalada pelo desvio padrão dos componentes principais ( x$sdev) vezes a raiz quadrada do número de observações. Isso define a escala dos eixos superior e direito para o que é visto na plotagem.
Existem outros métodos para dimensionar as cargas variáveis também. Estes são oferecidos, por exemplo, pelo pacote vegano R.
+1. Tomei a liberdade de inserir a figura na sua resposta.
ameba diz Restabelecer Monica
Além disso, acho que seria muito útil para futuras referências, se você pudesse adicionar à sua resposta que as pontuações dos PCs (eixos à esquerda e na parte inferior) são dimensionadas para soma de quadrados unitários: elas não são "brutas" Pontuações PC.
Eu tenho uma melhor visualização para o biplot. Por favor, verifique a figura a seguir.
No experimento, estou tentando mapear pontos 3D em 2d (conjunto de dados simulados).
O truque para entender o biplot em 2d é encontrar o ângulo correto para ver a mesma coisa em 3d. Todos os pontos de dados são numerados, você pode ver o mapeamento claramente.
+1. No entanto, observe que, na figura 3D girada, a nuvem de pontos mantém a variação preservada (a projeção horizontal, por exemplo, PC1, tem variação maior que a vertical, por exemplo, PC2), enquanto as setas vermelhas têm comprimento unitário (em 3D). Este não é o caso no biplot produzido pelo biplotcomando em R e reproduzido em sua figura no lado direito: lá a nuvem de pontos é padronizada, mas as setas têm comprimentos correspondentes às variações.
Ameba diz Reinstate Monica
@amoeba bom ponto. Eu apenas desenhei as setas manualmente e esqueci que o comprimento da seta também tem significados específicos.
Haitao Du
Eu acho que o seu "biplot" 3D / 2D manual corresponde mais ao que a função biplotproduz com scale=0argumento.
Respostas:
Você quer dizer, por exemplo, no gráfico que o seguinte comando retorna?
Se sim, os eixos superior e direito devem ser usados para interpretar as setas vermelhas (pontos que representam as variáveis) no gráfico.
Se você sabe como a análise de componentes principais funciona e pode ler o código R, o código abaixo mostra como os resultados
prcomp()
são inicialmente tratadosbiplot.prcomp()
antes da plotagem finalbiplot.default()
. Essas duas funções são chamadas em segundo plano quando você plota combiplot()
, e o seguinte trecho de código modificado é debiplot.prcomp()
.Logo, no exemplo acima, a matriz de cargas variáveis (
x$rotation
) é escalada pelo desvio padrão dos componentes principais (x$sdev
) vezes a raiz quadrada do número de observações. Isso define a escala dos eixos superior e direito para o que é visto na plotagem.Existem outros métodos para dimensionar as cargas variáveis também. Estes são oferecidos, por exemplo, pelo pacote vegano R.
fonte
biplot.default
Eu tenho uma melhor visualização para o biplot. Por favor, verifique a figura a seguir.
No experimento, estou tentando mapear pontos 3D em 2d (conjunto de dados simulados).
O truque para entender o biplot em 2d é encontrar o ângulo correto para ver a mesma coisa em 3d. Todos os pontos de dados são numerados, você pode ver o mapeamento claramente.
Aqui está o código para reproduzir os resultados.
fonte
biplot
comando em R e reproduzido em sua figura no lado direito: lá a nuvem de pontos é padronizada, mas as setas têm comprimentos correspondentes às variações.biplot
produz comscale=0
argumento.