Pasar al contenido principal

Clusters de grandes bases de datos con k-means y AHC

Este tutorial muestra cómo segmentar grandes bases de datos usando un Clusters de k-means seguido de una Clasificación ascendente jerárquica (Agglomerative Hierarchical Clustering, AHC) en Excel usando el software estadístico XLSTAT.

Datos a clusterizar

Descargar los datos
Los datos provienen de la Oficina del Censo de los Estados Unidos (US Census Bureau) y describen los cambios en la población de 51 estados entre 2000 y 2001. La base de datos inicial ha sido transformada a tasas por 1000 habitantes, utilizando los datos de 2001 como foco para el análisis. Nuestro objetivo es crear clusters homogéneos de estados basándonos en los datos demográficos disponibles. La base de datos no es muy grande, pero servirá para ilustrar cómo enfrentarse a una base de datos mucho más grande.
Nota: si intenta volver a ejecutar el mismo análisis tal como se describe más abajo sobre los mismos datos, puesto que el método de k-means comienza con clusters seleccionados al azar, puede obtener resultados diferentes a los que se expondrán a continuación. Para fijar la semilla, vaya por favor a Opciones XLSTAT, pestaña Avanzadas, y seleccione la opción “fijar la semilla”.

Configuración de la clusterización k-means

Tras activar XLSTAT, seleccione el comando XLSTAT / Análisis de datos / Clusters de k-means, o bien haga clic en el botón correspondiente de la barra de herramientas Análisis de datos (véase más abajo).

XLSTAT Analyzing data menu k-means

Tras hacer clic en el botón, aparece el cuadro de diálogo de los clusters de k-means.
Seleccione los datos en la hoja de Excel con el ratón. (Nota: existen varias formas de seleccionar datos con XLSTAT – para más información, consulte el tutorial sobre selección de datos). En este ejemplo, los datos comienzan en la primera fila, así que es más rápido y fácil usar el modo “selección de columna”. Esto explica por qué las letras correspondientes a las columnas se muestran en las cajas de selección (C a H).
La variable Población total no se ha seleccionado, toda vez que estamos interesados principalmente en la dinámica demográfica. La última columna no se ha seleccionado debido a que está plenamente correlacionada con la columna que la precede. Se han seleccionado las Etiquetas de las observaciones, ya que están disponibles.
Fijamos el número de grupos a crear en 25. En el caso de bases de datos mucho más grandes, podemos usar un número mayor.
El criterio de clasificación seleccionado es Determinante(W), puesto que permite eliminar los efectos escalares de las variables.

XLSTAT k-means dialog box, General tab

En la pestaña Opciones, hemos incrementado el número de repeticiones a 50 con el fin de incrementar la calidad y la estabilidad de los resultados.

XLSTAT k-means dialog box Options tab

En la pestaña Resultados seleccionamos únicamente los Centroides que vamos a usar en el AHC, los resultados por clase, que nos darán las muestras dentro de cada clase, y los resultados por objeto, para conseguir la tabla de la muestra con una variable de atribución.

XLSTAT k-means dialog box Outputs tab

Tras hacer clic en OK, aparecen los resultados del análisis clusters de k-means en una nueva hoja.

Clasificación ascendente jerárquica (Agglomerative Hierarchical Clustering, AHC) sobre los resultados del cluster de k-means

Vamos a trabajar sobre la tabla Centroides de Clase.

k-means clustering Class centroids

Otra tabla importante es la que contiene la información sobre qué estados se agrupan juntos.

k-means clustering in Excel results by classSeleccione ahora el comando XLSTAT / Análisis de datos / Clusterización Aglomerativa Jerárquica, o haga clic en el botón correspondiente de la barra de herramientas “Análisis de datos” (véase más abajo).

XLSTAT Toolbar

En la pestaña General, necesitamos seleccionar los datos a agrupar (“clusterizar”). Seleccione las variables originales que describen las 25 clases en los Centroides de clase.
Usamos el Tipo de proximidad: Disimitudes y Distancia euclídea, así como del Método de Ward como método de aglomeración.
Tenemos el nombre de las variables incluido en la selección, de modo que marcamos la opción Etiquetas de las columnas, y seleccionamos las Etiquetas de las filas, que corresponden al número de clusters (1 - 25).
Usaremos la opción Pesos de las filas y seleccionamos la columna Suma de los pesos en la misma tabla Centroides de clase.

XLSTAT AHC in Excel, dialog box general tab

En la pestaña Opciones, confirmamos que queremos clusterizar las filas, dado que las clases están en filas, pero en este tipo de clusterización (AHC después de k-means), necesitamos incluir las Varianzas intraclase. Encontrará esta información en la misma tabla que antes: Centroides de clase, en la última columna Varianzas intraclase.

XLSTAT AHC in Excel, dialog box options tab

Podemos seleccionar todos los Resultados para este análisis.

XLSTAT AHC in Excel, dialog box Outputs tab

Por último, en la pestaña Gráficos, seleccione todos los gráficos. Preste especial atención al dendograma y seleccione la opción Vertical.

XLSTAT AHC in Excel, dialog box charts tab

Resultados de la clasificación ascendente jerárquica (AHC)

En los resultados de la AHC, examinamos los dos dendogramas que nos dan la composición de los 3 clusters. Podemos ver cómo los 25 clusters están agrupados en los 3 clusters finales.

AHC in Excel, dendrogram

Puede ver asimismo la descomposición de la varianza.

XLSTAT variance decomposition in AHC

Finalmente, podemos usar la tabla obtenida en la AHC para recodificar la tabla obtenida en la clusterización de k-means, a fin de conseguir los resultados finales. Vaya a XLSTAT / Preparación de datos / Codificación.
Necesitamos seleccionar la columna Clase en la tabla de clasificación obtenida en la clusterización de k-means como variable a recodificar. Seleccione la tabla Resultados por objeto de la AHC incluyendo el nombre de las columnas como tabla de codificación. A continuación seleccionamos la opción Etiquetas de las columnas.
Para agregar la nueva columna a la primera tabla, seleccione la opción Rango y la primera celda próxima a la tabla. Deje también sin marcar la opción Mostrar cabecera del informe, de forma que no se muestre ninguna información adicional.

Clustering big datasets: final manipulations

Finalmente obtenemos los resultados de la clasificación para todos los estados.

Clustering big datasets with k-means and AHC: final result

¿Ha sido útil este artículo?

  • No