Facultad de Ciencias Económicas y Empresariales
Universidad Complutense de Madrid
Curso de introducción a
ANÁLISIS CLUSTER
David Martín-Barroso Juan A. Núñez-Serrano Francisco J. Velázquez
Profesor Contratado Doctor Profesor Contratado Doctor Catedrático de Economía Aplicada
Departamento de Economía Aplicada, Departamento de Economía Aplicada: Departamento de Economía Aplicada,
Estructura e Historia Udi de Estadística Estructura e Historia
Universidad Complutense de Madrid Universidad Autónoma de Madrid Universidad Complutense de Madrid
OBJETIVO
Es posible identificar: ¿cuáles son las empresas en las que sería más deseable invertir? ¿a que grupos de clientes les
pueda interesar un determinado producto? ¿dónde debo poner mis instalaciones para llegar mejor a mis clientes?
El Análisis Clúster (AC), conocido como Análisis de Conglomerados, nos va a permitir contestar a este tipo de preguntas,
ya que es una técnica estadística multivariante que busca agrupar elementos (o variables) tratando de lograr la máxima
homogeneidad en cada grupo y la mayor diferencia entre los grupos.
En el fondo el Análisis Clúster (AC), al igual que Análisis de Componentes Principales (ACP), pretende representar una
realidad que no conseguimos visualizar, cuya representación original es multidimensional y es imposible que la
podamos ver en su estado puro.
La diferencia fundamental entre ambas técnicas es la forma de presentación que utilizan. Mientras que el ACP construye
una nube de puntos de la misma naturaleza pero de menor número de dimensiones, perdiendo una parte de la
información original, sin embargo, el AC lo que hace es crear una representación distinta a la de la nube de puntos, a
través del dendrograma, no perdiendo información original.
Curso de Introducción a https://youtu.be/LGT9v1QMgTE
OBJETIVO
Existen dos grandes tipos de Análisis de Clústeres: jerárquicos y no jerárquicos.
Se denominan jerárquicos a los que configuran grupos con estructura arborescente, de forma que clústeres
de niveles más bajos van siendo englobados en otros clústeres de niveles superiores. Los métodos
jerárquicos permiten construir un árbol de clasificación o dendrograma, que permitirá decidir el número de
grupos a utilizar.
Por otro lado, se conocen como no jerárquicos a aquellos que asignan los casos o grupos diferenciados que
el propio análisis configura, sin que unos dependan de otros. Están diseñados para la clasificación de
individuos en K grupos. El procedimiento es elegir una partición de los individuos en k grupos e intercambiar
los miembros de los clústeres para tener una partición mejor. Se decide a priori el numero optimo de
grupos que deben ser considerados.
Curso de Introducción a
CLUSTER JERÁRQUICO
Dendrograma
Distancia
Curso de Introducción a
CLUSTER JERÁRQUICO
Antes de iniciar un análisis clúster jerárquico deben tomarse tres decisiones:
1 La selección de las variables relevantes para identificar a los grupos, de acuerdo con el objetivo que se pretenda
lograr en el estudio, es decisiva. De lo contrario, el análisis carecerá de sentido.
2 La elección de la medida de proximidad entre los individuos, entre la distancia (por ejemplo, la euclídea, canberra
…) los grupos formados contendrán individuos parecidos de forma que la distancia entre ellos tiene que ser
pequeña, o una medida de similaridad (por ejemplo, el coeficiente de correlación de Pearson y los coeficientes de
Spearman…) los grupos formados contendrán individuos con una similaridad alta entre ellos.
3 Selección del algoritmo de agrupación que se quiere seguir (entre punto y grupo o entre grupo y grupo), y la
determinación de los grupos razonables dados los datos. Así, los principales algoritmos del agrupamiento jerárquico
son: vecino más cercano, vecino más lejano, promedio de grupo, centroide, método de Ward (menor incremento en
el valor total de la suma de los cuadrados de las diferencias)…
Las distintas decisiones tomadas pueden dar agrupaciones muy diferentes. Por lo tanto, la utilización del Análisis Clúster
implica un desconocimiento o conocimiento incompleto de la clasificación de los datos, es por ello que, el investigador ha de
ser consciente de la necesidad de emplear varios métodos, ninguno de ellos incuestionable, con el fin de contrastar los
resultados y encontrar el mejor de los resultados.
Curso de Introducción a
CLUSTER JERÁRQUICO
Se agrupan los individuos más Se agrupan entre punto y grupo o entre Se agrupan todos los individuos
1 cercanos utilizando una medida de 2 grupo y grupo, utilizando el algoritmo 3
generando el dendrograma completo
proximidad seleccionado
C C C
E E E
D D D
B B B
A A A
A B C D E A B C D E A B C D E
Curso de Introducción a https://www.youtube.com/watch?v=AniiwysJ-2Y
DIRECTORIO DE COMANDOS PARA CLUSTER EN STATA
3 4
2 No jerárquico
Jerárquico
Curso de Introducción a
CLUSTER JERÁRQUICO – PASOS EN STATA –
1 Antes de realizar este tipo de análisis es necesario, comprobar si existen valores atípicos en las variables, que
puedan distorsionar el resultado y, estandarizar las variables, ya que los cálculos serán sensibles a las unidades en
que estén medidas dichas variables.
2 Para la realización del cluster jerárquico es necesario previamente elegir en primer lugar el algoritmo de
agrupamiento que se va a realizar (vecino más cercano, promedio, criterio de Ward…), y posteriormente la distancia
que se calcula entre los individuos (euclídea, Canberra, Pearson…). Es muy recomendable realizar diferentes
combinaciones de algoritmos y distancias para ver la robustez de los resultados.
cluster criterio vars, measure(distancia) name(XXXX)
3 Se representa el dendrograma de los diferentes cluster calculados para ver como ha sido su asociación.
cluster dendrogram criterio, name(XXXX)
4 Aplicación de reglas de elección del número de grupos a utilizar a través de los contrastes de Calinski-Harabasz y
Duda-Hart.
5 Se genera la variable con grupo asignado a cada individuo. Es recomendable realizar un análisis posterior para
identificar las características de los individuos de cada grupo.
Curso de Introducción a
EJEMPLO – DATOS –
Disponemos de las notas que han obtenido 15 alumnos en 8 asignaturas.
fsum lengua - educacionfisica, stat(n max min median mean sd) uselabel
Variable N Mean Median Min Max SD
Lengua 15 5.6 5 3 8 1.5
Matemáticas 15 5.53 5 2 9 2.2
Fisica 15 5.6 5 3 10 2.13
Ingles 15 5.67 6 2 8 1.88
Filosofia 15 5.33 5 3 8 1.91
Historia 15 5.27 5 2 8 1.87
Quimica 15 5.13 5 1 9 2.2
Educacion fisica 15 5.4 5 1 9 1.99
Archivo .dta:
Curso de Introducción a https://www.dropbox.com/s/17vz5sfimw8nsw6/Notas%20alumnos.dta?dl=1
EJEMPLO – ATÍPICOS –
1 graph box lengua - educacionfisica
10
8
En primer lugar es necesario
6
comprobar si existen valores
atípicos que pueden distorsionar el
4
resultado y estandarizar las
2
variables.
0
Lengua Matematicas
Fisica Ingles
Filosofia Historia
Quimica Educacion fisica
egen lengua_std=std(lengua)
...
Archivo .do:
Curso de Introducción a https://www.dropbox.com/s/19jw0omp9g2y5n5/Programa%20Cluster.do?dl=1
EJEMPLO – CLUSTER –
Será necesario seleccionar el criterio de método de agregación que se va a emplear y el tipo de medida que se va a utilizar
para calcular la distancia entre las observaciones.
2 cluster criterio vars, measure(distancia) name(XXXX) Nombre para guardar el cluster en la
memoria del ordenador
L2 Euclidea
L2squared Euclidea al cuadrado
singlelinkage Vecino más próximo Canberra
averagelinkage Promedio correlation
completelinkage Completo Pearson
waveragelinkage Promedio ponderadas …
medianlinkage Medianas help measure option
centroidlinkage Distancias promedio
wardslinkage Criterio de Ward Es recomendable realizar clústeres con diferentes criterios, tanto en los
métodos de agregación como de distancias utilizadas, y posteriormente
seleccionar el que más se adecue a los datos utilizados.
Curso de Introducción a
EJEMPLO – DENDROGRAMA –
3
1 2 3 4
cluster dendrogram XXXX, labels(id) xlabel(, angle(vertical)) name(nombre) cutnumber(numero)
graph combine nombres
1 Dendrogram for single cluster analysis Dendrogram for average cluster analysis
Nombre con el que se guardo el
5
3
clúster previamente
L2 dissimilarity measure
L2 dissimilarity measure
4
2
3
Variable que identifica a cada
2
individuo
1
3
0
0
¿CUÁNTOS GRUPOS
11
11
5
9
4
6
8
2
7
3
1
3
9
6
8
2
7
4
5
12
14
10
13
15
15
12
14
10
13
Nombre para guardar el
dendrograma en la memoria del Dendrogram for complete cluster analysis Dendrogram for wards cluster analysis NOS QUEDAMOS?
ordenador
15
measure 8
L2 dissimilarity measure
6
10
Sólo es necesario cuando el
0 L2 dissimilarity
4
numero de individuos es muy
5
2
grande, se eligen cuantos de
0
ellos graficar (max = 100)
11
11
1
3
9
6
8
2
7
4
3
9
6
8
2
7
4
5
15
12
14
10
13
15
12
14
10
13
Curso de Introducción a
EJEMPLO – ELECCIÓN DE GRUPOS –
No hay una única regla para obtener una agrupación ideal de los individuos. Siempre que la visualización del dendrograma
no deje claro el número de grupos que se debe utilizar, cabe la posibilidad en Stata de utilizar dos comandos que pueden
ayudar a tomar esa decisión, aunque en ultima instancia la decisión la tomará el investigador.
Si analizamos el dendrograma obtenido con el método de ward
4 cluster stop XXXX, groups (2/4) cluster stop XXXX, rule(duda) groups (1/4)
1 Number of
Calinski/
Harabasz
2 Number of
Duda/Hart
pseudo
clusters pseudo-F clusters Je(2)/Je(1) T-squared
2 7.42 1 0.6367 7.42
3 7.64 2 0.3802 8.15
4 7.61 3 0.6405 3.37
4 0.4909 4.15
Según Calinski-Harabasz debemos quedarnos con
Según Duda-Hart debe cumplirse que el grupo
el grupo que ofrezcan un mayor pseudo-F. En
elegido tenga el mayor Je(2)/Je(1) combinado con el
este caso el mayor valor es 7,64, por lo tanto
menor pseudo T-squared. En este caso esto se
sería recomendable quedarse con 3 grupos.
cumple también en las 3 agrupaciones.
Curso de Introducción a
EJEMPLO – RESULTADOS –
5 2 Over Mean Std. Err. [95% Conf. Interval]
Número de grupos elegidos lengua
1 4.375 .2630521 3.810809 4.939191
2 6.8 .2 6.371043 7.228957
cluster generate gXXXX = groups(3), name(XXXX) 3 7.5 .5 6.427607 8.572393
1 tab gXXXX
matematicas
1 6 .6813851 4.538574 7.461426
2 3.6 .4 2.742085 4.457915
2 mean lengua - educacionfisica, over(gXXXX) 3 8.5 .5 7.427607 9.572393
fisica
1 5.75 .6477985 4.36061 7.13939
1 2
3
4
9
.3162278
1
3.321759
6.855213
4.678241
11.14479
gwards Freq. Percent Cum.
ingles
1 4.25 .4531635 3.278061 5.221939
1 8 53.33 53.33 2 7.2 .3741657 6.397494 8.002506
2 5 33.33 86.67 3 7.5 .5 6.427607 8.572393
3 2 13.33 100.00 filosofia
1 4.125 .4406772 3.179841 5.070159
2 6.4 .8124038 4.657567 8.142433
Total 15 100.00 3 7.5 .5 6.427607 8.572393
historia
(1) El primer grupo consta de 8 individuos, el segundo de 5 y el tercero de 2. 1
2
4
6.8
.5345225
.4898979
2.853563
5.749273
5.146437
7.850727
(2) Si miramos las diferentes calificaciones medias por asignatura y grupo, el 3 6.5 .5 5.427607 7.572393
grupo 3 esta compuesto por dos alumnos que obtienen las mejores
quimica
1 5.5 .7559289 3.878694 7.121306
2 3.4 .244949 2.874637 3.925363
calificaciones en todas las asignaturas, el grupo 2 saca mejores notas en 3 8 1 5.855213 10.14479
lengua, filosofía e historia, mientras que el grupo 1 obtiene mejores notas educacionfisica
1 4.5 .6546537 3.095908 5.904092
2 6.4 .509902 5.306369 7.493631
en matemáticas física y química. 3 6.5 2.5 1.138033 11.86197
Curso de Introducción a
EJEMPLO – RESULTADOS–
Notas medias por grupos y asignaturas
Para asegurarnos de que las diferencias entre los grupos 1 2 3
son significativas. Se podría hacer una diferencia de lengua 4.38 6.80 7.50
medias entre cada grupo y asignatura, para observar si matematicas 6.00 3.60 8.50
realmente las diferencias entre grupos son significativas. fisica 5.75 4.00 9.00
ingles 4.25 7.20 7.50
filosofia 4.13 6.40 7.50
oneway lengua gXXXX, bonferroni historia 4.00 6.80 6.50
quimica 5.50 3.40 8.00
educacionfisica 4.50 6.40 6.50
Comparison of Lengua by gwards
(Bonferroni)
Row Mean-
Col Mean 1 2
En el caso de la asignatura de lengua:
2 2.425 1 Como el p-valor es 0,000 se rechaza que la nota obtenida por el
1 0.000
grupo 1 tenga la misma viaraza que las notas de los grupos 2 y 3.
3
1 3.125 .7 Por lo tanto las medias son diferentes.
0.000 2 0.680
2 Pero no se puede rechazar que la varianza de las notas de los
grupos 2 y 3 sean iguales. Por lo tanto las medias no son diferentes.
Curso de Introducción a
EJEMPLO – RESULTADOS–
sepscatter lengua matematicas, separate(gXXXX) myla(id)
8
Los grupos podrían graficarse en un
grafico de dispersión de dos en dos
4 13
2
10 11
7
asignaturas.
Aunque también podría ser 7
6
Lengua
interesante, hacer un gráfico
utilizando como coordenadas de los 1
9 15 3
5
ejes, los componentes que se
pudieran obtener tras la realización 12 8 6
4
de un análisis de principales
componentes.
14
3 2 4 6 8 10
Matematicas
Curso de Introducción a
CLUSTER NO JERÁRQUICO
Se elige el número de grupos a Se asignan a cada grupo los individuos más Se realiza la operación anterior
1 tener en cuanta y la disposición 2 cercanos. Se recoloca el punto del grupo en 3 tantas veces como sean necesarias
inicial de sus centroides el centro, y se vuelven a asignar los hasta que se llega al optimo.
individuos a cada grupo de nuevo
2
2
1 2
1
1
3
3
3
Curso de Introducción a
CLUSTER NO JERÁRQUICO
Antes de iniciar un análisis clúster no jerárquico deben tomarse tres decisiones:
1 La selección de las variables relevantes para identificar a los grupos, de acuerdo con el objetivo que se pretenda
lograr en el estudio, es decisiva. De lo contrario, el análisis carecerá de sentido.
2 La elección de la medida de proximidad entre los individuos, entre la distancia (por ejemplo, la euclídea, canberra
…) los grupos formados contendrán individuos parecidos de forma que la distancia entre ellos tiene que ser
pequeña, o una medida de similaridad (por ejemplo, el coeficiente de correlación de Pearson y los coeficientes de
Spearman…) los grupos formados contendrán individuos con una similaridad alta entre ellos.
3 Se elige el algoritmo de agrupación K-medias o K-medianas (El más comúnmente utilizado es el de la media).
4 Se seleccionan el número de grupos y los centros iniciales de los grupos (aleatorios, media de agrupamiento
definido previamente…)
Las distintas decisiones tomadas pueden dar agrupaciones muy diferentes. Por lo tanto, la utilización del Análisis Clúster
implica un desconocimiento o conocimiento incompleto de la clasificación de los datos, es por ello que, el investigador ha de
ser consciente de la necesidad de emplear varios métodos, ninguno de ellos incuestionable, con el fin de contrastar los
resultados y encontrar el mejor de los resultados.
Curso de Introducción a
CLUSTER NO JERÁRQUICO – PASOS EN STATA –
1 Antes de realizar este tipo de análisis es necesario, comprobar si existen valores atípicos en las variables, que
puedan distorsionar el resultado y, estandarizar las variables, ya que los cálculos serán sensibles a las unidades en
que estén medidas dichas variables.
2 Para la realización del cluster no jerárquico es necesario previamente elegir el algoritmo de agrupamiento que se va
a realizar (K-medias o k-medianas), la distancia que se calculara entre los individuos y el grupo (euclídea, Canberra,
Pearson…), y el número de grupos y sus centros iniciales. Es muy recomendable realizar diferentes combinaciones
de estos criterios elegidos previamente para observar la robustez de los resultados.
cluster kmeans vars, k(numero) measure(distancia) name(XXXX) start(metodo)
3 Generamos la variable con los grupos y los analizamos
Curso de Introducción a
EJEMPLO – CLUSTER –
Será necesario seleccionar el criterio de método de agregación que se va a emplear y el tipo de medida que se va a utilizar
para calcular la distancia entre las observaciones.
2 cluster kmeans vars, k(numero) measure(distancia) name(XXXX) start(metodo)
Nombre para
guardar el cluster
L2 Euclidea krandom Aleatorio
kmeans Número de grupos L2squared Euclidea al cuadrado group(varname) media de
kmedian Canberra agrupamiento
correlation definido previamente
Pearson …
… help kmeans
help measure option
la primera vez, es recomendable, realizar el calculo desde la ventana que despliega Stata para el comando. Especialmente
para ver los diferentes métodos que se pueden hacer, en la pestaña de opciones, y seleccionar el que más se adecue.
Curso de Introducción a
EJEMPLO – RESULTADO –
3 tab gwards Kmedias
Kmedias
gwards 1 2 3 Total En este ejemplo los grupos generados, tanto
1 8 0 0 8
por el método jerárquico (wards) como por el
2 0 5 0 5 método no jerárquico (k-medias, utilizando
3 0 0 2 2 como inicio de los grupos el centro obtenido en
el método jerárquico), son los mismo.
Total 8 5 2 15
Curso de Introducción a