Correndo o risco de tornar a pergunta específica do software e com a desculpa de sua onipresença e idiossincrasias, quero perguntar sobre a função biplot()
em R e, mais especificamente, sobre o cálculo e a plotagem de suas setas vermelhas sobrepostas padrão, correspondentes às variáveis subjacentes.
[Para entender alguns dos comentários, as parcelas postadas inicialmente tinham um problema de interesse escasso e agora são apagadas.]
.74752, .66424; -.74752, .66424
.biplot(name_of_the_PCA)
chamada, que neste caso ébiplot(PCA)
. Eu centralizei e dimensionei os dados.Respostas:
O que se segue baseia-se no conjunto de dados da íris em R , e especificamente as primeiras três variáveis (colunas):
Sepal.Length, Sepal.Width, Petal.Length
.Um biplot combina uma plotagem de carga (autovetores não padronizados) - no concreto, as duas primeiras cargas e uma plotagem de pontuação (pontos de dados rotacionados e dilatados plotados em relação aos componentes principais). Utilizando o mesmo conjunto de dados, o @amoeba descreve 9 combinações possíveis de biplot de PCA com base em 3 possíveis normalizações do gráfico de pontuação do primeiro e segundo componentes principais e 3 normalizações do gráfico de carregamento (setas) das variáveis iniciais. Para ver como R lida com essas combinações possíveis, é interessante observar o
biplot()
método:Primeiro a álgebra linear pronta para copiar e colar:
1. Reprodução do gráfico de carregamento (setas):
Aqui a interpretação geométrica neste post por @ttnphns ajuda muito. A notação do diagrama no post foi mantida: representa a variável no espaço de assunto . é a seta correspondente finalmente plotada; e as coordenadas e são o componente carrega uma variável em relação a e :h ' a 1 a 2 V PC 1 PC 2V h′ a1 a2 V PC1 PC2
Sepal L.
O componente da variávelPC1
Sepal L.
em relação a será então:que, se as pontuações em relação a - vamos chamá-las de - são padronizadas para que suasS 1PC1 S1
V⋅S1∥S1∥=∑n1scores21−−−−−−−−−√=1 , a equação acima é equivalente ao produto escalar :V⋅S1
Como ,∥V∥=∑x2−−−−√
Da mesma forma,
Voltando à Eq. ,(1)
r n - 1cos(ϕ) pode, portanto, ser considerado um coeficiente de correlação de Pearson , , com a ressalva de que eu não entendo as rugas do fator .r n−1
Duplicando e sobrepondo em azul as setas vermelhas de
biplot()
Pontos de interesse:
ou no código R:
ou ainda ...
conectando-se com a explicação geométrica das cargas por @ttnphns ou com este outro post informativo também por @ttnphns .
Há um fator de escala:,
sqrt(nrow(X) - 1)
que permanece um pouco misterioso.2. Traçando o gráfico de
biplot()
pontuação (e setas simultaneamente):Os eixos são dimensionados para soma unitária dos quadrados, correspondendo ao primeiro gráfico da primeira linha no post da @ amoeba , que pode ser reproduzido plotando a matriz da decomposição do svd (mais sobre isso mais adiante) - " Colunas de : esses são os principais componentes dimensionados para a soma unitária dos quadrados " .UU U
Existem duas escalas diferentes em jogo nos eixos horizontal inferior e superior na construção do biplot:
No entanto, a escala relativa não é imediatamente óbvia, exigindo a investigação das funções e métodos:
biplot()
plota pontuações como colunas de em SVD, que são vetores de unidade ortogonais:Enquanto a
prcomp()
função em R retorna as pontuações dimensionadas para seus autovalores:Portanto, podemos escalar a variação para dividindo pelos valores próprios:1
Mas como queremos que a soma dos quadrados seja , precisamos dividir por porque:√1 n−1−−−−−√
Observe que o uso do fator de escala é alterado posteriormente para quando a definição da explicação parece residir no fato de que √n−1−−−−−√ n−−√
lan
Depois de retirar todas as
if
instruções e outros cotões de limpeza da casa,biplot()
proceda da seguinte maneira:que, como esperado, reproduz (imagem à direita abaixo) a
biplot()
saída conforme chamado diretamente combiplot(PCA)
(plot esquerdo abaixo) em todas as suas deficiências estéticas intocadas:Pontos de interesse:
ratio
). Comentários do AS @amoeba:fonte
R
à sua pergunta porque o assunto confuso (ou seja, o coeficiente de escala) provou ser parcialmente específico para R. Em geral, você pôde ver que o biplot PCA é um gráfico de dispersão de sobreposição de pontuações de componentes (coordenadas de linha) e coeficientes de direção de componente (coordenadas de coluna) e, já que várias quantidades de padronizações por "inércia" (variação) podem ser aplicadas a cada do também, podem surgir vários aspectos do biplot. Para adicionar: mais tipicamente (mais sentido), os carregamentos são exibidos como as coordenadas da coluna (setas).