¿Cómo puedo saber que no hay un patrón en los resultados de PCA?

9

Tengo un conjunto de datos de más de 1000 muestras de 19 variables. Mi objetivo es predecir una variable binaria basada en las otras 18 variables (binarias y continuas). Estoy bastante seguro de que 6 de las variables de predicción están asociadas con la respuesta binaria, sin embargo, me gustaría analizar más a fondo el conjunto de datos y buscar otras asociaciones o estructuras que me pueden faltar. Para hacer esto, decidí usar PCA y clustering.

Cuando se ejecuta el PCA en los datos normalizados, resulta que se deben mantener 11 componentes para retener el 85% de la variación. ingrese la descripción de la imagen aquí Al trazar las parcelas obtengo esto: ingrese la descripción de la imagen aquí

No estoy seguro de lo que sigue ... No veo un patrón significativo en la PCA y me pregunto qué significa esto y si podría haber sido causado por el hecho de que algunas de las variables son binarias. Al ejecutar un algoritmo de agrupamiento con 6 grupos, obtengo el siguiente resultado, que no es exactamente una mejora, aunque algunos blobs parecen destacarse (los amarillos). ingrese la descripción de la imagen aquí

Como probablemente pueda notar, no soy un experto en PCA, pero vi algunos tutoriales y cómo puede ser poderoso tener una idea de las estructuras en el espacio de alta dimensión. Con el famoso conjunto de datos de dígitos MNIST (o IRIS) funciona muy bien. Mi pregunta es: ¿qué debo hacer ahora para que la PCA tenga más sentido? La agrupación no parece recoger nada útil, ¿cómo puedo decir que no hay un patrón en la PCA o qué debo intentar a continuación para encontrar patrones en los datos de la PCA?

mickkk
fuente
¿Por qué estás haciendo PCA para encontrar predictores? ¿Por qué no usar algún otro método? por ejemplo, se podría incluir a todos en una reg logística, se puede usar LASSO, se podría construir un modelo de árbol, hay embolsado, etc. boosting
Peter Flom - Restablecer Mónica
¿Qué quiere decir específicamente con "patrón" en el que es bueno revelar PCA?
ttnphns
@ttnphns lo que estoy tratando de hacer es encontrar algún subgrupo de observaciones que puedan tener algo en común para explicar mejor el resultado de la respuesta binaria que intento predecir (esto se ha inspirado en parte en everydayanalytics.ca/2014/ 06 / ... ). También usando pca y agrupamiento en el conjunto de datos del iris, es útil aislar la especie ( scikit-learn.org/stable/auto_examples/decomposition/… ) aunque eso es muy fácil ya que ya sabemos la cantidad de grupos.
mickkk
@PeterFlom Ya ejecuté la regresión logística y un modelo de bosque aleatorio y están funcionando decentemente, sin embargo, me gustaría investigar más a fondo los datos.
mickkk

Respuestas:

7

Usted explicó que el diagrama de varianza me dice que PCA no tiene sentido aquí. 18/11 es 61%, por lo que necesita 61% de sus variables para explicar el 85% de la varianza. Ese no es el caso para PCA, en mi opinión. Uso PCA cuando 3-5 factores de 18 explican aproximadamente el 95% de la varianza.

ACTUALIZACIÓN: Mire la gráfica del porcentaje acumulado de varianza explicado por el número de PC. Esto es del campo de modelado de estructura de términos de tasa de interés. Usted ve cómo 3 componentes explican más del 99% de la varianza total. Esto puede parecer un ejemplo inventado para la publicidad de PCA :) Sin embargo, esto es algo real. Los plazos de las tasas de interés están tan correlacionados, por eso PCA es muy natural en esta aplicación. En lugar de lidiar con un par de docenas de tenores, manejas solo 3 componentes.

ingrese la descripción de la imagen aquí

Aksakal
fuente
Eso es lo que sospeché en primer lugar. No lo señalé directamente porque no sé mucho sobre PCA para hacer una declaración tan audaz. ¿Es seguro decir que cuando se necesita más del x% de los componentes, PCA no es de gran ayuda? Quiero decir, en los ejemplos de aplicación que vi, generalmente pocos componentes explican la mayor variación.
mickkk
@mickkk, no hay una regla firme. Para mí, la indicación es convexidad, el gráfico de varianza explicada. Si lo dibuja como un porcentaje acumulativo de la varianza total explicada por el número de PC, entonces desea ver un gráfico muy cóncavo. Su habría sido casi lineal: cada componente parece contener aproximadamente la misma información sobre los datos, en este caso, ¿por qué usar PCA en lugar de los datos originales?
Aksakal
La edición con el nuevo ejemplo fue muy útil.
mickkk
5

N>1000p=19

Si está seguro de que solo un subconjunto de las variables es realmente explicativo, el uso de un modelo de regresión disperso, por ejemplo, Elastic Net, podría ayudarlo a establecer esto.

Además, la interpretación de los resultados de PCA usando entradas de tipo mixto (binario versus real, escalas diferentes, etc., vea la pregunta de CV aquí ) no es tan sencilla y es posible que desee evitarla a menos que haya una razón clara para hacerlo.

conjeturas
fuente
4

Voy a interpretar tu pregunta de la manera más sucinta que pueda. Avísame si cambia tu significado.

Estoy bastante seguro de que 6 de las variables de predicción están asociadas con la respuesta binaria [pero] no veo un patrón significativo en la PCA

Tampoco veo ningún "patrón significativo", aparte de la consistencia en sus parcelas. Todos son solo manchas aproximadamente circulares. Tengo curiosidad por lo que esperabas ver. ¿Puntos claramente separados agrupa algunos de los plotpl? ¿Algunas parcelas muy cercanas a lineal?

Los resultados de su PCA, las parcelas en bloque y solo el 85% de la varianza capturada en los 11 componentes principales principales, no excluyen su presentimiento de que 6 variables son suficientes para la predicción de respuesta binaria.

Imagina estas situaciones:

  1. Digamos que los resultados de su PCA muestran que el 99% de la varianza es capturada por 6 componentes principales.

    Puede parecer que respalda su presentimiento sobre 6 variables predictoras: tal vez podría definir un plano u otra superficie en ese espacio de 6 dimensiones que clasifica muy bien los puntos, y podría usar esa superficie como un predictor binario. Lo que me lleva al número 2 ...

  2. Digamos que sus 6 componentes principales principales tienen parcelas que se parecen a esto

    "Patrón" en parcelas.

    Pero codifiquemos con colores una respuesta binaria arbitraria

    El "patrón" es inútil.

    Aunque logró capturar casi la totalidad (99%) de la varianza en 6 variables, aún no se garantiza que tenga una separación espacial para predecir su respuesta binaria.

Es posible que necesite varios umbrales numéricos (que podrían trazarse como superficies en ese espacio de 6 dimensiones), y la pertenencia de un punto a su clasificación binaria podría depender de una expresión condicional compleja hecha de la relación de ese punto con cada uno de esos umbrales. Pero ese es solo un ejemplo de cómo se podría predecir una clase binaria. Hay un montón de estructuras de datos y métodos para representar, capacitar y predecir. Este es un adelanto. Citar,

A menudo, la parte más difícil de resolver un problema de aprendizaje automático puede ser encontrar el estimador adecuado para el trabajo.

kdbanman
fuente
1
La cara sonriente es realmente buena, ¡porque no está correlacionada! Me gustó.
ameba
@amoeba, ¿puedes tener una cara sonriente de PC no correlacionadas?
Aksakal
@ Aksakal, sí, el diagrama de dispersión de smiley me parece que exhibe cero correlación. Kdbanman, agradezco la actualización, +1.
ameba
@amoeba, ok, te refieres a la correlación lineal .
Aksakal