33 votos

¿Se recomienda siempre la PCA?

Me preguntaba si el PCA puede aplicarse siempre para la reducción de la dimensionalidad antes de un problema de clasificación o regresión. Mi intuición me dice que la respuesta es no.

Si realizamos el ACP, calculamos combinaciones lineales de las características para construir componentes principales que expliquen la mayor parte de la varianza del conjunto de datos. Sin embargo, es posible que dejemos de lado características que no explican gran parte de la varianza del conjunto de datos, pero que sí explican lo que caracteriza a una clase frente a otra.

¿Estoy en lo cierto? ¿Debemos reducir siempre las dimensiones con PCA si es necesario o hay consideraciones que deben tomarse (como la anterior)?

14 votos

¿Dónde has oído exactamente que hay que aplicar siempre el PCA? No recuerdo que nadie lo haga ni siquiera "comúnmente", por no decir "siempre".

3 votos

Como anécdota, en mi línea de trabajo estamos muy limitados en la cantidad de datos que podemos recoger debido a las limitaciones prácticas. Reducir las dimensiones a posteriori no nos ayuda. Necesitamos algún método de selección de características para determinar qué datos debemos recoger. Edición: Este comentario era para una versión anterior en la que se preguntaba si se debía aplicar siempre el PCA.

0 votos

@Tim Como dije en el post original, me preguntaba si se puede aplicar. No lo he oído en ningún sitio.

39voto

user777 Puntos 10934

Utilizar ciegamente el PCA es una receta para el desastre. (Por otra parte, aplicar automáticamente cualquier método no es una buena idea, porque lo que funciona en un contexto no está garantizado que funcione en otro. Podemos formalizar esta idea intuitiva con el teorema No Free Lunch).

Es bastante fácil construir un ejemplo en el que los vectores propios a los valores propios más pequeños son los más informativos. Si descartas estos datos, estás descartando la información más útil para tu problema de clasificación o regresión, y tu modelo mejoraría si los hubieras conservado.

Más concretamente, supongamos que $A$ es nuestra matriz de diseño, y cada columna está centrada en la media. Entonces podemos utilizar la SVD para calcular el PCA de $A$ . (ver: Relación entre SVD y PCA. Cómo utilizar la SVD para realizar el PCA? )

Para un ejemplo en el caso de un modelo lineal, esto nos da una factorización $$ AV = US $$

y deseamos predecir algún resultado $y$ como una combinación lineal de los PC: $AV\beta = y+\epsilon$ donde $\epsilon$ es un poco de ruido. Además, vamos a suponer que este modelo lineal es el modelo correcto.

En general, el vector $\beta$ puede ser cualquier cosa, al igual que en una configuración de regresión OLS ordinaria; pero en cualquier problema particular, es posible que los únicos elementos no nulos de $\beta$ son los correspondientes a los valores singulares positivos más pequeños. Cuando este es el caso, el uso de PCA para reducir la dimensión de $AV$ descartando los valores singulares más pequeños se también descartar los únicos predictores relevantes de $y$ . En otras palabras, aunque empezamos con el modelo correcto, el modelo truncado no es correcto porque omite las variables clave.

En otras palabras, PCA tiene una debilidad en un escenario de aprendizaje supervisado porque no es " $y$ -conciencia". Por supuesto, en los casos en que PCA es un paso útil, entonces $\beta$ tendrá entradas no nulas correspondientes a los valores singulares más grandes.

Creo que este ejemplo es instructivo porque muestra que incluso en el caso especial de que el modelo sea lineal, truncar $AV$ se arriesga a descartar la información.

Otras objeciones comunes son:

  • El PCA es un modelo lineal, pero las relaciones entre las características pueden no tener la forma de una factorización lineal. Esto implica que el PCA será una distorsión.

  • El PCA puede ser difícil de interpretar, porque tiende a producir factorizaciones "densas", donde todas las características en $A$ tienen un efecto no nulo en cada PC.

  • He aquí otro ejemplo: El primer componente principal no separa las clases, pero otros PC sí; ¿cómo es posible?

Se pueden encontrar algunos ejemplos más en este hilo estrechamente relacionado (¡gracias, @gung!): Ejemplos de PCA en los que las PC con baja varianza son "útiles"

0 votos

Eso tiene sentido y por eso estaba pensando en. ¿Funcionarían mejor en ese caso otras técnicas que tienen en cuenta la clase, como el LDA?

0 votos

@Brandon Parece que "¿Debemos usar siempre LDA?" es una pregunta diferente.

3 votos

@SycoraxsaysReinstateMonica: pero sospecho que la respuesta es la misma para todos los "Deberíamos siempre usar $MODEL?" preguntas...

17voto

cbeleites Puntos 12461

En primer lugar, a ciegas No se puede recomendar lanzar un modelo sobre unos datos (tal vez pueda relajar ese no-no si tiene a mano una cantidad infinita de casos independientes...).

Existe una formulación del teorema del almuerzo no gratuito que está relacionada con la pregunta: afirma que, sobre todos los conjuntos de datos posibles, ningún modelo es mejor que otro. La conclusión habitual es que los modelos son superiores si se adaptan mejor a la tarea en cuestión (incluyendo tanto el objetivo del análisis como las características particulares de los datos).

Por lo tanto, la pregunta más sensata que debería hacerse es si sus datos tienen características que los hacen adecuados para el ACP.


Por ejemplo, yo trabajo sobre todo con datos espectroscópicos. Este tipo de datos tiene propiedades que se ajustan muy bien a los modelos bilineales como el PCA o el PLS, y mucho menos a una selección de características que elija canales de medición particulares (longitudes de onda, características). En particular, sé, por razones físicas y químicas, que la información que busco suele estar bastante "dispersa" en grandes regiones del espectro. Por ello, utilizo habitualmente el PCA como herramienta de exploración, por ejemplo, para comprobar si existe una gran varianza que no esté correlacionada con el resultado que quiero predecir/estudiar. Y posiblemente incluso para ver si puedo averiguar cuál es la fuente de dicha varianza y decidir cómo tratarla. A continuación, decido si utilizar el PCA como reducción de características - mientras que sé desde el principio que la característica selección elegir una longitud de onda particular casi nunca es apropiado.

En cambio, los datos de un microarray de genes me permiten saber de antemano que la información se concentra probablemente en unos pocos genes y que todos los demás genes sólo tienen ruido. En este caso, es necesario seleccionar las características.


podríamos estar dejando de lado rasgos que no explican gran parte de la varianza del conjunto de datos, pero sí lo que caracteriza a una clase frente a otra.

Por supuesto, y en mi campo (la quimiometría) para la regresión, esta observación es el detonante del libro de texto para pasar de la regresión por componentes principales a la regresión por mínimos cuadrados parciales.

4voto

Por supuesto que no, no recuerdo haber leído/escuchado el nombre de ningún método científico con la palabra siempre y mucho menos el PCA. Y, hay muchos otros métodos que se pueden utilizar para la reducción de la dimensionalidad, por ejemplo, ICA, LDA, diversos métodos de selección de características, técnicas de factorización de matrices/tensores, autoencoders ...

0 votos

Lo mismo digo. Sólo me preguntaba si se puede aplicar siempre sin perder información valiosa en el proceso de reducción de la dimensionalidad

5 votos

Cuidado con el tSNE como reducción de la dimensionalidad, sobre todo si se piensa utilizarlo posteriormente para otras tareas más allá de la visualización. No hay un mapeo global de sus características de entrada al espacio tSNE, por lo que dado sólo la salida tSNE, no hay manera de volver a las características originales. Es genial para la visualización, pero no recomiendo el uso de datos reducidos por tSNE para la clasificación/regresión.

0 votos

Parece que no podía dejar de dar ejemplos

3voto

Charles Ma Puntos 12330

Las dos principales limitaciones del ACP:

1) Supone una relación lineal entre las variables.

2) Los componentes son mucho más difíciles de interpretar que los datos originales.

Si las limitaciones superan el beneficio, no se debe utilizar; por lo tanto, la pca no debe siempre se utilice. En mi opinión, es mejor no utilizar el PCA, a menos que haya una buena razón para hacerlo.

0 votos

Se puede tener una relación lineal entre las variables y aun así no tener una compresión muy significativa al maximizar la varianza retenida.

2 votos

A diferencia de un modelo probabilístico, el ACP es un procedimiento algebraico que no asume nada sobre las variables subyacentes, excepto quizás las condiciones técnicas para garantizar que el ACP sea factible. Como dice @amoeba en otro hilo , El PCA, como herramienta de transformación de datos, reducción de la dimensionalidad, exploración y visualización, no hace ninguna suposición. Puede ejecutarse con cualquier tipo de datos. Los componentes son sólo combinaciones lineales, y eso no es demasiado difícil de interpretar, comparado con básicamente cualquier otra forma de combinaciones.

i-Ciencias.com

I-Ciencias es una comunidad de estudiantes y amantes de la ciencia en la que puedes resolver tus problemas y dudas.
Puedes consultar las preguntas de otros usuarios, hacer tus propias preguntas o resolver las de los demás.

Powered by:

X