El primer componente principal no separa las clases, pero otras PC sí; ¿Cómo es eso posible?

11

Ejecuté PCA en 17 variables cuantitativas para obtener un conjunto más pequeño de variables, es decir, componentes principales, que se utilizarán en el aprendizaje automático supervisado para clasificar las instancias en dos clases. Después de PCA, PC1 representa el 31% de la variación en los datos, PC2 representa el 17%, PC3 representa el 10%, PC4 representa el 8%, PC5 representa el 7% y PC6 representa el 6%.

Sin embargo, cuando miro las diferencias medias entre las PC entre las dos clases, sorprendentemente, PC1 no es un buen discriminador entre las dos clases. Las PC restantes son buenos discriminadores. Además, PC1 se vuelve irrelevante cuando se usa en un árbol de decisión, lo que significa que después de la poda del árbol ni siquiera está presente en el árbol. El árbol consta de PC2-PC6.

¿Hay alguna explicación para este fenómeno? ¿Puede haber algo mal con las variables derivadas?

Frida
fuente
55
Lea esta pregunta reciente stats.stackexchange.com/q/79968/3277 con más enlaces en ella. Como PCA no conoce la existencia de las clases, no garantiza que ninguna de las PC sea realmente buena discriminadora; tanto más que PC1 será un buen discriminador. Vea también dos imágenes como ejemplo aquí .
ttnphns
2
Consulte también ¿Qué puede causar que la PCA empeore los resultados de un clasificador? , en particular las cifras en la respuesta de @vqv.
ameba

Respuestas:

14

También puede suceder si las variables no se escalan para tener una variación de unidad antes de hacer PCA. Por ejemplo, para estos datos (observe que la escala solo va de a mientras que va de a ):- 0.5 1 x - 3 3y0.51x33

ingrese la descripción de la imagen aquí

PC1 es aproximadamente representa casi toda la varianza, pero no tiene poder discriminatorio, mientras que PC2 es y discrimina perfectamente entre las clases.yxy

Flounderer
fuente
¡Hola, gracias por su respuesta! ¿Cómo se debe hacer el escalado? (x-mean) / sd?
Frida
Sí, en RI, prcomp(x, center=T, scale=T)que es lo mismo que hacer (x-mean) / sd. En este ejemplo, encontrará que ninguno de los componentes principales es un buen discriminador entre las clases; solo funciona si ambos se usan juntos.
Flounderer
Entiendo que las PC son complementarias, pero ¿hay alguna explicación detrás de esto? Para ser honesto, esta es la primera vez que obtengo una PC1 más débil en comparación con otras.
Frida
@Frida: el comentario de ttnphns está en el objetivo. Ver en.wikipedia.org/wiki/Linear_discriminant_analysis tercer párrafo. En cierto sentido, es una suerte que la PCA resulte útil con tanta frecuencia.
Wayne
6

Supongo que la respuesta y el ejemplo proporcionado por @Flounderer implican esto, pero creo que vale la pena explicarlo. El análisis de componentes principales (PCA) es la etiqueta (clasificación) indiferente. Todo lo que hace es transformar algunos datos de alta dimensión en otro espacio dimensional. Se podría ayudar en los intentos de clasificación mediante, por ejemplo, la creación de conjunto de datos que es más fácil separable por un método particular. Sin embargo, esto es solo un subproducto (o un efecto secundario) de PCA.

Boris Gorelik
fuente
1

Cuando hacemos análisis de componentes principales, los componentes principales corresponden a las direcciones de máxima variabilidad, no garantizan la máxima discriminación o separación entre clases.

Entonces, el segundo componente le brinda una buena clasificación, lo que significa que los datos en esa dirección le brindan una mejor discriminación entre clases. Cuando realiza el Análisis discriminante lineal (LDA), le brinda los mejores componentes de dirección ortogonal que maximizan la distancia entre clases y minimizan la distancia dentro de clase.

Entonces, si hace LDA en los datos en lugar de PCA, probablemente uno de los primeros componentes estaría más cerca de PC6 que de PC1. Espero que esto ayude.

Santanu_Pattanayak
fuente