A riesgo de hacer la pregunta específica del software, y con la excusa de su ubicuidad e idiosincrasia, quiero preguntar sobre la función biplot()
en R y, más específicamente, sobre el cálculo y el trazado de sus flechas rojas superpuestas predeterminadas, correspondientes a las variables subyacentes.
[Para dar sentido a algunos de los comentarios, las parcelas publicadas inicialmente tenían un problema de escaso interés y ahora se borran].
.74752, .66424; -.74752, .66424
.biplot(name_of_the_PCA)
llamada, que en este caso esbiplot(PCA)
. Había centrado y escalado los datos.Respuestas:
El siguiente se basa en el conjunto de datos del iris en R , y específicamente los primeros tres variables (columnas):
Sepal.Length, Sepal.Width, Petal.Length
.Un biplot combina una gráfica de carga (vectores propios no estandarizados) - en concreto, las dos primeras cargas , y una gráfica de puntuación (puntos de datos rotados y dilatados trazados con respecto a los componentes principales). Utilizando el mismo conjunto de datos, @amoeba describe 9 posibles combinaciones de PCA biplot basadas en 3 posibles normalizaciones del gráfico de puntuación del primer y segundo componente principal, y 3 normalizaciones del gráfico de carga (flechas) de las variables iniciales. Para ver cómo R maneja estas posibles combinaciones, es interesante observar el
biplot()
método:Primero el álgebra lineal lista para copiar y pegar:
1. Reproducción del diagrama de carga (flechas):
Aquí la interpretación geométrica en esta publicación de @ttnphns ayuda mucho. La notación del diagrama en la publicación se ha mantenido: representa la variable en el espacio temático . es la flecha correspondiente finalmente trazada; y las coordenadas y son el componente que carga una variable con respecto a y :h ′ a 1 a 2 V PC 1 PC 2V h′ a1 a2 V PC1 PC2
Sepal L.
El componente de la variablePC1
Sepal L.
con respecto a será:que, si las puntuaciones con respecto a - llamémoslas - están estandarizadas para que suS 1PC1 S1
Como ,∥V∥=∑x2−−−−√
Igualmente,
Volviendo a la ecuación. ,(1)
Duplicando y superponiendo en azul las flechas rojas de
biplot()
Puntos de interés:
o en código R:
o incluso aún ...
conectando con la explicación geométrica de las cargas por @ttnphns , o esta otra publicación informativa también por @ttnphns .
Hay un factor de escala
sqrt(nrow(X) - 1)
, que sigue siendo un misterio.2. Trazar la gráfica de
biplot()
puntajes (y flechas simultáneamente):Los ejes se escalan a la unidad de suma de cuadrados, correspondiente a la primera gráfica de la primera fila en la publicación de @ ameeba , que se puede reproducir trazando la matriz de la descomposición de svd (más sobre esto más adelante) - " Columnas de : estos son componentes principales escalados a la unidad de suma de cuadrados " .U U
Hay dos escalas diferentes en juego en los ejes horizontales inferior y superior en la construcción biplot:
Sin embargo, la escala relativa no es inmediatamente obvia, lo que requiere profundizar en las funciones y métodos:
biplot()
traza los puntajes como columnas de en SVD, que son vectores unitarios ortogonales:Mientras que la
prcomp()
función en R devuelve los puntajes escalados a sus valores propios:Por lo tanto, podemos escalar la varianza a dividiendo por los valores propios:1
Pero como queremos que la suma de los cuadrados sea , necesitaremos dividir por porque:1 n−1−−−−−√
Cabe destacar que el uso del factor de escala , se cambia más adelante a cuando la definición de la explicación parece estar en el hecho de quen−1−−−−−√ n−−√
lan
Después de despojarlos de todas las
if
declaraciones y otras pelusas de limpieza,biplot()
procede de la siguiente manera:que, como se esperaba, reproduce (imagen derecha abajo) la
biplot()
salida como se llama directamente conbiplot(PCA)
(gráfico izquierdo abajo) en todas sus deficiencias estéticas intactas:Puntos de interés:
ratio
). Como comenta @amoeba:fuente
R
a su pregunta porque el asunto confuso (es decir, el coeficiente de escala) resultó ser parcialmente específico de R. En general, pudo ver que el biplot PCA es un diagrama de dispersión superpuesto de puntajes de componentes (coordenadas de fila) y coeficientes de dirección de componentes (coordenadas de columna), y dado que se pueden aplicar varias cantidades de estandarizaciones por "inercia" (varianza) a cada del también, por lo que pueden surgir varias miradas del biplot. Para agregar: generalmente (más sentido), las cargas se muestran como las coordenadas de la columna (flechas).