¿Qué puede causar que la PCA empeore los resultados de un clasificador?

27

Tengo un clasificador en el que estoy haciendo validación cruzada, junto con un centenar de características en las que estoy haciendo la selección hacia adelante para encontrar combinaciones óptimas de características. También comparo esto con la ejecución de los mismos experimentos con PCA, donde tomo las características potenciales, aplico SVD, transformo las señales originales en el nuevo espacio de coordenadas y uso las principales características en mi proceso de selección hacia adelante.k

Mi intuición era que PCA mejoraría los resultados, ya que las señales serían más "informativas" que las características originales. ¿Mi comprensión ingenua de PCA me está llevando a problemas? ¿Alguien puede sugerir algunas de las razones comunes por las cuales la PCA puede mejorar los resultados en algunas situaciones, pero empeorarlas en otras?

Dolan Antenucci
fuente
¿Se puede resumir su pregunta de esta manera ?: "¿Qué es mejor: construir clasificadores basados ​​en las variables originales o en algunos componentes principales extraídos de ellos?"
ttnphns
1
Yo diría más en la línea de "¿Hay situaciones en las que es mejor usar las variables originales frente a algunos componentes principales extraídos de ellos?"
Dolan Antenucci
1
Hay muchas técnicas de clasificación. Si, por ejemplo, toma un análisis discriminante, le recomiendo que lea esta publicación (incluido mi propio comentario allí).
ttnphns
1
¿Qué quieres decir con "resultados de un clasificador"? Si la proporción se clasifica correctamente, esta es una regla de puntuación inadecuada discontinua, es decir, una puntuación de precisión optimizada por un modelo falso. Para empezar, sugeriría utilizar una regla de puntuación de precisión adecuada.
Frank Harrell
1
Un poco tarde para la fiesta, pero: lo primero que verificaría dos veces es que los resultados de validación de la selección directa se obtuvieron en casos independientes. De lo contrario, es probable que esté sujeto a un gran sesgo optimista.
cbeleites apoya a Monica el

Respuestas:

29

Considere un caso simple, sacado de un excelente artículo infravalorado "Una nota sobre el uso de componentes principales en la regresión" .

Suponga que solo tiene dos características (escaladas y desmedidas), denótelas y con una correlación positiva igual a 0.5, alineadas en , y una tercera variable de respuesta que desea clasificar. Suponga que la clasificación de está completamente determinada por el signo de .x 2 X Y Y x 1 - x 2x1x2XYYx1x2

La realización de PCA en da como resultado las nuevas características (ordenadas por variación) , ya que . Por lo tanto, si reduce su dimensión a 1, es decir, el primer componente principal, ¡está descartando la solución exacta a su clasificación![ x 1 + x 2 , x 1 - x 2 ] Var ( x 1 + x 2 ) = 1 + 1 + 2 ρ > Var ( x 1 - x 2 ) = 2 - 2 ρX[x1+x2,x1x2]Var(x1+x2)=1+1+2ρ>Var(x1x2)=22ρ

El problema se debe a la PCA es agnóstico a . Desafortunadamente, tampoco se puede incluir en el PCA, ya que esto provocará una fuga de datos.YYY


La fuga de datos es cuando su matriz se construye utilizando los predictores objetivo en cuestión, por lo tanto, cualquier predicción fuera de la muestra será imposible.X

Por ejemplo: en series de tiempo financieras, tratar de predecir el cierre europeo del final del día, que ocurre a las 11:00 a.m.EST, utilizando cierres estadounidenses al final del día, a las 4:00 p.m.EST, es una fuga de datos desde que el estadounidense cierra , que ocurren horas después, han incorporado los precios de los cierres europeos.

Cam.Davidson.Pilon
fuente
2
¿Qué es la "fuga de datos"?
usuario603
@Wayne costoso también jaja
Cam.Davidson.Pilon
(-1) por causar confusión: (1) PCA no está supervisada, por lo que nunca incluirá Y en la especulación de la transformación. La técnica supervisada correspondiente es PLS, que utiliza tanto X como Y. (2) La fuga de datos (como en: pruebas con datos estadísticamente dependientes) no se sigue per se por el uso de un método supervisado. Por el contrario: ocurrirá con PCA de la misma manera que con PLS si no obedece la regla que desde el primer paso de análisis que usa más de un caso (por ejemplo, centrado, escalado, proyección PCA / PLS) en todos los cálculos tiene que debe hacerse solo con los datos de entrenamiento (es decir, debe ser ...
cbeleites apoya a Monica el
... recalculado para cada uno de los modelos sustitutos. Los resultados de estos cálculos se pueden aplicar a los datos de la prueba, es decir, restar el centro obtenido de los datos de entrenamiento, rotar por la rotación obtenida por PCA en los casos de entrenamiento, etc.
cbeleites apoya a Monica el
En cuanto al ejemplo: las series de tiempo son particularmente difíciles, ya que lo que constituye un caso independiente dependerá mucho de la aplicación. Ver, por ejemplo, stats.stackexchange.com/questions/76376/…
cbeleites apoya a Monica el
23

Hay una explicación geométrica simple. Pruebe el siguiente ejemplo en R y recuerde que el primer componente principal maximiza la varianza.

library(ggplot2)

n <- 400
z <- matrix(rnorm(n * 2), nrow = n, ncol = 2)
y <- sample(c(-1,1), size = n, replace = TRUE)

# PCA helps
df.good <- data.frame(
    y = as.factor(y), 
    x = z + tcrossprod(y, c(10, 0))
)
qplot(x.1, x.2, data = df.good, color = y) + coord_equal()

# PCA hurts
df.bad <- data.frame(
    y = as.factor(y), 
    x = z %*% diag(c(10, 1), 2, 2) + tcrossprod(y, c(0, 8))
)
qplot(x.1, x.2, data = df.bad, color = y) + coord_equal()

PCA ayuda PCA ayuda

La dirección de la varianza máxima es horizontal, y las clases se separan horizontalmente.

PCA duele PCA duele

La dirección de la varianza máxima es horizontal, pero las clases están separadas verticalmente.

vqv
fuente
... y en el ejemplo 2, el análogo supervisado, PLS realmente ayudaría.
cbeleites apoya a Monica el
3

Veo que la pregunta ya tiene una respuesta aceptada pero quería compartir este documento que habla sobre el uso de PCA para la transformación de características antes de la clasificación .

El mensaje para llevar a casa (que se visualiza maravillosamente en la respuesta de @ vqv) es:

El análisis de componentes principales (PCA) se basa en la extracción de los ejes en los que los datos muestran la mayor variabilidad. Aunque la PCA "distribuye" los datos en una nueva base y puede ser de gran ayuda en el aprendizaje no supervisado, no hay garantía de que los nuevos ejes sean consistentes con las características discriminatorias en un problema de clasificación (supervisado).

Para aquellos interesados, si observan la Sección 4. Los resultados experimentales , comparan las precisiones de clasificación con 1) las características originales, 2) las características transformadas de PCA y 3) la combinación de ambas, que era algo nuevo para mí.

Mi conclusión:

Las transformaciones de características basadas en PCA permiten resumir la información de una gran cantidad de características en un número limitado de componentes, es decir, combinaciones lineales de las características originales. Sin embargo, los componentes principales son a menudo difíciles de interpretar (no intuitivos), y como los resultados empíricos en este documento indican que generalmente no mejoran el rendimiento de la clasificación.

PD: Observo que una de las limitaciones del artículo que debería haber sido incluido en la lista fue el hecho de que los autores limitaron la evaluación del desempeño de los clasificadores a 'precisión', lo que puede ser un indicador de desempeño muy sesgado.

Zhubarb
fuente
3

x1,x2,x3yx3=y

yx3

x1x2x3y

Donbeo
fuente