En estadística , la agrupación por enlace simple es uno de los diversos métodos de agrupación jerárquica . Se basa en agrupar los clústeres de abajo a arriba (agrupación aglomerativa), combinando en cada paso dos clústeres que contienen el par de elementos más cercano que aún no pertenecen al mismo clúster.
Este método tiende a producir cúmulos largos y delgados en los que los elementos cercanos del mismo cúmulo tienen distancias pequeñas, pero los elementos en extremos opuestos de un cúmulo pueden estar mucho más alejados entre sí que dos elementos de otros cúmulos. Para algunas clases de datos, esto puede generar dificultades a la hora de definir clases que podrían subdividir los datos de manera útil. [1] Sin embargo, es popular en astronomía para analizar cúmulos de galaxias , que a menudo pueden involucrar largas cadenas de materia; en esta aplicación, también se lo conoce como el algoritmo de amigos de amigos. [2]
Al principio del proceso de agrupamiento aglomerativo, cada elemento se encuentra en un grupo propio. Luego, los grupos se combinan secuencialmente en grupos más grandes, hasta que todos los elementos terminan estando en el mismo grupo. En cada paso, se combinan los dos grupos separados por la distancia más corta. La función utilizada para determinar la distancia entre dos grupos, conocida como función de enlace , es lo que diferencia los métodos de agrupamiento aglomerativo.
En el agrupamiento de enlace simple, la distancia entre dos grupos está determinada por un único par de elementos: aquellos dos elementos (uno en cada grupo) que están más cerca uno del otro. La distancia más corta de estas distancias por pares que permanece en cualquier paso hace que los dos grupos cuyos elementos están involucrados se fusionen. El método también se conoce como agrupamiento por vecino más cercano . El resultado del agrupamiento se puede visualizar como un dendrograma , que muestra la secuencia en la que se fusionaron los grupos y la distancia a la que tuvo lugar cada fusión. [3]
Matemáticamente, la función de enlace – la distancia D ( X , Y ) entre los conglomerados X e Y – se describe mediante la expresión
donde X e Y son dos conjuntos de elementos considerados como clústeres, y d ( x , y ) denota la distancia entre los dos elementos x e y .
El siguiente algoritmo es un esquema aglomerativo que borra filas y columnas en una matriz de proximidad a medida que los clústeres antiguos se fusionan con los nuevos. La matriz de proximidad contiene todas las distancias . A los clústeres se les asignan números de secuencia y es el nivel del clúster -ésimo. Un clúster con número de secuencia m se denota ( m ) y la proximidad entre clústeres y se denota .
El algoritmo de enlace único se compone de los siguientes pasos:
Este ejemplo práctico se basa en una matriz de distancia genética JC69 calculada a partir de la alineación de la secuencia de ARN ribosómico 5S de cinco bacterias: Bacillus subtilis ( ), Bacillus stearothermophilus ( ), Lactobacillus viridescens ( ), Acholeplasma modicum ( ) y Micrococcus luteus ( ). [4] [5]
Supongamos que tenemos cinco elementos y la siguiente matriz de distancias por pares entre ellos:
En este ejemplo, es el valor más bajo de , por lo que agrupamos los elementos a y b .
Sea u el nodo al que ahora están conectados a y b . La configuración garantiza que los elementos a y b sean equidistantes de u . Esto corresponde a la expectativa de la hipótesis de ultrametricidad . Las ramas que unen a y b con u tienen entonces longitudes ( ver el dendrograma final )
A continuación, procedemos a actualizar la matriz de proximidad inicial en una nueva matriz de proximidad (ver más abajo), reducida en tamaño en una fila y una columna debido a la agrupación de a con b . Los valores en negrita corresponden a las nuevas distancias, calculadas conservando la distancia mínima entre cada elemento del primer grupo y cada uno de los elementos restantes:
Los valores en cursiva no se ven afectados por la actualización de la matriz, ya que corresponden a distancias entre elementos no involucrados en el primer grupo.
Reiteramos ahora las tres acciones anteriores, partiendo de la nueva matriz de distancias :
Aquí, y son los valores más bajos de , por lo que unimos el clúster con el elemento c y con el elemento e .
Sea v el nodo al que ahora están conectados , c y e . Debido a la restricción de ultrametricidad, las ramas que unen a o b con v , y c con v , y también e con v son iguales y tienen la siguiente longitud total:
Deducimos la longitud de la rama faltante:
Luego procedemos a actualizar la matriz en una nueva matriz de distancia (ver a continuación), reducida en tamaño en dos filas y dos columnas debido a la agrupación de con c y con e :
La matriz final es:
Así que unimos clústeres y .
Sea el nodo (raíz) al que están conectados y . Las ramas que unen y a tienen entonces longitudes:
Deducimos la longitud de la rama restante:
El dendrograma ya está completo. Es ultramétrico porque todas las puntas ( , , , y ) son equidistantes de :
Por lo tanto, el dendrograma tiene su raíz en , su nodo más profundo.
El algoritmo ingenuo para el agrupamiento por ligamiento simple es esencialmente el mismo que el algoritmo de Kruskal para árboles de expansión mínima . Sin embargo, en el agrupamiento por ligamiento simple, el orden en el que se forman los grupos es importante, mientras que para los árboles de expansión mínima lo que importa es el conjunto de pares de puntos que forman las distancias elegidas por el algoritmo.
Los esquemas de enlace alternativos incluyen el agrupamiento por enlace completo , el agrupamiento por enlace promedio ( UPGMA y WPGMA ) y el método de Ward . En el algoritmo ingenuo para el agrupamiento aglomerativo, la implementación de un esquema de enlace diferente se puede lograr simplemente utilizando una fórmula diferente para calcular las distancias entre grupos en el algoritmo. La fórmula que se debe ajustar se ha resaltado utilizando texto en negrita en la descripción del algoritmo anterior. Sin embargo, los algoritmos más eficientes como el que se describe a continuación no se generalizan a todos los esquemas de enlace de la misma manera.
El algoritmo ingenuo para el agrupamiento de enlace simple es fácil de entender pero lento, con complejidad temporal . [6] En 1973, R. Sibson propuso un algoritmo con complejidad temporal y complejidad espacial (ambas óptimas) conocido como SLINK. El algoritmo slink representa un agrupamiento en un conjunto de elementos numerados por dos funciones. Estas funciones se determinan al encontrar el grupo más pequeño que contiene tanto elemento como al menos un elemento con un número mayor. La primera función, , asigna elemento al elemento con el número más grande en el grupo . La segunda función, , asigna elemento a la distancia asociada con la creación del grupo . Almacenar estas funciones en dos matrices que asignan cada número de elemento a su valor de función requiere espacio , y esta información es suficiente para determinar el agrupamiento en sí. Como muestra Sibson, cuando se agrega un nuevo elemento al conjunto de elementos, las funciones actualizadas que representan el nuevo agrupamiento de enlace simple para el conjunto aumentado, representado de la misma manera, se pueden construir a partir del agrupamiento anterior en el tiempo . Luego, el algoritmo SLINK recorre los elementos, uno por uno, y los agrega a la representación del agrupamiento. [7] [8]
Un algoritmo alternativo, que se ejecuta en los mismos límites óptimos de tiempo y espacio, se basa en la equivalencia entre el algoritmo ingenuo y el algoritmo de Kruskal para árboles de expansión mínima. En lugar de utilizar el algoritmo de Kruskal, se puede utilizar el algoritmo de Prim , en una variación sin montículos binarios que requiere tiempo y espacio para construir el árbol de expansión mínima (pero no la agrupación) de los elementos y distancias dados. Luego, la aplicación del algoritmo de Kruskal al gráfico disperso formado por los bordes del árbol de expansión mínima produce la agrupación en sí misma en un tiempo y espacio adicionales . [9]