Documenti di Didattica
Documenti di Professioni
Documenti di Cultura
I. Introducción1
El análisis cluster es una técnica diseñada para clasificar tantas observaciones en grupos de tal forma que:
Cada grupo (conglomerado o cluster) sea homogéneo respecto a las variables utilizadas para
caracterizarlos; es decir, que cada observación contenida en él sea parecida a todas las que estén
incluidas en ese grupo.
Que los grupos sean lo más distintos posible unos de otros respecto a las variables consideradas.
2
Ejemplo:
El responsable de marketing tiene una BDD con las características sociodemográficas de sus clientes:
edad, nivel educativo, nivel de ingresos, estado civil, ocupación, número de hijos, etc.
Se plantea si pudiera dividir a sus clientes en subgrupos que tuvieran características sociodemográficas
similares entre sí, pero que fueran lo más diferentes posible unos subgrupos de otros.
Si fuera posible, se podría diseñar campañas de publicidad distintas para cada grupo, con creatividades
diferentes o utilizando diarios, revistas o cadenas de televisión distintas según el grupo al que fuera
dirigida la campaña
1 Basado en Uriel, Ezequiel & Aldas, Joaquín. “Análisis Multivariante Aplicado. Aplicaciones al marketing,
investigación de mercados, economía, dirección de empresas y turismo”.
1
II. Clasificación
Clasificacióde loslos
n de métodos de Análisis
métodos cluster Cluster2
Divisivos
Métodos Jerá
Jerárquicos
Aglomerativos
Métodos Cluster
Reasignació
Reasignación
Búsqueda de la densidad
Métodos No Jerá
Jerárquicos Directos
Reducció
Reducción de dimensiones
2 Basado en Pérez, César. “Técnicas de Análisis Multivariante de Datos: aplicaciones con SPSS”. Pearson
Prentice Hall. 2004. España.
2
Estandarización de los datos
Las medidas de similaridad son muy sensibles a las unidades que estén medidas dichas variables.
Para evitar esta influencia no deseable de una variable debida exclusivamente a la unidad en que
viene medida, es necesario corregir el efecto de los datos recurriendo a un proceso de
estandarización.
Medidas de Distancia
Distancia euclidiana: es la raíz cuadrada de la suma de las diferencias al cuadrado entre los dos
elementos en la variable o variables consideradas
D(X,Y) (X i Yi )2
D2 (X,Y) (Xi Yi )2
Distancia métrica de Chebychev: es la referencia máxima en valores absolutos entre los valores de los
elementos
D(X,Y) Max i Xi Yi
Algoritmos de agrupamiento
Método del vecino más cercano (vinculación simple)
Método del vecino más lejano (vinculación completa)
Método de la vinculación intergrupos (vinculación promedio)
Método
Método Métodos de Enlace o Agrupamiento
del centroide
de Ward
(vinculación de centroides)
14
3
IV. Ejemplo de Aplicación
Ejemplo de Aplicación Nº 13
A un grupo de 21 personas se le medirá una serie de atributos de tipo métrico, y conforme a estos
atributos se van a clasificar a estas personas en grupos o categorías de tal forma que dentro de cada grupo
las unidades muestrales sean lo más homogénea posible, y entre los grupos estas unidades,
comparativamente, sean lo más heterogénea posibles.
La información que se recolectó de estas 21 personas (usando una escala de Likert del 1 al 7, donde 1 es
desacuerdo y 7 de acuerdo), fue su grado de conformidad a las siguientes afirmaciones:
• Salir de compras es divertido
• Salir de compras afecta el presupuesto
• Al salir de compras aprovecho de comer fuera
• Al salir a comprar trato de hacer las mejores
• No me importa salir de compras
• Al salir de compra voy a ahorrar si comparo precios
Etapa en la que el
Conglomerado que se conglomerado aparece
combina por primera vez
3
Basado en Gondar, Emilio. Data Mining Institute www.estadistico.com. 2004
4
Análisis de la Tabla de Frecuencias
5
V. Caracterización de los Clusters
Caracterización de los clusters usando variables activas
Consiste en analizar los centros de gravedad de cada grupo (promedios) una vez finalizada la clasificación
de todos los individuos en base a las variables utilizadas para efectuar la participación, que suelen
llamarse “variables activas”.
0
Divertido Presupuesto Aprovecho Buena compra No importa Ahorro
1. Los casos del cluster 1 tienen valores altos en las variables divertido, aprovecho, medios en las
variables presupuesto, buena compra, ahorro y bajo en no importa.
2. Los casos del cluster 2 tienen valores altos sólo en la variables no importa, medios en las variables
presupuesto, buena compra, ahorro y bajo en divertido, aprovecho.
3. Los casos del cluster 3 tienen valores altos en las variables presupuesto, buena compra, ahorro,
medios en las variables divertido, aprovecho, no importa y no tiene valores bajos.
Es el análisis del perfil de cada grupo en base a variables pasivas, es decir en variables que no han
intervenido a la hora de efectuar la partición pero pueden aportar información interesante para definir
mejor los grupos. Por ejemplo, variables de tipo sociodemográfico (sexo, edad, nivel de estudios, hábitat,
etc.) o socioeconómico (clase social, profesión, nivel de renta, etc.)
6
ANÁLISIS CLUSTER JERÁRQUICO CON R
################################
# ANÁLISIS CLUSTER JERÁRQUICO #
# EJEMPLO COMPRAS #
################################
# Librerías
library(ag)
library(cluster)
library(aplpack)
library(tcltk)
library(fpc)
# Ingreso de datos
datosc=read.csv("compras-cluster.csv")
datosc=datosc[,-1]
str(datosc)
datosc
[,1] [,2]
[1,] -6 -7
[2,] -14 -16
[3,] -2 -13
[4,] -3 -8
[5,] -5 -11
[6,] -21 1
[7,] -12 6
[8,] -4 2
[9,] -9 5
[10,] -1 7
[11,] -19 8
[12,] -20 9
[13,] -17 10
[14,] 3 12
[15,] 4 13
[16,] -10 11
[17,] -15 15
[18,] -18 16
[19,] 14 18
[20,] 17 19
# Proceso de agrupamiento indicando los distancias
fit$height
[1] 2.000000 2.000000 3.000000 3.000000 3.000000 3.000000 3.666667
4.000000 4.500000
[10] 5.750000 7.000000 7.333333 8.000000 10.750000 11.666667 11.750000
14.125000 22.600000
[19] 37.944444 46.388889
7
# Dendograma
plot(fit)
plot(fit,hang=-1)
plclust(fit,hang=-1) # opción alternativa en versiones anteriores
rect.hclust(fit, k=3, border="red")
8
# Genera k=3 clusters
cut2<-cutree(fit,k=3)
cut2
[1] 1 2 1 3 2 1 1 1 2 3 2 1 2 3 1 3 1 3 3 2 1
aa1=rbind(ppcl1,ppcl2,ppcl3,pgen)
aa1
m1<-matrix(rep(c(1,2,3,4,5,6),4),6,4)
m1
matplot(m1,t(aa1),type="l")
matplot(xlim=c(1,7),m1,t(aa1),type="l",xaxt = "n",col=1:4)
legend("right", c("Cluster 1", "Cluster 2", "Cluster 3", "Promedio"), pch=c(19,19,19,19),
col=1:4)
axis(1, at=1:6, labels=c("div","pres","aprov","buenac","noimp","ahorro"))
9
# Otra forma realizar Cluster Jerárquico con la función agnes
library(cluster)
agn1 = agnes(d, metric="euclidean", method="average", stand = FALSE)
agn1
plot(agn1,hang=-1)
# Caras de Chernoff
library(aplpack)
library(tcltk)
datosf=cbind(datosc,cut2)
datosf
str(datosf)
faces(datosf[,1:6])
10
VI. Análisis Cluster No Jerárquico
Es aquel donde se conoce a priori el número de grupos “k” que se desea, y las observaciones son asignadas
a cada uno de esos “k” clusters de forma tal que maximiza la homogeneidad de los sujetos asignados a un
mismo grupo y la heterogeneidad entre los distintos clusters.
Id X1 X2
A 5 3
B -1 1
C 1 -2
D -3 -2
Cluster X1 X2
(AB) 2 2
(CD) -1 -2
Cluster A B
(AB) 10 10
(CD) 61 9
11
Coordenadas del centroide
Cluster X1 X2
(A) 5 3
(BCD) -1 -1
Cluster A B C D
(A) 0 40 41 89
(BCD) 52 4 5 5
12
Criterio del gráfico de Silueta
13
Criterio de Calinski-Harabasz
# Criterio de Calinski-Harabasz
library(fpc)
ch<-numeric()
for(h in 2:10){
res<-kmeans(datosc,h)
ch[h-1]<-calinhara(datosc,res$cluster)
}
plot(2:10,ch,type="b",xlab="k",ylab="Criterio de Calinski-Harabasz")
14
# k-means utilizando el criterio de Calinski-Harabasz
kmeansruns(datosc,criterion="ch")
Cluster means:
divertid presupu aprovech buenacom noimport ahorro
1 5.666667 3.666667 6.000000 3.222222 2.0 4.000000
2 3.500000 5.500000 3.333333 6.000000 3.5 6.000000
3 1.666667 3.000000 1.833333 3.500000 5.5 3.333333
Clustering vector:
[1] 1 3 1 2 3 1 1 1 3 2 3 1 3 2 1 2 1 2 2 3 1
plot(silhouette(cl$cluster,datosc))
15
# Junta el archivo de datos con la columna de cluster
datosk=cbind(datosc,cl$cluster)
datosk
str(datosk)
Los gráficos multivariantes se caracterizan por no ajustarse al habitual sistema de coordenadas cartesianas
y por posibilitar la representación multivariante de un conjunto de variables cuantitativas clasificadas en
función de una variable cualitativa. Una característica común para la correcta ejecución de estos gráficos
es la conveniencia de que las variables estén en una escala común; de lo contrario, la interpretación del
gráfico estará distorsionada. Si las variables no cumplen este requisito, será preciso tipificarlas.
Caras de Chernoff
Chernoff (1973) propuso utilizar diferentes rasgos del rostro humano para representar múltiples variables
cuantitativas. Cada variable es asignada a un rasgo del rostro, de forma que el resultado es un rostro que
refleja el equilibrio de las diversas variables implicadas
Este gráfico permite representar hasta 20 variables conjuntamente, asignándolas a una del as siguiente
características del rostro:
1. Curvatura de la boca 11. Cuerpo medio de los ojos
2. Angulo de la ceja 12. Posición de las pupilas
3. Anchura de la nariz 13. Altura de las cejas
4. Longitud de la nariz 14. Longitud de la ceja
5. Longitud de la boca 15. Altura de la cara
6. Altura del centro de la boca 16. Excentricidad de la elipse superior de la cara
7. Separación entre los ojos 17. Excentricidad de la elipse inferior de la cara
8. Altura del centro de los ojos 18. Nivel de las orejas
9. Inclinación de los ojos 19. Radio de la oreja
10. Excentricidad de los ojos 20. Longitud del cabello
16