Advertencia: R
utiliza el término "cargas" de manera confusa. Lo explico a continuación.
Considere el conjunto de datos con variables (centradas) en columnas y puntos de datos en filas. Realizar PCA de este conjunto de datos equivale a una descomposición de valores singulares . Las columnas de son componentes principales ("puntajes" de PC) y las columnas de son ejes principales. La matriz de covarianza está dada por , por lo que los ejes principales son vectores propios de la matriz de covarianza.XNX=USV⊤USV1N−1X⊤X=VS2N−1V⊤V
Las "cargas" se definen como columnas de , es decir, son vectores propios escalados por las raíces cuadradas de los respectivos valores propios. ¡Son diferentes de los vectores propios! Vea mi respuesta aquí para la motivación.L=VSN−1√
Usando este formalismo, podemos calcular la matriz de covarianza cruzada entre las variables originales y las PC estandarizadas: es decir, está dado por cargas. La matriz de correlación cruzada entre variables originales y PC está dada por la misma expresión dividida por las desviaciones estándar de las variables originales (por definición de correlación). Si las variables originales se estandarizaron antes de realizar PCA (es decir, PCA se realizó en la matriz de correlación), todas son iguales a . En este último caso, la matriz de correlación cruzada nuevamente viene dada simplemente por .
1N−1X⊤(N−1−−−−−√U)=1N−1−−−−−√VSU⊤U=1N−1−−−−−√VS=L,
1L
Para aclarar la confusión terminológica: lo que el paquete R llama "cargas" son ejes principales, y lo que llama "cargas de correlación" son (para PCA realizadas en la matriz de correlación) de hecho cargas. Como te diste cuenta, solo difieren en la escala. Lo que es mejor trazar, depende de lo que quieras ver. Considere un siguiente ejemplo simple:
La subparcela izquierda muestra un conjunto de datos 2D estandarizado (cada variable tiene varianza unitaria), estirada a lo largo de la diagonal principal. La subtrama intermedia es un biplot : es un diagrama de dispersión de PC1 frente a PC2 (en este caso, simplemente el conjunto de datos girado 45 grados) con filas de trazadas en la parte superior como vectores. Tenga en cuenta que y vectores son separados 90 grados; Te dicen cómo están orientados los ejes originales. La subtrama derecha es el mismo biplot, pero ahora los vectores muestran filas de . Tenga en cuenta que ahora los vectores e tienen un ángulo agudo entre ellos; te dicen cuántas variables originales están correlacionadas con las PC, y tanto como x y L x y x yVxyLxyxyson mucho más fuertes correlacionados con PC1 que con PC2. Yo supongo que la mayoría de la gente lo más a menudo prefieren ver el tipo de biplots.
Nótese que en ambos casos las dos y vectores tienen unidad de longitud. Esto sucedió solo porque el conjunto de datos era 2D para comenzar; en caso de que haya más variables, los vectores individuales pueden tener una longitud inferior a , pero nunca pueden alcanzar fuera del círculo unitario. Prueba de este hecho lo dejo como ejercicio.y 1xy1
Veamos ahora otra vez el conjunto de datos mtcars . Aquí hay un biplot del PCA realizado en la matriz de correlación:
Las líneas negras se trazan usando , las líneas rojas se trazan usando .LVL
Y aquí hay un biplot del PCA realizado en la matriz de covarianza:
Aquí escalé todos los vectores y el círculo unitario en , porque de lo contrario no sería visible (es un truco de uso común). Nuevamente, las líneas negras muestran filas de , y las líneas rojas muestran correlaciones entre variables y PC (que ya no son dadas por , ver arriba). Tenga en cuenta que solo dos líneas negras son visibles; Esto se debe a que dos variables tienen una varianza muy alta y dominan el conjunto de datos mtcars . Por otro lado, se pueden ver todas las líneas rojas. Ambas representaciones transmiten información útil.V L100VL
PD Hay muchas variantes diferentes de biplots PCA, vea mi respuesta aquí para obtener más explicaciones y una descripción general: Posicionar las flechas en un biplot PCA . El biplot más bonito jamás publicado en CrossValidated se puede encontrar aquí .