Selección de funciones para problemas de agrupamiento

9

Estoy tratando de agrupar diferentes conjuntos de datos usando algoritmos no supervisados ​​(agrupamiento). El problema es que tengo muchas funciones (~ 500) y una pequeña cantidad de casos (200-300).

Hasta ahora solía hacer solo problemas de clasificación para los cuales siempre había etiquetado los datos como conjuntos de entrenamiento. Allí utilicé algún criterio (es decir, random.forest.importance o information.gain) para la preselección de las funciones y luego utilicé una selección secuencial hacia adelante para que los diferentes alumnos encontraran las funciones relevantes.

Ahora veo que en caso de aprendizaje no supervisado no tengo ningún criterio para la preselección ni puedo usar la selección secuencial hacia adelante (al menos no en el paquete mlr).

Me preguntaba si antes podría hacer un análisis de componentes principales para encontrar un pequeño número de características para incorporar a mi algoritmo de agrupamiento. ¿O tienes alguna otra idea?

Gracias

editar:

De acuerdo, después de una investigación en línea, puedo actualizar un poco mi pregunta: en primer lugar, he leído algunos artículos que desalientan el uso de PCA antes de agrupar algoritmos, debido a dos razones:

  • Las PC son funciones de todas las características, por lo que es difícil relacionar el resultado con el conjunto de datos iniciales y, por lo tanto, es más difícil de interpretar

  • Además, si tiene el problema de que en realidad solo una fracción muy pequeña de sus características son útiles para agrupar, no se dice que estas características también describan la mayor variación entre las muestras (que es lo que hacen las PC)

Entonces PCA está fuera de la mesa ...

Ahora vuelvo a mi idea inicial de hacer una selección secuencial hacia adelante para la agrupación.

¿Qué medida de rendimiento recomendarías? (Pensé en el índice Dunn) ¿Qué algoritmo de agrupamiento conduciría a grupos de más o menos del mismo tamaño? (para la agrupación jerárquica, generalmente obtengo un grupo con un solo valor atípico y otro con todo lo demás -> por lo que necesitaría algo que de alguna manera proteja contra los valores atípicos)

Espero que ustedes puedan ayudarme...

JohnDoe
fuente
Los bosques aleatorios se pueden aplicar en problemas no supervisados. Y creo que aún puede extraer algunas características informativas en el proceso.
amanita kiki

Respuestas:

11

Tengo algunas ideas para compartir acerca de la reducción de dimensiones en problemas de aprendizaje no supervisados. Al responder, he asumido que su interés está en la interpretación del "toque de alto" y la participación humana en grupos de wrt en lugar de un enfoque automático, llave en mano, caja negra y enfoque de aprendizaje automático de "bajo contacto" en el que la interpretación se desestima deliberadamente . Si fuera lo último, ¿por qué estarías haciendo la pregunta? Además, tenga en cuenta que he tenido una gran cantidad de experiencia ejecutando soluciones de clúster en una amplia gama de entornos empresariales a lo largo de los años, incluido el marketing estratégico B2C, los ámbitos tecnológicos B2B y la política educativa (agrupación de estudiantes y escuelas).

En primer lugar, tengo una pregunta sobre su comentario sobre "agrupar diferentes conjuntos de datos". No sabía qué querías decir con eso o cómo podría afectar el enfoque y esperaba que pudieras dar más detalles.

Me gustaría cuestionar su suposición en el punto 1 anterior de que las soluciones basadas en PCA son "difíciles de interpretar". Las razones para incluso ejecutar un PCA como un paso preliminar en la agrupación tienen que ver principalmente con la higiene de la solución resultante en la medida en que muchos algoritmos de agrupación son sensibles a la redundancia de características. PCA colapsa esta redundancia en un puñado manejable de componentes, minimizando así los desafíos y dificultades que observa con respecto a la selección de funciones. Si bien es cierto que la salida de componentes de un PCA difumina la granularidad y especificidad de las características individuales, este es un problema si solo confíaen esos componentes al analizar los resultados. En otras palabras, no está de ninguna manera bloqueado para usar solo los componentes para la interpretación del clúster. No solo eso, no necesariamente tiene que preocuparse por lo que "significan" las dimensiones de los factores. Son solo un medio intermedio y (en última instancia) desechable para un fin que facilita una solución procesable. Pero al hacer este punto, difiero de muchos profesionales, ya que los equipos pueden, y pasarán semanas construyendo cuidadosamente una solución factorial "significativa". Para mí, esto es una pérdida ineficiente de tiempo y dinero del cliente.

En este punto habrá una gran cantidad de consideraciones técnicas para abordar. Por un lado, si su algoritmo PCA no es invariante de escala (por ejemplo, es OLS vs ML), entonces cualquier solución PCA resultante se distorsionará, cargando más en las características de alta varianza. En estos casos, sus características deben ser preprocesadas o transformadas de alguna manera para aplanar esta variación. Aquí hay una gran cantidad de posibilidades, incluida la estandarización media, el rango o la estandarización IQR, el escalado ipsativo, etc. Aproveche esa transformación ofreciendo la mejor solución más interpretable.

Una vez que se genera una solución de clúster, la interpretación se motiva mejor (en mi experiencia) al ignorar los componentes y replegarse en las características originales junto con cualquier información descriptiva adicional que no se use directamente en la solución. En este punto, algunas heurísticas son las mejores guías para obtener información cualitativa. Esto puede ser tan fácil como generar una hoja de cálculo que perfile sus grupos basados ​​en promedios o medianas para cada característica (las filas de la hoja), para cada grupo (las columnas), así como una columna adicional que represente la gran media para su muestra total . Luego, al indexar los promedios del clúster para cada característica contra la gran media (y multiplicar por 100), se crea una heurística que es como un puntaje de CI en la medida en que alrededor de "100" es un CI "normal" o comportamiento promedio, Los índices de más de 120 sugieren una alta probabilidad de que una característica sea "verdadera" sobre el comportamiento de un clúster y los índices de 80 o menos son indicativos de características que "no son verdaderas" de un clúster. Estos índices de 120+ y 80 o menos son como pruebas t de proxy para la importancia de una característica dada en la conducción de la solución. Por supuesto, puede realizar pruebas grupales significativas y, dependiendo del tamaño de la muestra, obtendrá respuestas que varían en torno a estas reglas generales rápidas y sucias.

Ok ... después de todo eso, suponga que todavía se opone al uso de PCA como entrada directa en un algoritmo de agrupación, el problema sigue siendo cómo seleccionar un conjunto reducido de características. PCA aún puede ser útil aquí, ya que los PCA son como ejecutar una regresión sin una variable dependiente. Las principales funciones de carga en cada componente pueden convertirse en entradas en el algoritmo del clúster.

Según su punto de vista sobre la gran cantidad de características y el tamaño de muestra relativamente pequeño de sus datos, la regla general típica en muchos análisis multivariados de "información completa" es un mínimo de aproximadamente 10 observaciones por característica. Existen algunos métodos especializados que pueden aprovecharse para solucionar este desafío. Por ejemplo, los mínimos cuadrados parciales (PLS) fueron desarrollados por primera vez por Herman Wold en su libro de 1990 Theoretical Empiricism para su uso en campos como la quimiometría que enfrentan este problema preciso. Es de naturaleza analítica de factores, pero es mucho menos estricto al requerir una gran n para generar las dimensiones. Otras soluciones incluyen los enfoques aleatorios de aprendizaje automático "divide y vencerás", similares a los del bosque, que se utilizan con grandes cantidades de información. Estos métodos se revisan en este pdfhttp://www.wisdom.weizmann.ac.il/~harel/papers/Divide%20and%20Conquer.pdf

Pero suponga que ha decidido que todavía no quiere tener nada que ver con el análisis factorial y está empeñado en ejecutar algún tipo de proceso de selección "secuencial" supervisado. En mi opinión, el tema más importante es menos acerca de encontrar una métrica de rendimiento post-hoc (Índice de Dunn) y más sobre identificar un proxy adecuado, una variable dependiente, para hacer posible este enfoque. Esta decisión es completamente una función de su juicio y el estado de las PYME con sus datos. No hay "mejores prácticas", respuestas mucho menos fáciles para esto y dada la forma en que ha descrito sus datos, no es un pequeño desafío.

Una vez que se toma esa decisión, hay literalmente cientos de posibles soluciones de selección de variables para elegir. La selección de variables es un área temática sobre la cual cada estadístico y su hermano ha publicado un artículo. Su enfoque preferido parece ser "selección secuencial hacia adelante" está bien.

Vale la pena señalar que existen modelos de aprendizaje supervisado que se pliegan en una solución de clúster como parte del algoritmo. Ejemplos de esto incluyen los enfoques grandes y altamente flexibles conocidos como modelos de clase latentes. La esencia de los modelos LC es que son de dos etapas: en la etapa uno se define un DV y se construye un modelo de regresión. En la segunda etapa, cualquier heterogeneidad en la salida residual del modelo, un solo vector latente, se divide en "clases" latentes. Hay una descripción general del modelado LC en esta discusión de CV aquí ... Clase latente multinomial modelo logit duda

Espero que esto ayude.

Mike Hunter
fuente
Gracias por tomarse el tiempo para responder mi pregunta tan extensamente. En primer lugar, es curioso que hayas mencionado la quimiometría porque este es exactamente el campo en el que estoy trabajando. Estoy tratando de encontrar grupos en las mediciones de diferentes muestras y mis características son señales en un espectro nmr. Esta es también la razón principal por la que pensé en descartar PCA tan pronto, ya que el objetivo de mi análisis es relacionar los clústeres con un puñado de características (señales) reales. No estoy decidido a usar una selección secuencial, es justo lo que he usado hasta ahora. Echaré un vistazo a los enlaces que me diste.
JohnDoe
Eso es divertido sobre la quimiometría. El libro de Wold es una buena lectura, solo en general. ¿Qué tipo de "sujetos" comprenden las muestras? ¿Y qué son las imágenes RMN?
Mike Hunter
Las muestras son extractos acuosos de plantas y toman espectros de 1H-nmr. Mi tarea es puramente exploratoria. Se supone que debo encontrar cualquier grupo que queramos relacionar con diferentes genotipos más adelante o con diferentes características de la planta, como la resistencia al estrés por sequía, etc. No es fácil encontrar un buen punto de partida para encontrar el conjunto correcto de metabolitos / características que ayudan a dividir los grupos, ya que habrá diferentes grupos formados por diferentes características para las diferentes preguntas.
JohnDoe
Por lo tanto, pensé que el enfoque secuencial podría funcionar mejor: - encontrar un conjunto de características para agrupar los datos - luego eliminar esas características de todo el conjunto y comenzar de nuevo De esta manera espero encontrar varios conjuntos de grupos con los que luego pueda relacionarme las diferentes preguntas
JohnDoe
1
Algo a considerar es comparar cualquier trabajo exploratorio con un conjunto predeterminado o definido de grupos, también llamado análisis de grupo "confirmatorio". Sugiero esto porque parece que usted y su equipo tienen algunas hipótesis fuertes sobre la formación de racimos en función de, por ejemplo, la "resistencia al estrés por sequía" de la planta. Creo que descubrirá que el trabajo exploratorio brindará conocimientos y resultados superiores. La agrupación exploratoria aprovecha la información completa disponible en sus datos, mientras que las reglas de asignación "confirmatorias" generalmente aprovechan un puñado de características relativas
Mike Hunter
1

Todo lo que necesita es un criterio de calidad de agrupamiento. Aquí está la idea: divide los datos en el tren y prueba, construye clustering en la parte del tren; use esta agrupación para agrupar cada uno de los elementos del conjunto de prueba (por el grupo más cercano); construir una agrupación separada en el conjunto de prueba; encuentre similitud de la agrupación en la prueba con la agrupación predicha. Esta similitud es el criterio de calidad de agrupamiento. Ahora, cómo medir esta similitud depende de usted. Una vez que lo obtiene, selecciona el subconjunto de características para maximizar esta similitud.

Centro de deportes acuáticos
fuente