Medida de calidad de agrupamiento

17

Tengo un algoritmo de agrupación (no k-significa) con el parámetro de entrada (número de agrupaciones). Después de realizar la agrupación, me gustaría obtener una medida cuantitativa de la calidad de esta agrupación. El algoritmo de agrupamiento tiene una propiedad importante. Para si ingreso puntos de datos sin ninguna distinción significativa entre ellos a este algoritmo, como resultado obtendré un grupo que contiene puntos de datos y un grupo con 1 punto de datos. Obviamente esto no es lo que quiero. Por lo tanto, quiero calcular esta medida de calidad para estimar la razonabilidad de esta agrupación. Lo ideal sería poder comparar estas medidas para diferentes k . Así que voy a ejecutar agrupaciones en el rango de kkk=2NN11kky elige el que tenga la mejor calidad. ¿Cómo calculo esa medida de calidad?

ACTUALIZAR:

Aquí hay un ejemplo cuando (N1,1) es un mal agrupamiento. Digamos que hay 3 puntos en un plano que forman un triángulo equilátero. Dividir estos puntos en 2 grupos es obviamente peor que dividirlos en 1 o 3 grupos.

Max
fuente
Para mí esto no es obvio. Veo grupos que en realidad tienen diferentes tamaños todo el tiempo ...
Anony-Mousse -Reinstalar a Mónica el

Respuestas:

12

La elección de la métrica depende más bien de lo que consideres que es el propósito de la agrupación. Personalmente, creo que la agrupación debería tratarse de identificar diferentes grupos de observaciones que fueron generados por un proceso de generación de datos diferente. Por lo tanto, probaría la calidad de una agrupación generando datos a partir de procesos de generación de datos conocidos y luego calcularía con qué frecuencia los patrones se clasifican erróneamente por la agrupación. Por supuesto, esto implicaba hacer suposiciones sobre la distribución de patrones de cada proceso de generación, pero puede usar conjuntos de datos diseñados para la clasificación supervisada.

Otros ven la agrupación como un intento de agrupar puntos con valores de atributo similares, en cuyo caso son aplicables medidas como SSE, etc. Sin embargo, encuentro que esta definición de agrupamiento es bastante insatisfactoria, ya que solo le dice algo sobre la muestra particular de datos, en lugar de algo generalizable sobre las distribuciones subyacentes. La forma en que los métodos tratan con los clústeres superpuestos es un problema particular con esta vista (para la vista del "proceso de generación de datos" no causa ningún problema real, solo se obtienen probabilidades de pertenencia al clúster).

Dikran Marsupial
fuente
3
+1 para resaltar la distinción entre la agrupación basada en modelos frente a la agrupación no supervisada basada únicamente en la distancia.
chl
1
Creo que ambos propósitos tienen su uso justo en diferentes entornos. Hay muchos contextos en los que realmente hace solo para mirar los datos disponibles (por ejemplo, definición de valores atípicos). Además, antes de poder acceder a diferentes procesos de generación de datos, necesita explorar cuál se hace mejor con su segunda definición ...
Etienne Low-Décarie
Estoy de acuerdo con Etienne en que ambos métodos tienen sus usos. Sin embargo, también diría que si una observación es atípica o no, implícitamente hace algunas suposiciones sobre el proceso de generación de datos, por lo que la segunda forma de agrupamiento es quizás solo el primer paso para comprender los datos cuando intenta orientarse adecuadamente.
Dikran Marsupial
4

Dado que la agrupación no está supervisada, es difícil saber a priori cuál es la mejor agrupación. Este es un tema de investigación. Gary King, un conocido científico social cuantitativo, tiene un próximo artículo sobre este tema.


fuente
+! Sip; @Max ¿Cuál crees que sería esta agrupación "obvia"?
@mbq: En realidad, no sé cuál sería un buen agrupamiento para esto. Por "obvio" menciono que (N-1, 1) definitivamente no es un buen agrupamiento para esto. Un mejor agrupamiento sería solo un grupo, por lo que no hay agrupación en absoluto. O tal vez algunos grupos con el número de grupos más de 2.
Max
Tu enlace parece estar roto.
Etienne Low-Décarie
Aquí hay un enlace actualizado al artículo: gking.harvard.edu/files/abs/discov-abs.shtml
Dolan Antenucci
4

Aquí tienes un par de medidas, pero hay muchas más:

SSE: suma del error cuadrado de los elementos de cada grupo.

Distancia entre grupos: suma de la distancia cuadrada entre cada centroide de grupo.

Distancia dentro del grupo para cada grupo: suma de la distancia al cuadrado desde los elementos de cada grupo hasta su centroide.

Radio máximo: la mayor distancia desde una instancia a su centroide de clúster.

Radio promedio: suma de la distancia más grande desde una instancia a su centroide de grupo dividido por el número de grupos.

mariana más suave
fuente
Intenté usar intra en la distancia entre grupos, pero no se me ocurrió algo útil para un grupo con un punto. Además, no tengo un punto central. Solo tengo distancias entre puntos.
Max
Cuanto mayor sea la distancia entre grupos, mejor podrá medirla calculando las distancias entre el centro de los grupos.
mariana soffer
4

Te encontraste con el área de Validación de agrupación. Mi alumno realizó la validación utilizando las técnicas descritas en:

A. Banerjee y RN Dave. Validación de clústeres utilizando la estadística de Hopkins. 2004 Conferencia Internacional IEEE sobre Sistemas Difusos IEEE Cat No04CH37542, 1: p. 149-153, 2004.

Se basa en el principio de que si un grupo es válido, los puntos de datos se distribuyen uniformemente dentro de un grupo.

Pero antes de eso, debe determinar si sus datos tienen la denominada Tendencia de agrupación, es decir, si vale la pena agrupar y el número óptimo de agrupaciones:

S. Saitta, B. Raphael e IFC Smith. Un índice de validez integral para la agrupación. Intell. Análisis de datos, 12 (6): p. 529-548, 2008.

danas.zuokas
fuente
3

Como otros han señalado, hay muchas medidas para agrupar la "calidad"; La mayoría de los programas minimizan la ESS. Ningún número puede decir mucho sobre el ruido en los datos, o el ruido en el método, o los mínimos mínimos: puntos bajos en Saskatchewan.

Por lo tanto, primero intente visualizar, tener una idea de un grupo dado, antes de reducirlo a "41". Luego haga 3 corridas: ¿obtiene SSE 41, 39, 43 o 41, 28, 107? ¿Cuáles son los tamaños y radios del grupo?

(Agregado :) Eche un vistazo a las gráficas de silueta y las puntuaciones de silueta, por ejemplo, en el libro de Izenman, Modern Multivariate Statistical Techniques (2008, 731p, isbn 0387781889).

denis
fuente
3

La silueta se puede utilizar para evaluar los resultados de la agrupación. Lo hace comparando la distancia promedio dentro de un grupo con la distancia promedio a los puntos en el grupo más cercano.

sebp
fuente
2

Se podría usar un método como el que se usa en el bosque aleatorio sin supervisión.

Los algoritmos de bosque aleatorio tratan la clasificación no supervisada como un problema de dos clases, en el que se crea un conjunto de datos artificial y aleatorio completamente diferente a partir del primer conjunto de datos al eliminar la estructura de dependencia en los datos (aleatorización).

Luego, podría crear un conjunto de datos tan artificial y aleatorio, aplicar su modelo de agrupamiento y comparar su métrica de elección (por ejemplo, SSE) en sus datos verdaderos y sus datos aleatorios.

Mezclar la aleatorización, la permutación, el arranque, el embolsado y / o el alzado podría darle una medida similar a un valor P al medir la cantidad de veces que un modelo de agrupamiento dado le da un valor menor para sus datos verdaderos que sus datos aleatorios usando una métrica de elección (p. ej., SSE o predicción de error de bolsa).

Su métrica es, por lo tanto, la diferencia (probabilidad, diferencia de tamaño, ...) en cualquier métrica de elección entre datos verdaderos y aleatorios.

Iterar esto para muchos modelos le permitiría distinguir entre modelos.

Esto se puede implementar en R.

randomforest está disponible en R

Etienne Low-Décarie
fuente
+1, me gusta esta idea; sin embargo, la aleatorización / permutación de los datos solo romperá las relaciones b / t variables, esto no funcionaría si hay agrupación con una sola variable.
gung - Restablece a Monica
1

Si el algoritmo de agrupamiento no es determinista, intente medir la "estabilidad" de los agrupamientos; descubra con qué frecuencia cada dos observaciones pertenecen al mismo grupo. Ese es un método generalmente interesante, útil para elegir k en el algoritmo kmeans.

Qbik
fuente