Академический Документы
Профессиональный Документы
Культура Документы
Algoritmo jerrquicos
Estos algoritmos generan sucesiones anidadas de clusters que se pueden visualizar con una estructura de arbol llamado Dendrograma,
En la figura se muestra el dendrograma de las 38 muestras del conjunto Golub obtenido usando la funcin hclust para algoritmo jerarquico
C s r D n ro ra lu te e d g m
55
60
Height 40 45
50
21
29
17
38
35
20
27
8 22
2 14
30
30 36
26 16 19
24
25
9 11
5 15
6 23
4 7
12 25 34 35 31 32
33 37
13
10
28
18
Dendrogramas
Los dendrogramas son fciles de interpretar pero pueden conducir a falsas conclusiones por las siguientes razones: 1) El dendrograma correspondiente a un conglomerado jerrquico no es nico, puesto que por cada junte de clusters (merge) uno necesita especificar que sub-rbol va a la derecha y cul a la izquierda. Por default la funcin hclust ordena los arboles de tal manera que los conglomerados ms concentrados van a la izquierda. 2) La estructura jerrquica del Dendrograma no representa fielmente las verdaderas distancias entre los objetos distintos del conjunto de datos.
El coeficiente de correlacin cofentico puede ser usado para medir cuan bien la estructura jerrquica del dendrograma representa a las v erdaderas distancias. Se define como la correlacin entre las n(n - 1)/2 pares de dissimilaridades y sus distancias cofenticas del dendrogramas (es la distancia de similiraidad a la cual dos observaciones que aparecen en un mismo cluster fueron consideradas juntas por primera vez). La funcin cophenetic calcula la distancia cofenticas. d1=dist(t(golub)) golubh=hclust(d1, method=ave) d2=cophenetic(golubh) cor(d1,d2) La correlacion cofentica da 0.7606. El dendrogram no es algo confiable
treegolub=as.dendrogram(golubh) golubh=cut(treegolub,h=50) > golubh $upper 'dendrogram' with 2 branches and 2 members total, at height 54.29456 $lower $lower[[1]] 'dendrogram' leaf '21', at height 0 $lower[[2]] 'dendrogram' with 2 branches and 37 members total, at height 47.57777 > par(mfrow=c(2,2)) > plot(treegolub) > plot(golubh$upper)
6 23 9 11 10
33 37 30 36 12 25 34 35 28 31 32 3 17
Cluster Dendrogram
21
Heatmaps.
Son grficas que muestran simultaneamente las agrupaciones en conglomerados de columna y filas. La funcin heatmap permite hacer heatmaps usando un gran nmero de tonalidades de colores. top50=a1$index[1:50] > top50 [1] 829 378 2124 808 2489 394 2670 1009 1995 937 1448 2939 1413 1907 2663 766 717 1778 1042 2702 2198 523 1811 2600 849 1676 2664 848 2761 561 2750 1037 515 2386 2499 894 2714 1141 2752 1883 988 1911 1834 2958 746 1524 2101 1977 2813 792 heatmap(golub[top50,],col=heat.colors(16)) heatmap(golub[top50,],col=topo.colors(256) )
Notar que solo las variables 2 y 3 determinan claramente las 3 clases de iris.
27 8 7 3 23 6 11 9 10 22 24 26 13 15 20 1 4 18 16 19 5 21 14 17 25 12 2 35 38 28 32 29 31 34 33 37 30 36
27 8 7 3 23 6 11 9 10 22 24 26 13 15 20 1 4 18 16 19 5 21 14 17 25 12 2 35 38 28 32 29 31 34 33 37 30 36
43 6 25 19 34 5 40 45 10 11 23 33 9 32 12 17 22 20 30 46 42 16 24 3 14 21 49 27 15 1 7 8 38 37 13 31 18 29 44 2 47 50 48 4 39 35 26 36 41 28
43 6 25 19 34 5 40 45 10 11 23 33 9 32 12 17 22 20 30 46 42 16 24 3 14 21 49 27 15 1 7 8 38 37 13 31 18 29 44 2 47 50 48 4 39 35 26 36 41 28
10
20
30
40
50 Height
60
70
80
90
100
62.6 60
55
50
45
40
35
30 Height
25
20
15
10
Height
8 22 27 25
18 17 21
40
20
12
29 28 32 31 34 35 30 36
5 15 24 13 16 19 26
6 23 9 11 10
4 7
33 37 38
2 14 3
25
donde d(ci,cj) es la distancia entre los clusters ci, y cj y d'(ck) representa una distancia intracluster del cluster ck, tal como la distancia maxima entre los elementos del cluster. Si el conjunto de datos tiene clusters bien compactos y definidos entonces Dn es grande.El numero optimo de clusters es aquel donde D alcanza su primer maximo local. La libreria fpc tiene una funcion cluster.stats que calcula el indice de Dunn.
dgolub=dist(t(golub)) arbol2=cutree(hclust(dgolub),2) a=cluster.stats(dgolub,arbol2) a$dunn [1] 0.6421666 arbol3=cutree(hclust(dgolub),3) a=cluster.stats(dgolub,arbol3) a$dunn [1] 0.692239 arbol4=cutree(hclust(dgolub),4) a=cluster.stats(dgolub,arbol4) a$dunn [1] 0.6733567
Silhouette plots
Los plots siluetas, (Rousseeuw 1987) pueden ser usados para: Seleccionar el nmero de clusters. Evaluar cuan bien han sido asignados las observaciones en los clusters. El ancho de la silueta (silhouette width) de la i-sima observacin es definida por: sili = (bi - ai)/ max(ai, bi) Donde, ai denota la distancia promedio entre la observacin i y todas las otras que estn en el mismo cluster de i, y bi denota la distancia promedio minima de i a las observaciones que estn en otros clusters. Claramente sili cae en en el intervalo (-1,1).
Kaufman y Rousseeuw (1990) sugirieron estimar el nmero ptimo de cluster K para el cual el ancho de silueta promedio sea la mayor posible.
n = 38
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38
2 clusters C j j : nj | aveiCj si
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38
n = 38
3 clusters C j j : nj | aveiCj si
1 2 3 4 5 6 1 : 16 | 0.07 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38
n = 38
4 clusters C j j : nj | aveiCj si
1 : 6 | 0.12
2 : 9 | 0.14
1 : 25 | 0.10
2 : 9 | 0.16
3 : 10 | 0.09
2 : 13 | 0.13
3 : 13 | 0.11
4 : 13 | 0.09
0.0
0.2
0.4
0.6
0.8
1.0
0.0
0.2
0.4
0.6
0.8
1.0
0.0
0.2
0.4
0.6
0.8
1.0
p tsd s e s lo e ilu ta
0.06
6 c s rs lute
1 0
. Indices Externos
Supongamos que tenemos dos particiones U y V de n objetos x1, ..., xn: la particin en R grupos U = {u1, ..., uR} y la particin en C grupos V={v1, ...,vC}, por lo general una de ellas conocida de antemano.. Los indices externos de concordancia entre las particiones pueden ser expresados en trmino de una tabla de contingencia con entradas nij que representa el nmero de objetos que estn en ambos clusters ui and vj, i = 1,...,R, j = 1,...,C . Sean
n i . = n ij
j =1 C
n . j = n ij
i =1
Z = n
i =1 j =1
2 ij
Consideremos ademas las siguientes cantidades: a: numero de pares objetos que estan en el mismo cluster tanto en U como en V. c: numero de pares de objetos que estan en el mismo cluster en V pero no en U. b: numero de pares de objetos que estan en el mismo cluster en U pero no en V. d: numero de pares de objetos que estan en diferentes clusters tanto en U como en V. Notar que R m1=a+b = ni. numero de pares de objetos en el mismo cluster en U.
i =1
C
Ejemplo
a= 4, b =2, c=3, d=6, m1=6, m2=7, Z=14
1 3
2 6 U
1 3
2 6 V
n 6 = = 15 2 2
Rand(1971) Jaccard
( z (1 / 2 )( Rand = 1 +
i =1
ni2 .
+ n.2j ))
j =1
n 2
c 00 + c11 n 2
Jac=
(z n)
n.2j Z n
i=1
ni2 + .
j=1
FM =
1 = X ( i , j )Y ( i , j ) M
H = [ X (i, j )Y (i, j ) / M XY ] / S X SY
Pero, usando el hecho que X y Y son binomiales, se tiene que C n. J R ni. ( ) ( ) J =1 2 i =1 2 Y = X = M M Que son las probabilidades de que los objetos i y j caigan en los mismos clusters de las particiones U y V respectivamente
Similarmente,
R n ni . i. i =1 2 (1 i =1 2 ) S X = X (1 X ) = M M R
C n n. j .j j =1 2 (1 j =1 2 ) S Y = Y (1 Y ) = M M C
Finalmente,
nij R C 2 R C X (i, j )Y (i, j ) 2 nij nij Z n i =1 j =1 i =1 j =1 = i=1 j =1 = = M M 2M 2M
R C
n i. a +b = i =1 2
R
n. j a + c = j =1 2
C
> agbupa=agnes(dist(bupa[,1:6]),method="complete") > c=cutree(agbupa,k=2) > mexter(bupa[,7],c) $rand [1] 0.5103809 $jaccard [1] 0.5091815 $fandm [1] 0.7124241 $hubert [1] -0.01026507 > table(c) c 1 2 344 1
Otras medidas
FOM=Figure of Merit (Yeung and Ruzzo,2001) The Gap Statistics (Tibshirani,2000). Clest (Dudoit & Fridlyand, 2002)
-Calcular un score sk,b comparando las etiquetas del conjunto de prueba obtenidas por conglomerados y por prediccin del clasificador. Estos scores se obtienen aplicando indices externos como RAND, Jaccard o Fowkles y Mallows (FM) -El score de similaridad para los k clusters es la mediana de los B scores de similaridad tk = median(sk,1, , sk,B). -El nmero de clusters K es estimado comparando el score observado tk con su valor esperado asumiendo cierta distribucin de referencia.
41
L ( 1 ,..... G ; 1 ,.... G / y ) = k f k ( y i / k )
i =1 k =1
Donde fk y k son las funciones de densidad y los parametros de la kesima componente de la muestra y k es la probabilidad de que una observacion pertenezca a la k-esima componente . Los k son no negativos y su suma debe dar 1. Por lo general fk es una densidad normal multivariada k parametrizada por su media y matriz de covarianza.
42
1 exp( ( y i k ) T k 1 ( y i k )) 2 k ( yi / k , k ) det( 2 k )
43
44
45
Uso de Mclust
Los siguientes modelos son comparados en 'Mclust': "EII": spherical, equal volume "VII": spherical, unequal volume "EEI": diagonal, equal volume, equal shape "VEI": diagonal, varying volume, equal shape "EVI": diagonal, equal volume, varying shape "VVI": diagonal, varying volume, varying shape "EEE": ellipsoidal, equal volume, shape, and orientation EEV": ellipsoidal, equal volume and equal shape "VEV": ellipsoidal, equal shape "VVV": ellipsoidal, varying volume, shape, and orientation El comportamiento de los modelos dependen de la descomposicion espectral de las matrices de covarianzas
46
> a=Mclust(bupa[,1:6],1:10) >a best model: diagonal, varying volume and shape with 4 components > a$bic [1] -14867.11 > table(a$class) 1 2 3 4 135 152 53 5 > a$parameters$pro [1] 0.40769889 0.41884788 0.15928831 0.01416492
47
> a$parameters$mean [,1] [,2] [,3] [,4] V1 90.429894 89.313426 91.110518 96.69474 V2 73.818404 64.056493 73.900558 82.77228 V3 29.045119 20.299498 57.676037 61.74509 V4 24.067698 19.222119 38.203606 49.03473 V5 35.667890 16.089920 88.777391 202.03921 V6 3.700042 2.163306 5.584584 10.65408
48
> a$BIC EII VII 1 -18303.43 -18303.43 2 -17202.80 -16598.74 3 -16838.22 -16197.67 4 -16678.34 -16008.67 5 -16554.47 -15886.13 6 -16468.54 -15783.68 7 -16466.85 -15776.61 8 -16470.31 -15760.68 9 -16097.65 -15749.74 10 -16090.24 -15726.55 plot(a,bupa[,1:6])
EEI -15983.15 -15510.36 -15409.54 -15408.63 -15445.39 -15158.72 -15194.85 -15183.71 -15222.67 -15199.41
VEI -15983.15 -15132.42 -14992.76 -14940.84 -14957.04 -14974.77 -14976.11 -15009.91 -15033.18 -15039.04
EVI VVI EEE EEV VEV VVV -15983.15 -15983.15 -15568.76 -15568.76 -15568.76 -15568.76 -15321.70 -15001.33 -15441.96 -15297.84 -14983.84 -14964.50 -15209.54 -15040.37 -15318.12 -15277.09 -15036.85 NA -15185.15 -14867.11 -15314.72 -15309.64 -15097.61 NA -15161.28 -14894.18 -15245.00 -15330.92 -15155.63 NA -15181.85 NA -15154.37 -15316.74 -15193.14 NA NA NA -15172.70 -15406.73 -15178.47 NA NA NA -15207.83 -15539.95 -15316.13 NA NA NA -15208.77 -15566.15 -15350.26 NA NA NA -15230.21 -15620.28 -15527.11 NA
49
B IC
-1 0 0 70
-1 0 0 60
-1 0 0 50
VV EE EE VE VV 10
-1 0 0 80
number of components
20
60
100
20
60
V1
2 6 10 0 0 0
V2
V3
6 0
2 0
V4
20 5 70 90 0 50 100 0 100 250 0 10 0
V5
5 10 0 0
7 0
9 0