Conclusiones del resultado de un análisis de componentes principales

9

Estoy tratando de comprender el resultado del análisis de componentes principales realizado de la siguiente manera:

> head(iris)
  Sepal.Length Sepal.Width Petal.Length Petal.Width Species
1          5.1         3.5          1.4         0.2  setosa
2          4.9         3.0          1.4         0.2  setosa
3          4.7         3.2          1.3         0.2  setosa
4          4.6         3.1          1.5         0.2  setosa
5          5.0         3.6          1.4         0.2  setosa
6          5.4         3.9          1.7         0.4  setosa
> res = prcomp(iris[1:4], scale=T)
> res
Standard deviations:
[1] 1.7083611 0.9560494 0.3830886 0.1439265

Rotation:
                    PC1         PC2        PC3        PC4
Sepal.Length  0.5210659 -0.37741762  0.7195664  0.2612863
Sepal.Width  -0.2693474 -0.92329566 -0.2443818 -0.1235096
Petal.Length  0.5804131 -0.02449161 -0.1421264 -0.8014492
Petal.Width   0.5648565 -0.06694199 -0.6342727  0.5235971
> 
> summary(res)
Importance of components:
                          PC1    PC2     PC3     PC4
Standard deviation     1.7084 0.9560 0.38309 0.14393
Proportion of Variance 0.7296 0.2285 0.03669 0.00518
Cumulative Proportion  0.7296 0.9581 0.99482 1.00000
> 

Tiendo a concluir lo siguiente del resultado anterior:

  1. La proporción de la varianza indica cuánto de la varianza total hay en la varianza de un componente principal particular. Por lo tanto, la variabilidad de PC1 explica el 73% de la varianza total de los datos.

  2. Los valores de rotación que se muestran son los mismos que las 'cargas' mencionadas en algunas descripciones.

  3. Teniendo en cuenta las rotaciones de PC1, se puede concluir que Sepal.Length, Petal.Length y Petal.Width están directamente relacionados, y todos están inversamente relacionados con Sepal.Width (que tiene un valor negativo en la rotación de PC1)

  4. Puede haber un factor en las plantas (algunos sistemas químicos / físicos funcionales, etc.) que puede estar afectando a todas estas variables (Sepal.Length, Petal.Length y Petal.Width en una dirección y Sepal.Width en la dirección opuesta).

  5. Si quiero mostrar todas las rotaciones en un gráfico, puedo mostrar su contribución relativa a la variación total multiplicando cada rotación por la proporción de varianza de ese componente principal. Por ejemplo, para PC1, las rotaciones de 0.52, -0.26, 0.58 y 0.56 se multiplican por 0.73 (varianza proporcional para PC1, que se muestra en la salida de resumen (res).

¿Estoy en lo cierto acerca de las conclusiones anteriores?

Editar con respecto a la pregunta 5: Quiero mostrar toda la rotación en un simple gráfico de barras de la siguiente manera: ingrese la descripción de la imagen aquí

Dado que PC2, PC3 y PC4 tienen una contribución progresivamente menor a la variación, ¿tendrá sentido ajustar (reducir) las cargas de las variables allí?

rnso
fuente
Re (5): lo que ustedes llaman "cargas" en realidad no son cargas, sino vectores propios de la matriz de covarianza, también conocidas como direcciones principales, también conocidos como ejes principales. Las "cargas" son vectores propios multiplicados por raíces cuadradas de sus valores propios, es decir, por raíces cuadradas de la proporción de la varianza explicada. Las cargas tienen muchas propiedades agradables y son útiles para la interpretación, consulte, por ejemplo, este hilo: Carga frente a vectores propios en PCA: ¿cuándo usar uno u otro? Entonces, sí, tiene mucho sentido escalar sus vectores propios, solo use raíces cuadradas de varianza explicada.
ameba
@amoeba: ¿Qué se traza en biplot de PCA, rotaciones o cargas?
rnso
La mayoría de las veces se grafican las cargas, vea mi respuesta aquí para una discusión más detallada.
ameba

Respuestas:

9
  1. Si. Esta es la interpretación correcta.
  2. Sí, los valores de rotación indican los valores de carga del componente. La prcomp documentación confirma esto , aunque no estoy seguro de por qué etiquetan esta parte del aspecto "Rotación", ya que implica que las cargas se han girado utilizando algún método ortogonal (probable) u oblicuo (menos probable).
  3. Si bien parece ser que Sepal.Length, Petal.Length y Petal.Width están todos positivamente asociados, no pondría tanto stock en la pequeña carga negativa de Sepal.Width en PC1; se carga mucho más fuertemente (casi exclusivamente) en PC2. Para ser claros, Sepal.Width todavía está asociado negativamente con las otras tres variables, pero no parece estar relacionado con el primer componente principal.
  4. En base a esta pregunta, me pregunto si sería mejor utilizar un análisis de factor común (CF), en lugar de un análisis de componentes principales (PCA). La CF es más una técnica de reducción de datos apropiada cuando su objetivo es descubrir dimensiones teóricas significativas, como el factor de planta que está planteando como hipótesis puede afectar Sepal.Length, Petal.Length y Petal.Width. Aprecio que eres de algún tipo de ciencia biológica, tal vez botánica, pero hay algunos buenos escritos en Psicología sobre la distinción PCA v. CF de Fabrigar et al., 1999, Widaman, 2007 y otros. La distinción central entre los dos es que PCA asume que todas las variaciones son la varianza de puntaje verdadero, no se supone ningún error, mientras que la división de CF divide la varianza de puntaje real de la varianza de error, antes de que se extraigan los factores y se estimen las cargas de los factores. En última instancia, es posible que obtenga una solución de aspecto similar, a veces las personas lo hacen, pero cuando divergen, tiende a ocurrir que la PCA sobreestime los valores de carga y subestime las correlaciones entre los componentes. Una ventaja adicional del enfoque de la FQ es que puede usar la estimación de máxima verosimilitud para realizar pruebas de significancia de los valores de carga, al tiempo que obtiene algunos índices de qué tan bien su solución elegida (1 factor, 2 factores, 3 factores o 4 factores) explica su datos.
  5. Trazaría los valores de carga de factor como usted tiene, sin ponderar sus barras por la proporción de varianza para sus componentes respectivos. Entiendo lo que quiere intentar mostrar con este enfoque, pero creo que probablemente conduciría a los lectores a malinterpretar los valores de carga de componentes de su análisis. Sin embargo, si desea una forma visual de mostrar la magnitud relativa de la varianza explicada por cada componente, puede considerar manipular la opacidad de las barras de grupos (si está usando ggplot2, creo que esto se hace con elalphaestético), basado en la proporción de varianza explicada por cada componente (es decir, más colores sólidos = más varianza explicada). Sin embargo, en mi experiencia, su figura no es una forma típica de presentar los resultados de un PCA: creo que una tabla o dos (cargas + varianza explicadas en una, correlaciones de componentes en otra) serían mucho más sencillas.

Referencias

Fabrigar, LR, Wegener, DT, MacCallum, RC y Strahan, EJ (1999). Evaluar el uso del análisis factorial exploratorio en la investigación psicológica. Métodos psicológicos , 4 , 272-299.

Widaman, KF (2007). Factores comunes versus componentes: principios y principios, errores y conceptos erróneos . En R. Cudeck y RC MacCallum (Eds.), Análisis factorial a 100: desarrollos históricos y direcciones futuras (pp. 177-203). Mahwah, Nueva Jersey: Lawrence Erlbaum.

jsakaluk
fuente
2
+1, muchos buenos puntos aquí. Re (2): los vectores propios de la matriz de covarianza se denominan "Rotación" aquí, porque PCA es esencialmente una rotación del sistema de coordenadas de modo que el nuevo sistema de coordenadas esté alineado con los vectores propios. Esto no tiene nada que ver con la "rotación ortogonal / oblicua de factores" en el análisis factorial. Re (5): No estoy seguro de entender lo que quisiste decir aquí, y tampoco entiendo cómo OP quiere "mostrar" los vectores propios "en un gráfico". Quizás OP tiene algo como un biplot en mente. Entonces sí, los vectores propios a menudo son escalados por los valores propios, pero por sus raíces cuadradas.
ameba
Aunque es una buena trama con temas florales para su tema, @rnso :)
jsakaluk
1
  1. No, no la varianza total de los datos. La varianza total de los datos dados que desea expresar en 4 componentes principales. Siempre puede encontrar más varianza total agregando más componentes principales. Pero esto decae rápidamente.
Puntilla
fuente