Hola,
Me gustaría saber qué plataforma de agrupación, disponible en JMP o JMP Pro, es la más adecuada para identificar agrupaciones a partir de estos datos en espiral.

Usando HDBSCAN puedo identificar correctamente los clústeres como se ilustra a continuación, pero me gustaría usar JMP si es posible:

Guión de tabla adjunto.
gracias jpol
Hola @jpol ,
Encontré esta publicación y la encontré muy interesante. Ni siquiera recuerdo ahora lo que estaba buscando, ¡pero esta fue una publicación realmente genial y gracias por el conjunto de datos original para jugar!Intenté otro enfoque, que podría ser de su interés. En primer lugar, agregué algunas columnas adicionales en la tabla de datos y eliminé otras que no necesitaba. Agregué más datos X e Y, pero con ruido para que las espirales no se vieran tan bien (¡solo para complicar el problema!
). Incluso transformé las coordenadas X/Y en coordenadas R/theta para probar el agrupamiento y el modelado, pero descubrí que R y theta no mejoraron el agrupamiento o el modelado. También se adjunta la tabla de datos.
Tiene razón en que esos puntos "atípicos" causan estragos en el método de enlace único en la agrupación jerárquica, incluso cuando se estandarizan los datos. Creo que es porque esos puntos comparten algo en común con el resto de los datos y también terminan inflando la desviación estándar de los datos dentro de esa columna (es decir, X o Y). Sin embargo, en JMP 11, agregaron la opción Estandarizar sólidamente, lo que hace que los valores atípicos se destaquen aún más. No conozco el algoritmo completo para ello, pero supongo que JMP probablemente hace algún tipo de prueba de valores atípicos T^2, Jackknife o KNN. De hecho, si usa la plataforma Multivariante y realiza una prueba T^2, o usa la plataforma Explore Outlier y ejecuta una prueba KNN, puede ver que los 5 puntos adicionales se muestran como posibles valores atípicos. El único en cuestión podría ser el del centro. Puedes ver los informes a continuación. También se guardan como scripts en la tabla de datos.


En resumen, marque Estandarizar sólidamente cuando crea que tiene valores atípicos, esto minimizará el impacto de los valores atípicos cuando JMP estandarice los datos. Cuando obtenga el dendrograma, puede seleccionar 8 clústeres y la plataforma de Agrupación jerárquica distinguirá correctamente los 5 puntos de datos adicionales como sus propios clústeres individuales. Consulte a continuación el informe HC de JMP. Puede ver que todos los grupos de valores atípicos están alineados en un solo brazo de constelación. No se pueden colocar en su propio grupo porque no comparten lo suficiente entre sí y, al mismo tiempo, tienen demasiado en común con el resto del conjunto de datos. Todavía necesita especificar 8 grupos; de lo contrario, agrupará el punto central y la espiral completa en un grupo y los 4 puntos exteriores, cada uno en su propio grupo.

Si tuviera una tercera dimensión de datos, digamos el brillo de las estrellas (solo digo eso porque se parece mucho a una imagen de galaxia) o la coordenada Z, entonces podría agregar eso a los datos para permitir otro método de distinción. Si sabe de antemano que son valores atípicos, siempre puede especificar el número total de clústeres (8 en este caso) y el agrupamiento jerárquico los selecciona bien (cuando se estandariza de manera sólida). Si los puntos en cuestión son cosas como fiduciales para marcar ubicaciones específicas en una placa fotográfica o un diseño de transistor en una oblea de Si, estos pueden eliminarse del conjunto de datos desde el principio. Pero este es un conocimiento a priori que debe incluir de alguna manera en los datos.
Decidí jugar con esto un poco más y ver si un algoritmo de máquina podía seleccionar los grupos. De los métodos que JMP Pro tiene disponibles, creo que Support Vector Machines podría ser el mejor, ya que se necesitan entradas numéricas para obtener resultados de clasificación. Este conjunto de datos es esencialmente un problema de clasificación. Estás tratando de distinguir cada brazo de la espiral de los otros brazos.
Usando los clústeres de la plataforma de agrupación jerárquica como salida para modelar con las entradas X e Y para la plataforma Support Vector Machine en JMP Pro, pude modelar los diferentes clústeres a la perfección. Sin saber qué parámetros exactos usar en el modelo, hice un diseño de ajuste con 40 ejecuciones y, efectivamente, la plataforma SVM pudo seleccionar los 8 grupos. La tabla de contingencia de Clusters vs Predicted Clusters tiene 0 errores de clasificación. *Actualización*: olvidé mencionar que también usé el 50 % de los datos como conjunto de validación al entrenar el modelo SVM.
Aquí está el resultado del informe SVM. Puede ver que cada brazo está identificado de forma única, así como los 5 valores atípicos adicionales.

Al comparar los datos coloreados por el método HC y SVM, vemos que son esencialmente idénticos. (Cambié el tipo de marcador para los valores atípicos a * para que fuera más fácil de ver).


Y, la tabla de contingencia muestra 0 errores de clasificación.

Este fue un conjunto de datos realmente genial para jugar, y le agradezco por publicar esta pregunta. Nuevamente, ni siquiera recuerdo lo que estaba buscando originalmente, pero encontré esto muy bueno. Podría probar algunas de las otras plataformas y ver cómo les va en el modelado/clasificación de estos datos. ¡Gracias!
¡Espero que esto ayude!,
SD
**Actualización 2**:
Entonces, volví y probé el ajuste de este conjunto de datos usando algunas de las otras plataformas de modelado predictivo en JMP y las otras dos únicas que se acercaron fueron el árbol de decisión y las plataformas de bosque de arranque. Incluso entonces, ninguno de ellos funciona tan bien como el modelo SVM. Ambos solo seleccionaron 3 grupos durante el modelado, los grupos son casi iguales, pero no del todo. Entonces, de hecho, SVM parece ser la mejor opción.


Incluso probé la nueva plataforma XGBoost, que tampoco terminó funcionando tan bien, sorprendentemente. Probé varias opciones de ajuste diferentes, pero es posible que no lo haya optimizado tan bien como podría ser, ya que hay muchos parámetros de ajuste diferentes. Lo mejor que hizo fue clasificar los 3 brazos de la espiral y solo uno atípico, el resto los clasificó mal. Entonces, al final, el agrupamiento de HC para obtener la salida y el modelado SVM para modelar la salida para posibles espirales desconocidas es probablemente lo mejor. ¡Mucha diversión!
No soy el experto aquí; Voy a ceder a los demás. Supongo que sería un pase separado para descubrir puntos que no estén más lejos que el promedio de otros puntos, pero eso fallaría si hubiera dos valores atípicos uno al lado del otro, por lo que sería necesario probar su grupo de dos... tal vez el HDBSCAN está haciendo algo así.
¿Puedes compartir qué tipo de proceso produce los cúmulos en espiral?
Gracias Craig por indicar el método correcto y el enlace del artículo.
El método Single Link funciona muy bien en este conjunto de datos relativamente limpio.
La secuencia de comandos de la tabla que proporcioné anteriormente incluye una secuencia de comandos para agregar algunas filas más de datos, "Agregar filas".
Estos deben considerarse valores atípicos, o al menos identificarse como no pertenecientes a ninguno de los tres grupos principales. Algo así como el clúster "-1" en HDBSCAN.
La adición de estos puntos extra parece causar estragos en el método de enlace único (al buscar 3 o 4 grupos).
¿Alguna idea de cómo evitar esto?


- Felipe
Enlace único. Necesitarás saber cuántos grupos quieres, 3 por ejemplo, o dividirá los brazos espirales en más.
Hierarchical Cluster(
Y( :X, :Y ),
Method( "Single" ),
Standardize Data( 1 ),
Color Clusters( 1 ),
Dendrogram Scale( "Distance Scale" ),
Number of Clusters( 3 )
)
Dendrogram with cluster colorsDendrogram with cluster colorsDendrogram with cluster colorsDendrograma con colores de racimo
Graph with cluster colorsGraph with cluster colorsGraph with cluster colors Gráfico con colores de grupo
Creo que este artículo podría ayudar, leí lo suficiente como para ver que se menciona "cadena".
https://stats.stackexchange.com/questions/195446/choosing-the-right-linkage-method-for-hierarchical-clustering