Cuando construye un biplot para un análisis de PCA, tiene puntajes de PC1 del componente principal en el eje xy puntajes de PC2 en el eje y. ¿Pero cuáles son los otros dos ejes a la derecha y la parte superior de la pantalla?
¿Quiere decir, por ejemplo, en la trama que devuelve el siguiente comando?
biplot(prcomp(USArrests, scale =TRUE))
En caso afirmativo, los ejes superior y derecho deben usarse para interpretar las flechas rojas (puntos que representan las variables) en la gráfica.
Si sabe cómo funciona el análisis de componentes principales, y puede leer el código R, el siguiente código le muestra cómo prcomp()se tratan inicialmente los resultados biplot.prcomp()antes del trazado final biplot.default(). Estas dos funciones se llaman en segundo plano cuando traza biplot(), y el siguiente extracto de código modificado es de biplot.prcomp().
En breve, en el ejemplo anterior, la matriz de cargas variables (x$rotation ) se escala por la desviación estándar de los componentes principales ( x$sdev) por la raíz cuadrada del número de observaciones. Esto establece la escala de los ejes superior y derecho a lo que se ve en el diagrama.
Existen otros métodos para escalar las cargas variables, también. Estos son ofrecidos, por ejemplo, por el paquete R vegano.
+1. Me tomé la libertad de insertar la figura en tu respuesta.
ameba dice Reinstate Monica
Además, creo que sería muy útil para referencias futuras, si se puede añadir a su respuesta que las puntuaciones de PC (ejes de la izquierda y en la parte inferior) se escalan a la unidad de suma de cuadrados: son no "en bruto" Puntajes de PC.
Tengo una mejor visualización para el biplot. Por favor, consulte la siguiente figura.
En el experimento, estoy tratando de mapear puntos 3d en 2d (conjunto de datos simulados).
El truco para entender biplot en 2d es encontrar el ángulo correcto para ver lo mismo en 3d. Todos los puntos de datos están numerados, puede ver el mapeo claramente.
Aquí está el código para reproducir los resultados.
+1. Sin embargo, tenga en cuenta que en su figura 3D rotada, la nube de puntos conserva la varianza (la proyección horizontal, es decir, PC1, tiene una varianza mayor que la vertical, es decir, PC2), mientras que las flechas rojas tienen unidad de longitud (en 3D). Este no es el caso en el biplot producido por el biplotcomando en R y reproducido en su figura en el lado derecho: allí la nube de puntos está estandarizada pero las flechas tienen longitudes correspondientes a las variaciones.
ameba dice Reinstate Monica
@amoeba buen punto. Solo dibujo las flechas manualmente y olvidé que la longitud de la flecha también tiene significados específicos.
Haitao Du
Creo que su "biplot" manual 3D / 2D corresponde más a lo que la función biplotproduce con el scale=0argumento.
Respuestas:
¿Quiere decir, por ejemplo, en la trama que devuelve el siguiente comando?
En caso afirmativo, los ejes superior y derecho deben usarse para interpretar las flechas rojas (puntos que representan las variables) en la gráfica.
Si sabe cómo funciona el análisis de componentes principales, y puede leer el código R, el siguiente código le muestra cómo
prcomp()
se tratan inicialmente los resultadosbiplot.prcomp()
antes del trazado finalbiplot.default()
. Estas dos funciones se llaman en segundo plano cuando trazabiplot()
, y el siguiente extracto de código modificado es debiplot.prcomp()
.En breve, en el ejemplo anterior, la matriz de cargas variables (
x$rotation
) se escala por la desviación estándar de los componentes principales (x$sdev
) por la raíz cuadrada del número de observaciones. Esto establece la escala de los ejes superior y derecho a lo que se ve en el diagrama.Existen otros métodos para escalar las cargas variables, también. Estos son ofrecidos, por ejemplo, por el paquete R vegano.
fuente
biplot.default
Tengo una mejor visualización para el biplot. Por favor, consulte la siguiente figura.
En el experimento, estoy tratando de mapear puntos 3d en 2d (conjunto de datos simulados).
El truco para entender biplot en 2d es encontrar el ángulo correcto para ver lo mismo en 3d. Todos los puntos de datos están numerados, puede ver el mapeo claramente.
Aquí está el código para reproducir los resultados.
fuente
biplot
comando en R y reproducido en su figura en el lado derecho: allí la nube de puntos está estandarizada pero las flechas tienen longitudes correspondientes a las variaciones.biplot
produce con elscale=0
argumento.