¿Alguien puede explicar el índice C en el contexto de la agrupación jerárquica?


8

Este es un seguimiento de esta pregunta. Actualmente estoy tratando de implementar el Índice C para encontrar un número casi óptimo de grupos de una jerarquía de grupos. Hago esto calculando el Índice C para cada paso del agrupamiento jerárquico (aglomerativo). El problema es que el índice C es mínimo (0 para ser exactos) para agrupaciones muy degeneradas. Considera esto:

c=SSminSmaxSmin

En este caso, es la suma de todas las distancias entre pares de observaciones en el mismo grupo sobre todos los grupos. Sea n el número de estos pares. S m i n y S m a x son las sumas de n distancias más bajas / más altas en todos los pares de observaciones. En el primer paso de la agrupación jerárquica, las dos observaciones más cercanas (distancia mínima) se fusionan en un grupo. Sea d la distancia entre estas observaciones. Ahora hay un par de observaciones en el mismo grupo, entonces n = 1 (todos los otros grupos son singletons). En consecuencia S =SnSminSmaxndn=1 . El problema es que S m i n también es igual a d , porque d es la distancia más pequeña (es por eso que las observaciones se fusionaron primero). Entonces, para este caso, el Índice C siempre es 0. Permanece 0 siempre que solo se fusionen los clústeres únicos. Esto significa que la agrupación óptima de acuerdo con el Índice C siempre consistiría en un grupo de agrupaciones que contienen dos observaciones, y el resto de singleton. ¿Significa esto que el índice C no es aplicable a la agrupación jerárquica? ¿Estoy haciendo algo mal? He buscado mucho, pero no pude encontrar ninguna explicación adecuada. ¿Alguien puede referirme a algún recurso que esté disponible gratuitamente en Internet? O, si no, ¿al menos un libro que pueda intentar conseguir en la biblioteca de mi universidad?S=dSmindd

¡Gracias por adelantado!


Su observación es correcta, pero todo está bien con el índice C. El índice C es 0 cuando la solución de agrupamiento observada no difiere de la mejor teoría "ideal" teóricamente bajo el número dado (observado) de distancias dentro del grupo. Considere un conjunto de datos que consiste en pares de objetos ajustados, y los pares están bastante separados. La agrupación jerárquica bajo prácticamente cualquier método de vinculación primero, en los pasos iniciales, "recolectará" los objetos en estos pares. Y todo ese tiempo el índice C seguirá siendo 0. Más tarde, la agrupación se fusionará entre los pares separados: el índice C empeorará bruscamente.
ttnphns

El algoritmo para calcular el índice C se muestra aquí stats.stackexchange.com/q/343878/3277 .
ttnphns

PD: ¡No olvide que el índice C es cuanto más bajo (más cercano a 0) es mejor!
ttnphns

Respuestas:


2

Este puede ser uno de los casos en los que hay más arte que ciencia para agrupar. Te sugiero que dejes que tu algoritmo de agrupación se ejecute por un corto tiempo antes de dejar que los cálculos del Índice C entren en acción. "Poco tiempo" puede ser después de procesar algunos pares, justo cuando comienza a exceder 0, o alguna otra heurística. (Después de todo, no espera detenerse en 1 o 2 grupos, de lo contrario, se podría haber implementado un algoritmo de separación diferente).

Para una recomendación de libro, puedo sugerir:

Puede escanear / buscar los contenidos disponibles en google books para ver si puede satisfacer sus necesidades. Me funcionó como referencia en el pasado.


Vaya, está utilizando métodos aglomerativos, por lo que la parte "1 o 2 clusters" no tiene sentido: se aplica el "inverso", no desea n-1 o n-2 singletons, etc., es decir, dejar clustering trabajar un poco antes de aplicar los criterios de validez no debería ser problemático.
ars
Al usar nuestro sitio, usted reconoce que ha leído y comprende nuestra Política de Cookies y Política de Privacidad.
Licensed under cc by-sa 3.0 with attribution required.