Análisis Clúster
Análisis Multivariado para los Negocios
Prof. Jose A. Caycho
Universidad del Pacífico
Prof. Jose A. Caycho (Universidad del Pacífico) Análisis Clúster 1 / 47
Prof. Jose A. Caycho (Universidad del Pacífico) Análisis Clúster 2 / 47
Análisis de Conglomerados
Técnica ampliamente utilizada en diversas ciencias. . . mucho antes
que en las ciencias de la administración. . .
Prof. Jose A. Caycho (Universidad del Pacífico) Análisis Clúster 3 / 47
Una imagen dice más que mil palabras. . .
¿Qué tienen en común las siguientes imágenes?
Prof. Jose A. Caycho (Universidad del Pacífico) Análisis Clúster 4 / 47
Conglomerado de estrellas en galaxia vecina
Prof. Jose A. Caycho (Universidad del Pacífico) Análisis Clúster 5 / 47
Conglomerado de galaxias IDCS J1426
Prof. Jose A. Caycho (Universidad del Pacífico) Análisis Clúster 6 / 47
Conglomerado de galaxias Abel 2744
Prof. Jose A. Caycho (Universidad del Pacífico) Análisis Clúster 7 / 47
Conglomerado del ‘Valencia letourneuxi’
Prof. Jose A. Caycho (Universidad del Pacífico) Análisis Clúster 8 / 47
Conglomerados de polución en Hong-Kong
Link
Prof. Jose A. Caycho (Universidad del Pacífico) Análisis Clúster 9 / 47
Una imagen dice más que mil palabras. . .
Todos han sido identificados utilizando algún tipo de análisis de
conglomerados. . .
Prof. Jose A. Caycho (Universidad del Pacífico) Análisis Clúster 10 / 47
Principio general
Las diferentes observaciones de una fuente de datos (estrellas, fauna,
consumidores) son agrupadas de acuerdo a su proximidad en
conglomerados oclusters. La proximidad puede ser espacial o no.
Cúmulos de Estrellas:se identifican cúmulos de estrellas en función
de su distancia con respecto a un punto central común en el espacio
Las estrellas pueden agruparse fácilmente en cúmulos denominados
galaxiasEn este caso la proximidad espacial se explica por la
presencia de un agujero negro en el centroide.
Conglomerados de faunaun tipo particular (especie) de fauna
puede encontrarse concentrado en algunas regiones debido al habitat
favorable común.
Prof. Jose A. Caycho (Universidad del Pacífico) Análisis Clúster 11 / 47
Principio general
Las diferentes observaciones de una fuente de datos (estrellas, fauna,
consumidores) son agrupadas de acuerdo a su proximidad en
conglomerados oclusters. La proximidad puede ser espacial o no.
Cúmulos de Estrellas:se identifican cúmulos de estrellas en función
de su distancia con respecto a un punto central común en el espacio
Las estrellas pueden agruparse fácilmente en cúmulos denominados
galaxiasEn este caso la proximidad espacial se explica por la
presencia de un agujero negro en el centroide.
Conglomerados de faunaun tipo particular (especie) de fauna
puede encontrarse concentrado en algunas regiones debido al habitat
favorable común.
Prof. Jose A. Caycho (Universidad del Pacífico) Análisis Clúster 11 / 47
Principio general
Las diferentes observaciones de una fuente de datos (estrellas, fauna,
consumidores) son agrupadas de acuerdo a su proximidad en
conglomerados oclusters. La proximidad puede ser espacial o no.
Cúmulos de Estrellas:se identifican cúmulos de estrellas en función
de su distancia con respecto a un punto central común en el espacio
Las estrellas pueden agruparse fácilmente en cúmulos denominados
galaxiasEn este caso la proximidad espacial se explica por la
presencia de un agujero negro en el centroide.
Conglomerados de faunaun tipo particular (especie) de fauna
puede encontrarse concentrado en algunas regiones debido al habitat
favorable común.
Prof. Jose A. Caycho (Universidad del Pacífico) Análisis Clúster 11 / 47
Análisis de conglomerados jerarquicos espacial
Este se basa en distancias espaciales oeuclideanas, los pasos para su
implementación son:
1
Calcular las distancias entre los distintos objetos (matriz de
distancias)
2
Considerar a cada objeto como un cluster en si mismo
3
Agregar los 2 objetos más próximos y considerar este par comoun
solo objeto
4
Repetir el paso 3 con los nuevos objetos
5
Detenerse cuando se hayan agrupadotodoslos objetos
La manera como se agregan los objetos se representa mediante un
dendograma(link)
Prof. Jose A. Caycho (Universidad del Pacífico) Análisis Clúster 12 / 47
Análisis de conglomerados jerarquicos espacial
Este se basa en distancias espaciales oeuclideanas, los pasos para su
implementación son:
1
Calcular las distancias entre los distintos objetos (matriz de
distancias)
2
Considerar a cada objeto como un cluster en si mismo
3
Agregar los 2 objetos más próximos y considerar este par comoun
solo objeto
4
Repetir el paso 3 con los nuevos objetos
5
Detenerse cuando se hayan agrupadotodoslos objetos
La manera como se agregan los objetos se representa mediante un
dendograma(link)
Prof. Jose A. Caycho (Universidad del Pacífico) Análisis Clúster 12 / 47
Análisis de conglomerados jerarquicos espacial
Este se basa en distancias espaciales oeuclideanas, los pasos para su
implementación son:
1
Calcular las distancias entre los distintos objetos (matriz de
distancias)
2
Considerar a cada objeto como un cluster en si mismo
3
Agregar los 2 objetos más próximos y considerar este par comoun
solo objeto
4
Repetir el paso 3 con los nuevos objetos
5
Detenerse cuando se hayan agrupadotodoslos objetos
La manera como se agregan los objetos se representa mediante un
dendograma(link)
Prof. Jose A. Caycho (Universidad del Pacífico) Análisis Clúster 12 / 47
Análisis de conglomerados jerarquicos espacial
Este se basa en distancias espaciales oeuclideanas, los pasos para su
implementación son:
1
Calcular las distancias entre los distintos objetos (matriz de
distancias)
2
Considerar a cada objeto como un cluster en si mismo
3
Agregar los 2 objetos más próximos y considerar este par comoun
solo objeto
4
Repetir el paso 3 con los nuevos objetos
5
Detenerse cuando se hayan agrupadotodoslos objetos
La manera como se agregan los objetos se representa mediante un
dendograma(link)
Prof. Jose A. Caycho (Universidad del Pacífico) Análisis Clúster 12 / 47
Análisis de conglomerados jerarquicos espacial
Este se basa en distancias espaciales oeuclideanas, los pasos para su
implementación son:
1
Calcular las distancias entre los distintos objetos (matriz de
distancias)
2
Considerar a cada objeto como un cluster en si mismo
3
Agregar los 2 objetos más próximos y considerar este par comoun
solo objeto
4
Repetir el paso 3 con los nuevos objetos
5
Detenerse cuando se hayan agrupadotodoslos objetos
La manera como se agregan los objetos se representa mediante un
dendograma(link)
Prof. Jose A. Caycho (Universidad del Pacífico) Análisis Clúster 12 / 47
Ejemplo de Aglomeración
Prof. Jose A. Caycho (Universidad del Pacífico) Análisis Clúster 13 / 47
Dendograma
Es una representación gráfica (diagrama de árbol) que representa el orden
de agrupación de lospares de objetos. En un extremo (el inicial) se
tienen los objetosoriginalessin agrupar. En el otro se muestra la
agrupación de todos a partir de dos subgrupos. Entre el extremo inicial y
final, se representan las ramas de agrupación por pares que se suceden
hasta agrupar todos los objetos.
Prof. Jose A. Caycho (Universidad del Pacífico) Análisis Clúster 14 / 47
Dendograma de cluster de estrellas
Prof. Jose A. Caycho (Universidad del Pacífico) Análisis Clúster 15 / 47
Dendograma de cluster de fauna
Prof. Jose A. Caycho (Universidad del Pacífico) Análisis Clúster 16 / 47
Visualización de las regiones fusionadas
Prof. Jose A. Caycho (Universidad del Pacífico) Análisis Clúster 17 / 47
Ejemplo: Cluster de polución de dioxido de azufre (SO2)
Una base de datos de 14 ciudades en Hong Kong contiene el nombre de
las centros industriales que producen este contaminante, con sus
coordenadas geográficas(xi,yi)
MK,x1,y1
SS,x2,y2 CT,x3,y4 . . . TM,x14,y14A partir de estas coordenadas se pueden calcular distintos tipos de
distancia entre cada par de centros. La distancia más usual, la euclidiana
(espacial) =
q
(xi−xj)
2
−(yi−yj)
2
. A partir de una matriz de distancias
(14 x 14) se implementa el algoritmo de 5 pasos (antes mencionado).
Prof. Jose A. Caycho (Universidad del Pacífico) Análisis Clúster 18 / 47
Ejemplo: Cluster de polución de dioxido de azufre (SO2)
Una base de datos de 14 ciudades en Hong Kong contiene el nombre de
las centros industriales que producen este contaminante, con sus
coordenadas geográficas(xi,yi)
MK,x1,y1
SS,x2,y2 CT,x3,y4 . . . TM,x14,y14A partir de estas coordenadas se pueden calcular distintos tipos de
distancia entre cada par de centros. La distancia más usual, la euclidiana
(espacial) =
q
(xi−xj)
2
−(yi−yj)
2
. A partir de una matriz de distancias
(14 x 14) se implementa el algoritmo de 5 pasos (antes mencionado).
Prof. Jose A. Caycho (Universidad del Pacífico) Análisis Clúster 18 / 47
Ejemplo: Cluster de polución de dioxido de azufre (SO2)
Una base de datos de 14 ciudades en Hong Kong contiene el nombre de
las centros industriales que producen este contaminante, con sus
coordenadas geográficas(xi,yi)
MK,x1,y1
SS,x2,y2 CT,x3,y4 . . . TM,x14,y14A partir de estas coordenadas se pueden calcular distintos tipos de
distancia entre cada par de centros. La distancia más usual, la euclidiana
(espacial) =
q
(xi−xj)
2
−(yi−yj)
2
. A partir de una matriz de distancias
(14 x 14) se implementa el algoritmo de 5 pasos (antes mencionado).
Prof. Jose A. Caycho (Universidad del Pacífico) Análisis Clúster 18 / 47
Ejemplo: Cluster de polución de dioxido de azufre (SO2)
Una base de datos de 14 ciudades en Hong Kong contiene el nombre de
las centros industriales que producen este contaminante, con sus
coordenadas geográficas(xi,yi)
MK,x1,y1
SS,x2,y2 CT,x3,y4 . . . TM,x14,y14A partir de estas coordenadas se pueden calcular distintos tipos de
distancia entre cada par de centros. La distancia más usual, la euclidiana
(espacial) =
q
(xi−xj)
2
−(yi−yj)
2
. A partir de una matriz de distancias
(14 x 14) se implementa el algoritmo de 5 pasos (antes mencionado).
Prof. Jose A. Caycho (Universidad del Pacífico) Análisis Clúster 18 / 47
Ejemplo: Cluster de polución de dioxido de azufre (SO2)
Una base de datos de 14 ciudades en Hong Kong contiene el nombre de
las centros industriales que producen este contaminante, con sus
coordenadas geográficas(xi,yi)
MK,x1,y1
SS,x2,y2 CT,x3,y4 . . . TM,x14,y14A partir de estas coordenadas se pueden calcular distintos tipos de
distancia entre cada par de centros. La distancia más usual, la euclidiana
(espacial) =
q
(xi−xj)
2
−(yi−yj)
2
. A partir de una matriz de distancias
(14 x 14) se implementa el algoritmo de 5 pasos (antes mencionado).
Prof. Jose A. Caycho (Universidad del Pacífico) Análisis Clúster 18 / 47
Ejemplo: Cluster de polución de dioxido de azufre (SO2)
Una base de datos de 14 ciudades en Hong Kong contiene el nombre de
las centros industriales que producen este contaminante, con sus
coordenadas geográficas(xi,yi)
MK,x1,y1
SS,x2,y2 CT,x3,y4 . . . TM,x14,y14A partir de estas coordenadas se pueden calcular distintos tipos de
distancia entre cada par de centros. La distancia más usual, la euclidiana
(espacial) =
q
(xi−xj)
2
−(yi−yj)
2
. A partir de una matriz de distancias
(14 x 14) se implementa el algoritmo de 5 pasos (antes mencionado).
Prof. Jose A. Caycho (Universidad del Pacífico) Análisis Clúster 18 / 47
Ejemplo: Cluster de polución de dioxido de azufre (SO2)
Una base de datos de 14 ciudades en Hong Kong contiene el nombre de
las centros industriales que producen este contaminante, con sus
coordenadas geográficas(xi,yi)
MK,x1,y1
SS,x2,y2 CT,x3,y4 . . . TM,x14,y14A partir de estas coordenadas se pueden calcular distintos tipos de
distancia entre cada par de centros. La distancia más usual, la euclidiana
(espacial) =
q
(xi−xj)
2
−(yi−yj)
2
. A partir de una matriz de distancias
(14 x 14) se implementa el algoritmo de 5 pasos (antes mencionado).
Prof. Jose A. Caycho (Universidad del Pacífico) Análisis Clúster 18 / 47
Dendograma de cluster de polución
¿pueden identificar qué regiones son fusionadas en cada una de las etapas?
Prof. Jose A. Caycho (Universidad del Pacífico) Análisis Clúster 19 / 47
Elección del número de clusters
En este ejemplo los investigadores consideraron informativo identificar
5 de ellos. Noten que uno está conformado por una sola ciudad.
La elección del número de clusters (conglomerados) es subjectiva a no
ser que se utilicen métodos estadísticos como el análisis de clases
latentes (latent class analysis) o de clusters bayesianos entre muchos
otros (que van más allá de este curso introductorio).
Se debe tener un criterio externo para el número de clusters, dado por
el contexto, la literatura, los objetivos del análisis, etc.
Prof. Jose A. Caycho (Universidad del Pacífico) Análisis Clúster 20 / 47
Elección del número de clusters
En este ejemplo los investigadores consideraron informativo identificar
5 de ellos. Noten que uno está conformado por una sola ciudad.
La elección del número de clusters (conglomerados) es subjectiva a no
ser que se utilicen métodos estadísticos como el análisis de clases
latentes (latent class analysis) o de clusters bayesianos entre muchos
otros (que van más allá de este curso introductorio).
Se debe tener un criterio externo para el número de clusters, dado por
el contexto, la literatura, los objetivos del análisis, etc.
Prof. Jose A. Caycho (Universidad del Pacífico) Análisis Clúster 20 / 47
Elección del número de clusters
En este ejemplo los investigadores consideraron informativo identificar
5 de ellos. Noten que uno está conformado por una sola ciudad.
La elección del número de clusters (conglomerados) es subjectiva a no
ser que se utilicen métodos estadísticos como el análisis de clases
latentes (latent class analysis) o de clusters bayesianos entre muchos
otros (que van más allá de este curso introductorio).
Se debe tener un criterio externo para el número de clusters, dado por
el contexto, la literatura, los objetivos del análisis, etc.
Prof. Jose A. Caycho (Universidad del Pacífico) Análisis Clúster 20 / 47
Elección del número de clusters
En algunos casos las bases de datos no serán de gran tamaño y los
investigadores pueden desear utilizar la técnica para hacer análisis
estadísticos al interior de cada grupo. Esto implica que el número de
clústers deber ser tal que se tengan suficientes observaciones al
interior de cada uno.
En otros casos el número de clusters estará dado por la literatura y el
investigador tratará simplemente de identificar qué observaciones se
clasifican en cada cluster e.g. la mayor parte de las investigaciones de
mercados distinguen entre 3 a 10 niveles de consumidores
socio-económicos.
Prof. Jose A. Caycho (Universidad del Pacífico) Análisis Clúster 21 / 47
Elección del número de clusters
En algunos casos las bases de datos no serán de gran tamaño y los
investigadores pueden desear utilizar la técnica para hacer análisis
estadísticos al interior de cada grupo. Esto implica que el número de
clústers deber ser tal que se tengan suficientes observaciones al
interior de cada uno.
En otros casos el número de clusters estará dado por la literatura y el
investigador tratará simplemente de identificar qué observaciones se
clasifican en cada cluster e.g. la mayor parte de las investigaciones de
mercados distinguen entre 3 a 10 niveles de consumidores
socio-económicos.
Prof. Jose A. Caycho (Universidad del Pacífico) Análisis Clúster 21 / 47
Aplicación en contextos no espaciales - elección del
tipo distancia
Estos métodos se han aplicado para clasificar observaciones en todas
las ciencias sociales (psicologia, ciencias económicas y de la
administración, etc.)
El principal reto es la naturaleza no espacial de las características.
Ejemplo: Deseamos agrupar empresas de acuerdo a sutamaño,
donde el tamaño se puede entender tanto por la magnitud de los
activos como por la cantidad de trabajadores. Imaginen que las
empresas tienen un promedio de 5 millones de soles en activos y 50
trabajadores. Resulta obvio que la distancia euclideana daría mucho
peso a los activos dada su escala.
Prof. Jose A. Caycho (Universidad del Pacífico) Análisis Clúster 22 / 47
Aplicación en contextos no espaciales - elección del
tipo distancia
Estos métodos se han aplicado para clasificar observaciones en todas
las ciencias sociales (psicologia, ciencias económicas y de la
administración, etc.)
El principal reto es la naturaleza no espacial de las características.
Ejemplo: Deseamos agrupar empresas de acuerdo a sutamaño,
donde el tamaño se puede entender tanto por la magnitud de los
activos como por la cantidad de trabajadores. Imaginen que las
empresas tienen un promedio de 5 millones de soles en activos y 50
trabajadores. Resulta obvio que la distancia euclideana daría mucho
peso a los activos dada su escala.
Prof. Jose A. Caycho (Universidad del Pacífico) Análisis Clúster 22 / 47
Aplicación en contextos no espaciales - elección del
tipo distancia
Estandarización
En este caso particular en el que ambas variables son totalmente
incompatibles, resultaría apropiado transformar ambas variables a un
score z (estandarizado) que cancele las unidades de medida y centre
ambas en 0 :
z=
xi−¯x
σx
Prof. Jose A. Caycho (Universidad del Pacífico) Análisis Clúster 23 / 47
Ejemplo 1:
Se implementa el algoritmo de conglomerados jerárquicos a partir de los
valores estandarizados.
Prof. Jose A. Caycho (Universidad del Pacífico) Análisis Clúster 24 / 47
Criterio de aglomeración de Ward
En el enfoque básico (aglomeración por cluster centroide), los clusters se
consideran como objetos que se unen consecutivamente dondecada nuevo
objeto que resulta de la fusión de otros tendrá como observaciones los
promedios de los objetos fusionados
Sin embargo esto no garantiza que los grupos se conformen de la
manera más heterogenea posible en el sentido delANOVA
El criterio de aglomeración de Ward resuelve este problema, mediante
agregar aquellos clusters/observaciones que maximizan la varianza
entre grupos. Esto permite obtener mayor heterogeneidad en la
comparación de medias del ANOVA
Prof. Jose A. Caycho (Universidad del Pacífico) Análisis Clúster 25 / 47
Criterio de aglomeración de Ward
En el enfoque básico (aglomeración por cluster centroide), los clusters se
consideran como objetos que se unen consecutivamente dondecada nuevo
objeto que resulta de la fusión de otros tendrá como observaciones los
promedios de los objetos fusionados
Sin embargo esto no garantiza que los grupos se conformen de la
manera más heterogenea posible en el sentido delANOVA
El criterio de aglomeración de Ward resuelve este problema, mediante
agregar aquellos clusters/observaciones que maximizan la varianza
entre grupos. Esto permite obtener mayor heterogeneidad en la
comparación de medias del ANOVA
Prof. Jose A. Caycho (Universidad del Pacífico) Análisis Clúster 25 / 47
Ejemplo 2: Interbank
Los bancos suelen tener campañas de marketing para sus productos
individuales. Interbank es un banco establecido que ofrece préstamos
personales como producto. La mayoría de los clientes de Interbank tienen
depósitos, lo que constituye un pasivo para el banco y no es rentable. Los
préstamos son rentables para el banco. Por tanto, conseguir que más
clientes opten por un préstamo personal hace que el negocio sea más
rentable. El banco tiene datos de los clientes que incluyen datos
demográficos, cierta información financiera y cómo respondieron estos
clientes a una campaña anterior.
Prof. Jose A. Caycho (Universidad del Pacífico) Análisis Clúster 26 / 47
Ejemplo 2: Interbank
Se muestra la descripción de las variables:
•ID: Identificación del cliente.
•Age: Edad del cliente.
•Experience: Número de años de experiencia profesional.
•Income: Ingreso anual estimado del cliente (en miles de dólares).
•Family: Tamaño de la familia del cliente.
•CCAvg: Promedio del gasto en tarjetas de crédito por mes (en miles de dólares).
•Mortgage: valor de la hipoteca de la casa, si la hubiere (en miles de dólares).
La tarea en cuestión es crear grupos de clientes para maximizar la
efectividad de su campaña de préstamos personales. Por lo tanto sus
objetivos son :
Crear grupos de clientes para la campaña de marketing. Identificar cuál de estos segmentos tienen la mayor propensión a
responder a la campaña, información que ayudará en gran medida a
optimizar campañas futuras.
El conjunto de datos se encuentran en el archivoInterbank.csv.
Prof. Jose A. Caycho (Universidad del Pacífico) Análisis Clúster 27 / 47
Ejemplo 2: Interbank
Se muestra la descripción de las variables:
•ID: Identificación del cliente.
•Age: Edad del cliente.
•Experience: Número de años de experiencia profesional.
•Income: Ingreso anual estimado del cliente (en miles de dólares).
•Family: Tamaño de la familia del cliente.
•CCAvg: Promedio del gasto en tarjetas de crédito por mes (en miles de dólares).
•Mortgage: valor de la hipoteca de la casa, si la hubiere (en miles de dólares).
La tarea en cuestión es crear grupos de clientes para maximizar la
efectividad de su campaña de préstamos personales. Por lo tanto sus
objetivos son :
Crear grupos de clientes para la campaña de marketing. Identificar cuál de estos segmentos tienen la mayor propensión a
responder a la campaña, información que ayudará en gran medida a
optimizar campañas futuras.
El conjunto de datos se encuentran en el archivoInterbank.csv.
Prof. Jose A. Caycho (Universidad del Pacífico) Análisis Clúster 27 / 47
Aplicacion en R-Studio
rent read.csv("Interbank.csv",",")
# Pasar a ID como parte de las filas de R
nombres<-rent[,1]
rent -1]
row.names(rent)
head(rent)
## Age Experience Income Family CCAvg Mortgage
## C1 57 32 81 2 3.7 226
## C2 31 6 132 1 3.8 0
## C3 42 17 79 1 3.7 0
## C4 31 7 149 1 6.0 0
## C5 64 39 8 3 0.1 87
## C6 58 34 80 2 1.6 0
Dado que nuestro conjunto de datos contiene variables medidas en diferentes unidades, es
fundamental estandarizar los datos antes de aplicar cualquier técnica de agrupamiento. La
estandarización mediante la puntuación Z, que se logra utilizando la función scale en R, nos
permite comparar las variables de manera equitativa al ajustarlas a una escala común:
datos.z<- scale(rent)
Prof. Jose A. Caycho (Universidad del Pacífico) Análisis Clúster 28 / 47
Aplicacion en R-Studio
Matriz de distancia eucladiana
md.e<- dist(datos.z,"euclidean",T)
Generámos el dendrograma.
clust.h<- hclust(md.e,method="ward.D2")
plot(clust.h,"",0.4)C29
C15 C49
C11
C1
C17
C16
C10 C20
C12
C25 C39 C8
C41
C5
C19
C31 C37
C6
C44
C42 C47
C7
C23 C32
C26 C43
C22
C21 C24
C45 C48
C36
C30
C9
C38
C34
C18 C33
C2
C35
C13
C46 C50
C3
C40
C14 C28
C4
C27
0
2
4
6
8
10
12
Cluster Dendrogram
hclust (*, "ward.D2")
Height
#cex reduce el tamaño de letra de los ID's
Prof. Jose A. Caycho (Universidad del Pacífico) Análisis Clúster 29 / 47
Aplicacion en R-Studio
Número óptimo de clúster
La función NbClust ofrece una gama de índices para determinar el número
óptimo de grupos (clústeres). Al especificar index = “all” en la función
NbClust, calcularemos todos los índices disponibles.
library(NbClust)
clust.k<- NbClust(datos.z,distance="euclidean",
min.nc=2,8,
method="ward.D2",
index="alllong")2 3 4 5 6 7 8
0.006
0.007
0.008
0.009
0.010
0.011
Number of clusters
Hubert Statistic values
2 3 4 5 6 7 8
0.0005
0.0010
0.0015
0.0020
Number of clusters
Hubert statistic second differences
## *** : The Hubert index is a graphical method of determining the number of clusters.
## In the plot of Hubert index, we seek a significant knee that corresponds to a
## significant increase of the value of the measure i.e the significant peak in Hubert
## index second differences plot.
##2 3 4 5 6 7 8
1.2
1.4
1.6
1.8
2.0
Number of clusters
Dindex Values
2 3 4 5 6 7 8
−0.02
0.00
0.02
0.04
0.06
Number of clusters
Second differences Dindex Values
## *** : The D index is a graphical method of determining the number of clusters.
## In the plot of D index, we seek a significant knee (the significant peak in Dindex
## second differences plot) that corresponds to a significant increase of the value of
## the measure.
##
## *******************************************************************
## * Among all indices:
## * 4 proposed 2 as the best number of clusters
## * 3 proposed 3 as the best number of clusters
## * 15 proposed 4 as the best number of clusters
## * 5 proposed 8 as the best number of clusters
##
## ***** Conclusion *****
##
## * According to the majority rule, the best number of clusters is 4
##
##
## *******************************************************************
Prof. Jose A. Caycho (Universidad del Pacífico) Análisis Clúster 30 / 47
Aplicacion en R-Studio
De acuerdo a la regla de la mayoría el número óptimo de grupos
(clústeres) identificado es 4.
plot(clust.h,"",0.4)
rect.hclust(clust.h,,)C29
C15 C49
C11
C1
C17
C16
C10 C20
C12
C25 C39 C8
C41
C5
C19
C31 C37
C6
C44
C42 C47
C7
C23 C32
C26 C43
C22
C21 C24
C45 C48
C36
C30
C9
C38
C34
C18 C33
C2
C35
C13
C46 C50
C3
C40
C14 C28
C4
C27
0
2
4
6
8
10
12
Cluster Dendrogram
hclust (*, "ward.D2")
Height
Prof. Jose A. Caycho (Universidad del Pacífico) Análisis Clúster 31 / 47
Aplicacion en R-Studio
La función cutree divide el dendrograma en k grupos y devuelve un vector
donde cada elemento representa el grupo asignado al correspondiente
punto de datos:
(res.hc=cutree(clust.h,4))
## C1 C2 C3 C4 C5 C6 C7 C8 C9 C10 C11 C12 C13 C14 C15 C16 C17 C18 C19 C20
## 1 2 2 2 1 1 1 1 3 1 1 1 2 2 4 1 1 3 1 1
## C21 C22 C23 C24 C25 C26 C27 C28 C29 C30 C31 C32 C33 C34 C35 C36 C37 C38 C39 C40
## 3 3 1 3 1 3 2 2 4 3 1 1 3 3 2 3 1 3 1 2
## C41 C42 C43 C44 C45 C46 C47 C48 C49 C50
## 1 1 3 1 3 2 1 3 4 2
table(res.hc)
## res.hc
## 1 2 3 4
## 22 11 14 3
Prof. Jose A. Caycho (Universidad del Pacífico) Análisis Clúster 32 / 47
Aplicacion en R-Studio
Reagrupando la base original
rent_clus<-rent
rent_clus$conglomerados
head(rent_clus)
## Age Experience Income Family CCAvg Mortgage conglomerados
## C1 57 32 81 2 3.7 226 1
## C2 31 6 132 1 3.8 0 2
## C3 42 17 79 1 3.7 0 2
## C4 31 7 149 1 6.0 0 2
## C5 64 39 8 3 0.1 87 1
## C6 58 34 80 2 1.6 0 1
Prof. Jose A. Caycho (Universidad del Pacífico) Análisis Clúster 33 / 47
Tarea para usted
Ahora usted. . .
-La base de datos de clientes de supermercados (Mall_customers) contiene
información del ingreso anual y del score de gasto (1-100) de una muestra
de 200 clientes. Identifique 4 clústers. Compare sus medias ycaracterize
cada uno de ellos.
Evalue la clasificación mediante un anova de las variables a lo largo
de los clusters.
En caso el anova anterior no verifique la heterogeneidad de medias,
implemente nuevamente el análisis de conglomerados con 3 grupos y
efectue el anova. Comente.
Prof. Jose A. Caycho (Universidad del Pacífico) Análisis Clúster 34 / 47
Tarea para usted
Ahora usted. . .
-La base de datos de clientes de supermercados (Mall_customers) contiene
información del ingreso anual y del score de gasto (1-100) de una muestra
de 200 clientes. Identifique 4 clústers. Compare sus medias ycaracterize
cada uno de ellos.
Evalue la clasificación mediante un anova de las variables a lo largo
de los clusters.
En caso el anova anterior no verifique la heterogeneidad de medias,
implemente nuevamente el análisis de conglomerados con 3 grupos y
efectue el anova. Comente.
Prof. Jose A. Caycho (Universidad del Pacífico) Análisis Clúster 34 / 47
Método no jerárquico: K-means
El método de K-means clustering exige que el analistaimpongael
número de grupos, por tanto suele utilizarse cuando este dato es
conocido o dado por fuentes externas.
Visualización del algoritmo link-1 link-2 K-means esta disponible en la ventana Clasificar/Clúster de K-medias
Prof. Jose A. Caycho (Universidad del Pacífico) Análisis Clúster 35 / 47
Método no jerárquico: K-means
El método de K-means clustering exige que el analistaimpongael
número de grupos, por tanto suele utilizarse cuando este dato es
conocido o dado por fuentes externas.
Visualización del algoritmo link-1 link-2 K-means esta disponible en la ventana Clasificar/Clúster de K-medias
Prof. Jose A. Caycho (Universidad del Pacífico) Análisis Clúster 35 / 47
Método no jerárquico: K-means
El método de K-means clustering exige que el analistaimpongael
número de grupos, por tanto suele utilizarse cuando este dato es
conocido o dado por fuentes externas.
Visualización del algoritmo link-1 link-2 K-means esta disponible en la ventana Clasificar/Clúster de K-medias
Prof. Jose A. Caycho (Universidad del Pacífico) Análisis Clúster 35 / 47
Método no jerárquico: K-means
Al igual que en el análisis jerárquico, es necesario que las variables a
utilizar tengan magnitudes comparables lo que implica utilizar un
score z.
Prof. Jose A. Caycho (Universidad del Pacífico) Análisis Clúster 36 / 47
Ejercicio : Interbank
En base a la data anterior, realizar un cluster mediante K-Means.
library(factoextra)
## Loading required package: ggplot2
## Welcome! Want to learn more? See two factoextra-related books at https://goo.gl/ve3WBa
psilhouette fviz_nbclust(datos.z, kmeans,)
pelbow fviz_nbclust(datos.z, kmeans,,15,
diss =get_dist(datos.z,method ="euclidean"),15)
pgapstat fviz_nbclust(datos.z, kmeans,method =)
library(gridExtra)
grid.arrange(psilhouette, pelbow, pgapstat,nrow =)0.0
0.1
0.2
0.3
1 2 3 4 5 6 7 8 910
Number of clusters k
Average silhouette width
Optimal number of clusters
100
200
300
123456789101112131415
Number of clusters k
Total Within Sum of Square
Optimal number of clusters
0.1
0.2
0.3
1 2 3 4 5 6 7 8 910
Number of clusters k
Gap statistic (k)
Optimal number of clusters
Prof. Jose A. Caycho (Universidad del Pacífico) Análisis Clúster 37 / 47
Ejercicio : Interbank
clust.kmeans<- NbClust(datos.z,distance="euclidean",
min.nc=2,,
method="kmeans",index="alllong"2 3 4 5 6 7 8
0.006
0.007
0.008
0.009
0.010
0.011
Number of clusters
Hubert Statistic values
2 3 4 5 6 7 8
0.0006
0.0008
0.0010
0.0012
0.0014
Number of clusters
Hubert statistic second differences
## *** : The Hubert index is a graphical method of determining the number of clusters.
## In the plot of Hubert index, we seek a significant knee that corresponds to a
## significant increase of the value of the measure i.e the significant peak in Hubert
## index second differences plot.
##2 3 4 5 6 7 8
1.2
1.4
1.6
1.8
Number of clusters
Dindex Values
2 3 4 5 6 7 8
0.00
0.02
0.04
0.06
0.08
Number of clusters
Second differences Dindex Values
## *** : The D index is a graphical method of determining the number of clusters.
## In the plot of D index, we seek a significant knee (the significant peak in Dindex
## second differences plot) that corresponds to a significant increase of the value of
## the measure.
##
## *******************************************************************
## * Among all indices:
## * 5 proposed 2 as the best number of clusters
## * 3 proposed 3 as the best number of clusters
## * 9 proposed 4 as the best number of clusters
## * 4 proposed 5 as the best number of clusters
## * 1 proposed 6 as the best number of clusters
## * 5 proposed 8 as the best number of clusters
##
## ***** Conclusion *****
##
## * According to the majority rule, the best number of clusters is 4
##
##
## *******************************************************************
Prof. Jose A. Caycho (Universidad del Pacífico) Análisis Clúster 38 / 47
Ejercicio : Interbank
Interpretaciones:
•Método de silueta: De acuerdo a lo obtenido por el método de la
silueta, en el gráfico se observar que se recomienda considerar 10 clústeres.
No sería plausible.
•Método de Elbow: Según este método, se busca el punto donde la
reducción de la varianza intra-cluster comienza a disminuir más
lentamente, indicando que añadir más clústeres no mejora
significativamente la agrupación de los datos. En este caso, esta
desaceleración es evidente para k = 2, sugiriendo que este número sería el
óptimo de clústeres a utilizar.
•La estadística de Gap: Nos indica que se debe considerar 1 clúster. Una
mejor opción sería por la regla de la mayoría, la cual considera 4 como
número óptimo de clústeres.
Prof. Jose A. Caycho (Universidad del Pacífico) Análisis Clúster 39 / 47
Ejercicio : Interbank
Validación
summary(aov(rent$Age~ (kmeans_4$cluster)))
## Df Sum Sq Mean Sq F value Pr(>F)
## as.factor(kmeans_4$cluster) 3 6392 2130.7 46.83 5.01e-14 ***
## Residuals 46 2093 45.5
## ---
## Signif. codes: 0 ’***’ 0.001 ’**’ 0.01 ’*’ 0.05 ’.’ 0.1 ’ ’ 1
summary(aov(rent$Experience~ (kmeans_4$cluster)))
## Df Sum Sq Mean Sq F value Pr(>F)
## as.factor(kmeans_4$cluster) 3 6129 2043.1 45.99 6.84e-14 ***
## Residuals 46 2044 44.4
## ---
## Signif. codes: 0 ’***’ 0.001 ’**’ 0.01 ’*’ 0.05 ’.’ 0.1 ’ ’ 1
summary(aov(rent$Income~ (kmeans_4$cluster)))
## Df Sum Sq Mean Sq F value Pr(>F)
## as.factor(kmeans_4$cluster) 3 55055 18352 17.14 1.3e-07 ***
## Residuals 46 49249 1071
## ---
## Signif. codes: 0 ’***’ 0.001 ’**’ 0.01 ’*’ 0.05 ’.’ 0.1 ’ ’ 1
Prof. Jose A. Caycho (Universidad del Pacífico) Análisis Clúster 41 / 47
Ejercicio : Interbank
Validación
summary(aov(rent$Family~ (kmeans_4$cluster)))
## Df Sum Sq Mean Sq F value Pr(>F)
## as.factor(kmeans_4$cluster) 3 12.57 4.188 3.115 0.0352 *
## Residuals 46 61.85 1.345
## ---
## Signif. codes: 0 ’***’ 0.001 ’**’ 0.01 ’*’ 0.05 ’.’ 0.1 ’ ’ 1
summary(aov(rent$CCAvg~ (kmeans_4$cluster)))
## Df Sum Sq Mean Sq F value Pr(>F)
## as.factor(kmeans_4$cluster) 3 70.06 23.353 19.49 2.67e-08 ***
## Residuals 46 55.11 1.198
## ---
## Signif. codes: 0 ’***’ 0.001 ’**’ 0.01 ’*’ 0.05 ’.’ 0.1 ’ ’ 1
summary(aov(rent$Mortgage~ (kmeans_4$cluster)))
## Df Sum Sq Mean Sq F value Pr(>F)
## as.factor(kmeans_4$cluster) 3 298814 99605 18.79 4.25e-08 ***
## Residuals 46 243877 5302
## ---
## Signif. codes: 0 ’***’ 0.001 ’**’ 0.01 ’*’ 0.05 ’.’ 0.1 ’ ’ 1
Prof. Jose A. Caycho (Universidad del Pacífico) Análisis Clúster 42 / 47
Ejercicio : Interbank
Descripción de Cluster
options(scipen=999) # para quitar la notación científica
library(reshape2)
## Warning: package ’reshape2’ was built under R version 4.1.3
dres data.frame(rent, factor(kmeans_4$cluster))
dres.melt melt(dres,)
ggplot(dres.melt,aes(cluster, value, +
geom_boxplot()+ ()+
facet_wrap(~variable,)Family CCAvg Mortgage
Age Experience Income
1 2 3 4 1 2 3 4 1 2 3 4
1 2 3 4 1 2 3 4 1 2 3 4
0
50
100
150
0
100
200
300
400
0
10
20
30
40
0
2
4
6
30
40
50
60
1
2
3
4
cluster
value
cluster
1
2
3
4
Prof. Jose A. Caycho (Universidad del Pacífico) Análisis Clúster 43 / 47
Interpretación:
•Grupo 1 se caracteriza por tener clientes que en promedio tienen
Ingresos (Income) y gastos en tarjetas de crédito por mes (CCAvg)
medios, y en promedio el números de años de experiencia y la edad de los
clientes es muy alto, por lo que podría considerarse el grupo de Clientes
“de ingresos medios y de edad adulta mayor”.
•Grupo 2 se caracteriza por tener clientes que en promedio tienen
Ingresos (Income) bajos pero gastos en tarjetas de crédito por mes
(CCAvg) medios, y en promedio el números de años de experiencia y la
edad de los clientes es bajo, por lo que podría considerarse el grupo de
Clientes “de ingresos bajos y adultos jóvenes”.
Prof. Jose A. Caycho (Universidad del Pacífico) Análisis Clúster 44 / 47
Interpretación:
•Grupo 3 se caracteriza por tener clientes que en promedio tienen
Ingresos anuales (Income) altos y gastos en tarjetas de crédito por mes
(CCAvg) muy altos, y en promedio el números de años de experiencia y la
edad de los clientes es media, por lo que podría considerarse el grupo de
Clientes “de ingresos altos y edad adulta”.
•Grupo 4 se caracteriza por tener clientes que en promedio tienen
Ingresos (Income) muy altos pero gastos en tarjetas de crédito por mes
(CCAvg) bajo, y en promedio el números de años de experiencia y la edad
de los clientes es medio, por lo que podría considerarse el grupo de
Clientes “de ingresos top y edad adulta”.
Prof. Jose A. Caycho (Universidad del Pacífico) Análisis Clúster 45 / 47
Ejercicio para ti.
Evalue el ejercicio anterior (Mall-customers) utilizando el algoritmo
K-means con 5 y 4 clusters. Comente los Anovas.
Prof. Jose A. Caycho (Universidad del Pacífico) Análisis Clúster 46 / 47
Prof. Jose A. Caycho (Universidad del Pacífico) Análisis Clúster 47 / 47