Cluster Jerárquico (Hierarchical Cluster) en R

Definición

El cluster jerárquico o agrupamiento jerárquico es un método de análisis de grupos puntuales, que busca construir una jerarquía de grupos en entre los elementos analizados.

Este método trata de crear grupos de elementos homogéneos entre sí y heterogéneos entre grupos, para conseguirlo principalmente se puede hacer mediante estrategia aglomerativa o divisiva.

El agrupamiento jerárquico es capaz de fijar por si solos el número de clusters, por ello se pueden utilizar de forma exploratoria y posteriormente aplicar un análisis no jerárquico con el número de clusters obtenido.

 

Estrategias

Estrategias Aglomerativas

Las estrategias aglomerativas parten de un conjunto de elementos individuales y van juntando los elementos que más se parezcan hasta quedarse con un número de clusters que se considere óptimo.

Su complejidad computacional es del orden de n3

 

Estrategias Divisivas

Las estrategias divisivas parten del conjunto de elementos completos y se van separando los grupos que más diferentes sean entre ellos hasta quedarse con un número de clusters que se considere óptimo.

Su complejidad computacional es del orden de 2n

 

Disimilitud de grupo

Para decidir como agrupar o dividir los grupos se utilizan diferentes métricas y criterios de enlace.

  • Métricas: determinan la manera de calcular la distancia entre pares de observaciones.
  • Criterios de enlace: especifican la disimilitud de conjuntos como una función de las distancias dos a dos entre observaciones de los conjuntos.

 

Herramientas de cluster jerárquicos en Rlogo-r

Calcular matriz de distancias en R

  • Paquete cluster posee función dist () que calucla la matriz de distancias estándar.
  • Paquete factoextra posee la función get_dist() que calcula una matriz de distancia entre las filas de una matriz de datos y soporta medidas de distancia basadas en la correlación incluyendo los métodos Pearson, Kendall y Spearman. La función fviz_dist() visualiza una matriz de distancia.

 

Creación de clusters en R

  • Paquete cluster posee funciones de cluster aglomertivo: hclust() y agnes() y funciones de cluster divisivo diana().
  • Paquetes fastcluster y flashClust. mejoran la rapidez del paquete cluster.
  • Paquete genie mejora la rapidez y permitir el uso de conjuntos de datos más grandes.
  • Paquete dynamicTreeCut detecta clusters en dendogramas mediante la poda de ramas. Tiene la ventaja de identificar clusters dinámicos, es flexible, fácil de automatizar y mejor detección de valores atípicos.
  • Paquete hybridHclust implementa un cluster híbrido cogiendo lo mejor de cada uno.
  • Paquete idendr0 implementa un cluster jerarquico interactivo y usando mapas de calor.
  • Paquete isopam implementa un método divisivo que basa la clasificacion den la ordenación de puntuaciones sobre el mapeo de características isométicas.
  • Paquete protoclust facilita la implementación de los sub-arboles.
  • Paquete pvclust evalúa la incertidumbre del análisis cluster jerárquico, proporcionado p-values.
  • Paquete sparcl implementa cluster jerárquicos dispersos, que seleccionan de manera adaptativa un conjunto de variables para usar al agrupar las observaciones.

 

Visualización de arboles en R

  • Paquete dendextend permite colorear (etiquetas, ramas, …), realizar manipulaciones (rotación, poda, …), comparar dendogramas y medir la correlación de árboles con bootstrap y test for significance.

 

Comparación de arboles en R

  • Paquete dendextend permite colorear (etiquetas, ramas, …), realizar manipulaciones (rotación, poda, …), comparar dendogramas y medir la correlación de árboles con bootstrap y test for significance.