scieee AI-readable full text Open interactive document viewer

Técnicas conjuntas de reducción de la dimensión y agrupamiento

Irizo Cruz, María Eugenia

Abstract

Este trabajo muestra el desarrollo de una técnica simultánea de reducción de la dimensión y análisis de conglomerados, a través del lenguaje de programación R y el paquete “clustrd” de este. Se ha divido en cuatro capítulos. El primero, de introducción, donde se recoge la necesidad y motivación de aplicar esta técnica, además de los métodos que van a usarse. En el segundo capítulo, se desarrolla teóricamente tres diferentes métodos de resolución de la técnica estadística para conjuntos de datos continuos. Además, se expone una forma de estudiar la estabilidad de los grupos formados en la parte de análisis de conglomerados. El tercer capítulo es un ejemplo de ilustración de esta técnica. Se genera un conjunto de datos y se les aplica la resolución de esta técnica a través del paquete ya nombrado “clustrd” de R. Se obtienen interpretaciones y conclusiones sobre estos resultados. Por último, en el cuarto capítulo, se explican distintas funcionalidades del paquete en R con varios ejemplos y conjuntos de datos incluidos en el programa base.

Full text

Técnicas conjuntas de reducción de la dimensión y agrupamiento TRABAJO FIN DE GRADO Grado en Estadística María Eugenia Irizo Cruz Sevilla, Junio de 2022 Índice general Prólogo ....................................... iii Resumen....................................... v Abstract....................................... vi 1. Introducción 1 2. Desarrollo teórico 3 2.1. Métodos para datos continuos . . . . . . . . . . . . . . . . . . . . . . . . 3 2.1.1. K-medias reducidas . . . . . . . . . . . . . . . . . . . . . . . . . . 3 2.1.2. K-medias factoriales . . . . . . . . . . . . . . . . . . . . . . . . . 5 2.1.3. K-medias reducidas y K-medias factoriales . . . . . . . . . . . . . 5 2.2. Estabilidad de los grupos . . . . . . . . . . . . . . . . . . . . . . . . . . . 7 3. Ilustración de la técnica estadística y la librería clustrd 9 3.1. Generacióndedatos ............................. 9 3.2. K-mediasreducidas.............................. 12 3.3. K-mediasfactoriales ............................. 17 3.4. K-medias reducidas y K-medias factoriales. Método Tandem . . . . . . . 20 4. Implementación en R e Ilustraciones 23 4.1. Datos ..................................... 23 4.1.1. macro ................................. 23 4.1.2. iris................................... 24 4.2. Funciones ................................... 25 4.2.1. cluspca................................. 25 4.2.2. global_bootclus............................ 35 4.2.3. plot.cluspca .............................. 39 4.2.4. tuneclus ................................ 43 i A. Apéndice: Resultados teóricos necesarios 49 A.1. Relación Norma Frobenius y Traza . . . . . . . . . . . . . . . . . . . . . 49 A.2. Factorización en autovalores y autovectores . . . . . . . . . . . . . . . . . 49 A.3. Indice de Rand Ajustado . . . . . . . . . . . . . . . . . . . . . . . . . . . 50 Bibliografía 51 ii Prólogo Este trabajo de fin de grado, con el título de “Técnicas conjuntas de reducción de la dimensión y agrupamiento”, surgió como una propuesta por mi tutor académico ante el conocimiento de un artículo sobre este tema, y su paquete en el lenguaje de programación R para su resolución. El periodo de investigación y redacción de este trabajo ha sido desde febrero hasta junio de 2022. Hemos trabajado para profundizar en el análisis teórico de esta técnica, de la cual no existe demasiada información, y llevar a cabo un estudio práctico a través de la generación propia de un conjunto de datos. Quiero agradecer a mi tutor Juan Manuel Muñoz Pichardo por su orientación y dedicación. También agradecer al profesor Pedro Luis Luque Calvo, por haber estado disponible ante cualquier problema con el programa R, y por último, a mi familia, por su gran apoyo siempre. Información sobre el autor: María Eugenia Irizo Cruz Estudiante del doble grado en Matemáticas y Estadística de la Universidad de Sevilla Email: meirizo[email protected] Sevilla, 17 de junio de 2022. iii Resumen Este trabajo muestra el desarrollo de una técnica simultánea de reducción de la dimensión y análisis de conglomerados, a través del lenguaje de programación R y el paquete “clustrd” de este. Se ha divido en cuatro capítulos. El primero, de introducción, donde se recoge la necesidad y motivación de aplicar esta técnica, además de los métodos que van a usarse. En el segundo capítulo, se desarrolla teóricamente tres diferentes métodos de resolución de la técnica estadística para conjuntos de datos continuos. Además, se expone una forma de estudiar la estabilidad de los grupos formados en la parte de análisis de conglomerados. El tercer capítulo es un ejemplo de ilustración de esta técnica. Se genera un conjunto de datos y se les aplica la resolución de esta técnica a través del paquete ya nombrado “clustrd” de R. Se obtienen interpretaciones y conclusiones sobre estos resultados. Por último, en el cuarto capítulo, se explican distintas funcionalidades del paquete en R con varios ejemplos y conjuntos de datos incluidos en el programa base. v Abstract This document shows a method for that simultaneosly performs the cluster analysis and the dimension reduction, through the R programming language and its “clustrd” package. It has been divided into four chapters. The Chapter 1 is introductory, where the application of this statistical technique is motivated. In the second chapter, three different methods to solve the statistical technique are theoretically described for continuous data sets. In addition, a way to study the stability of the groups formed in the cluster analysis is explained. The third chapter is an illustration of this technique. The method is applied to a generated data by the package “clustrd” from R. Interpretations and conclusions are obtained about these results. Finally, the fourth chapter explains different functionalities of the package “clustrd” with several examples and program base data sets. vi Capítulo 1 Introducción El fin del análisis de conglomerados, o análisis cluster, es separar observaciones similares en grupos. Para analizar la similaridad entre estas observaciones se tendrá en cuenta las particularidades de los datos y las medidas de distancia correspondientes. Si se necesita una gran cantidad de variables para calcular estas disimilaridades, el trabajo de crear los grupos será complicado. Por ello, se propone un método que combine la reducción de la dimensión con el análisis de conglomerados. Así, se usa una representación de menor dimensión de las variables originales para detectar la estructura de grupos de las observaciones, lo que evita usar variables irrelevantes a la hora de crear la agrupación. Además, la baja dimensión ayuda a obtener soluciones más simples e interpretables. La reducción de la dimensión se realiza mediante análisis de componentes principales. Este método pretende explicar la estructura de covarianzas del conjunto de variables originales a través de otro conjunto de variables mucho menor. Cada componente principal será una combinación lineal de las variables originales que explique la mayor variabilidad. Una forma de llevar a cabo la combinación de la reducción de la dimensión con el análisis de conglomerados es ejecutar ambos métodos secuencialmente. Es decir, se reduce la dimensión, y a estos datos transformados le aplicamos el análisis de conglomerados. A esta teoría se le denomina el método “Tandem”. Sin embargo, cada uno de estos métodos por separados, componentes principales y agrupamiento, tienen un criterio de optimización distinto. La reducción de la dimensión pretende retener la mayor varianza posible en el menor número de dimensiones posibles, mientras que, el análisis cluster pretende encontrar observaciones similares y disimilares, y distribuirlas en los grupos. Por tanto, no se tiene certeza de que los resultados obtenidos en la reducción de la dimensión, es decir, las distintas componentes principales, sean las óptimas para aplicarles el análisis de conglomerados. Un método alternativo es relacionar ambas partes, llevar a cabo la reducción de la dimensión y el análisis de cluster simultáneamente mediante un único criterio de optimización. Se realizará un análisis de componentes principales buscando que el espacio de menor dimensión contenga la información necesaria y útil para el agrupamiento. Este método está implementado en la librería “clustrd”(Angelos Markos [2021]) de R Program (R Core Team [2021]), y puede ser aplicado a conjuntos de datos continuos, categóricos y mixtos. En esta memoria nos centraremos en conjuntos de datos continuos. 1 Capítulo 3 Ilustración de la técnica estadística y la librería clustrd A continuación, se va a aplicar el paquete “clustrd” a un conjunto de datos generado mediante distribuciones normales. 3.1. Generación de datos Se quiere conseguir un conjunto de datos de 200 observaciones y 20 variables, que estén repartidos 4 grupos. Para ello, se considera una matriz L, tal que ella misma por su traspuesta sea definida positiva, para así después utilizarla como matriz de varianzas y covarianzas para la distribución normal y generar las muestras para cada grupo que se desea formar. En este caso, el primer grupo tendrá 60 observaciones, el segundo 40, el tercero 55 y el último 45. El procedimiento de generación de datos se ha implementado en una función dependiente sólo de la semilla de aleatorización con objeto de tener la posibilidad de generar diversos conjuntos de datos y, a su vez, poder mantener los datos generados en caso de ejecutar el procedimiento en diversas ocasiones. gendatp1<- function(numcin) { set.seed(numcin) p=20 n=200 n1=60 n2=40 n3=55 n4=45 L=matrix(c(0.90,0.90,0.90,0.90,0.90,0.90,0.90,0.90,0.80,0.80, 0.80,0.80,0.80,0.80,-0.01,-0.01,-0.01,-0.01,-0.01,-0.01, rep(0.92,8), rep(0.80,2), 0.90, rep(0.80,2), 0.80,0.80,-0.01,-0.01,-0.01,-0.01,-0.01,-0.01,0.01,-0.01, -0.01,0.01,0.01,-0.01,-0.01,0.01,0.90,0.85,0.90,0.85, 9 3.1. GENERACIÓN DE DATOS 0.92,0.01,-0.01,-0.01,0.01, -0.01,-0.01,0.01,0.01,-0.01, -0.01,0.01,0.01,-0.01,-0.01,0.01,0.80,0.95,0.80,0.95, 0.82,0.01,-0.01,-0.01,0.01, -0.01,-0.01,0.01,0.61,0.60, 0.70,0.02,0.01,-0.65,-0.74,0.61,0.60,0.70,0.02,0.01, -0.65,-0.74,-0.01,-0.01,-0.01,-0.01,-0.01,-0.01,-0.61,-0.60, -0.70,0.02,0.01,0.65,0.74,-0.61,-0.60,-0.70,0.02,0.01, 0.65,0.74,-0.01,-0.01,-0.01,-0.01,-0.01,-0.01,0.01,0.01, 0.01,0.01,-0.01,-0.01,-0.01,0.01,0.01,0.01,0.01,-0.01, -0.01,-0.01,0.01,0.01,0.01,0.01,-0.01,-0.01,0.01,0.01, 0.01,0.01,-0.01,-0.01,-0.01,0.01,0.01,0.01,0.01,-0.01, -0.01,-0.01,0.01,0.01,0.01,0.01,-0.01,-0.01,0.01,-0.01, 0.01,-0.01,0.01,-0.01,0.01,0.01,-0.01,0.01,-0.01,0.01, -0.01,0.01,0.01,-0.01,0.01,-0.01,0.01,-0.01,0.01,-0.01, 0.01,-0.01,0.01,-0.01,0.01,0.01,-0.01,0.01,-0.01,0.01, -0.01,0.01,0.01,-0.01,0.01,-0.01,0.01,-0.01,0.90,0.90, 0.90,0.90,0.90,0.90,0.90,0.90,0.80,0.80,0.80,0.80, 0.80,0.80,-0.01,-0.01,-0.01,-0.01,-0.01,-0.01, rep(0.92,8), rep(0.80,2), 0.90, rep(0.80,2), -0.01,-0.01,-0.01,-0.01,-0.01,-0.01,0.01,-0.01,-0.01,0.01, 0.01,-0.01,-0.01,0.01,0.90,0.85,0.90,0.85,0.92,0.01, -0.01,-0.01,0.01, -0.01,-0.01,0.01,0.01,-0.01,-0.01,0.01, 0.01,-0.01,-0.01,0.01,0.80,0.95,0.80,0.95,0.82,0.01, -0.01,-0.01,0.01, -0.01,-0.01,0.01,0.61,0.60,0.70,0.02, 0.01,-0.65,-0.74,0.61,0.60,0.70,0.02,0.01,-0.65,-0.74, -0.01,-0.01,-0.01,-0.01,-0.01,-0.01,-0.61,-0.60,-0.70,0.02, 0.01,0.65,0.74,-0.61,-0.60,-0.70,0.02,0.01,0.65,0.74, -0.01,-0.01,-0.01,-0.01,-0.01,-0.01,0.01,0.01,0.01,0.01, -0.01,-0.01,-0.01,0.01,0.01,0.01,0.01,-0.01,-0.01,-0.01, 0.01,0.01,0.01,0.01,-0.01,-0.01,0.01,0.01,0.01,0.01, -0.01,-0.01,-0.01,0.01,0.01,0.01,0.01,-0.01,-0.01,-0.01, 0.01,0.01,0.01,0.01,-0.01,-0.01,0.01,-0.01,0.01,-0.01, 0.01,-0.01,0.01,0.01,-0.01,0.01,-0.01,0.01,-0.01,0.01, 0.01,-0.01,0.01,-0.01,0.01,-0.01,0.01,-0.01,0.01,-0.01, 0.01,-0.01,0.01,0.01,-0.01,0.01,-0.01,0.01,-0.01,0.01, 0.01,-0.01,0.01,-0.01,0.01,-0.01), nrow = 20,ncol = 20) # Matriz de covarianzas S=round(L %* %t(L),4) # Vector de medias mu=c(rep(10,20)) mu2=mu+c(rep(2,8),rep(0,12)) mu3=mu+ c(rep(0,14),rep(2,6)) mu4=mu+c(rep(0,8),rep(2,6),rep(0,6)) 10 CAPÍTULO 3. ILUSTRACIÓN DE LA TÉCNICA ESTADÍSTICA Y LA LIBRERÍA CLUSTRD 3.1. GENERACIÓN DE DATOS # Matriz de datos set.seed(numcin) X_1=mvrnorm(n1,mu,S) X_2=mvrnorm(n2,mu2,S) X_3=mvrnorm(n3,mu3,S) X_4=mvrnorm(n4,mu4,S) rbind.data.frame(X_1,X_2,X_3,X_4) } X=gendatp1(47567) Xes la matriz de datos generada y almacenada como “data.frame”. head(round(X[,1:10],2)) Tabla 3.1: Primeras filas de la matriz de datos V1 V2 V3 V4 V5 V6 V7 V8 V9 V10 9.67 10.37 10.48 9.61 10.03 9.24 9.52 11.24 10.14 9.34 8.70 8.56 8.37 9.82 9.69 11.13 11.21 8.20 6.22 6.59 10.58 14.81 15.10 13.88 12.16 10.71 8.97 11.48 16.06 14.43 9.75 6.10 6.15 5.80 7.20 7.09 8.48 8.96 4.65 3.62 10.18 8.06 8.03 8.63 8.69 9.27 9.66 8.53 7.96 4.46 11.24 13.31 13.24 13.33 11.95 11.89 10.55 10.60 12.10 13.55 head(round(X[,11:20],2)) Tabla 3.2: Primeras filas de la matriz de datos V11 V12 V13 V14 V15 V16 V17 V18 V19 V20 8.10 8.81 7.93 8.75 10.71 10.01 9.97 9.99 9.98 10.00 8.27 7.94 9.49 11.88 9.50 10.02 10.01 10.04 10.04 9.94 13.07 11.71 9.99 6.96 8.87 9.93 10.02 9.89 10.01 9.97 3.23 4.85 4.45 7.46 8.83 10.10 10.04 10.07 10.06 10.02 4.93 5.04 5.59 5.80 10.36 10.17 10.14 10.08 10.08 10.04 13.75 12.32 12.19 12.08 8.87 9.98 9.93 10.02 9.94 9.95 Aplicando el desarrollo teórico, se va a hacer un estudio con estos datos y los distintos métodos de análisis conjunto de reducción de la dimensión y agrupamiento, se estudiará la estabilidad de cada uno y se podrán comparar los distintos resultados. CAPÍTULO 3. ILUSTRACIÓN DE LA TÉCNICA ESTADÍSTICA Y LA LIBRERÍA CLUSTRD 11 3.2. K-MEDIAS REDUCIDAS 3.2. K-medias reducidas A continuación, como los datos se han generado de forma que estén repartidos en 4 grupos con medias distintas, tendría sentido considerar las K-medias reducidas con 4 grupos. Además, el estudio se realiza para 2 dimensiones después de 10 soluciones iniciales aleatorias, y así poder dibujarlo. Se usará la rotación ‘varimax’ con normalización Kaiser en el método. set.seed(47567) RKM =cluspca(X, 4,2,method = "RKM",rotation = "varimax", scale = FALSE, nstart = 10) summary(RKM) ## Solution with 4 clusters of sizes 58 (29%), 51 (25.5%), 47 (23.5%), ## 44 (22%) in 2 dimensions. Variables were mean centered and ## unstandardized. ## ## Cluster centroids: ## Dim.1 Dim.2 ## Cluster 1 -1.0925 -3.2856 ## Cluster 2 -7.8148 4.8365 ## Cluster 3 7.5119 -4.7296 ## Cluster 4 2.4741 3.7771 ## ## Variable scores: ## Dim.1 Dim.2 ## V1 -0.2566 -0.1140 ## V2 -0.4446 -0.1438 ## V3 -0.4600 -0.1630 ## V4 -0.3555 -0.0399 ## V5 -0.2712 0.0288 ## V6 -0.1637 0.1485 ## V7 -0.0721 0.2245 ## V8 -0.2865 -0.0193 ## V9 -0.2938 0.1299 ## V10 -0.2748 0.2120 ## V11 -0.1770 0.3375 ## V12 -0.0927 0.3998 ## V13 0.0208 0.5245 ## V14 0.0856 0.4871 ## V15 -0.0252 0.0747 ## V16 -0.0132 -0.0490 ## V17 -0.0121 -0.0454 ## V18 -0.0128 -0.0467 ## V19 -0.0123 -0.0475 ## V20 -0.0122 -0.0453 12 CAPÍTULO 3. ILUSTRACIÓN DE LA TÉCNICA ESTADÍSTICA Y LA LIBRERÍA CLUSTRD 3.2. K-MEDIAS REDUCIDAS ## ## Within cluster sum of squares by cluster: ## [1] 848.2987 1232.4273 956.7397 676.0764 ## (between_SS / total_SS = 72.11 %) ## ... ## ## Objective criterion value: 4168.8901 ## ## Available output: ## ## [1] "obscoord" "attcoord" "centroid" "cluster" "criterion" "size" ## [7] "odata" "scale" "center" "nstart" El vector de clusters: ## [1] 1 3 2 3 3 2 3 2 3 1 1 4 1 3 1 1 1 1 2 3 1 4 3 3 4 2 1 2 2 3 3 3 ## [33] 1 4 2 2 2 3 4 4 4 3 4 1 3 4 1 3 1 2 2 4 1 4 1 4 1 1 3 2 2 2 2 1 ## [65] 1 2 1 1 3 3 1 2 3 2 2 3 1 1 2 2 1 1 1 2 2 2 3 1 4 1 1 3 1 3 1 2 ## [97] 2 1 1 1 1 3 3 1 3 1 1 1 1 1 3 2 4 1 3 2 3 2 3 2 3 3 4 1 2 4 1 2 ##[129]22413341214111113113322334244142 ##[161]42243434324424423443124444223424 ## [193] 2 2 4 4 3 4 4 4 Del resumen se obtiene que en el primer grupo hay 58 observaciones, es decir el 29 % de ellas; en el segundo 51 (25.5 %); en el tercero 47 (23.5 %), y por último, en el cuarto están 44 de las observaciones (22 %). La suma de cuadrados representa una medida de variación o desviación con respecto a la media. Se calcula como una suma de los cuadrados de las diferencias con respecto a la media. Se tiene que la suma de cuadrados total se descompone en suma de cuadrados entre los grupos más suma de cuadrados dentro de los grupos. SCT otal =SCEntre +SCDentro Por tanto, mientras más cercana a 1 sea la razón SCEntre SCT otal , mayor será la suma de cuadrados entre los grupos. Esto quiere decir que la agrupación es bastante buena, los grupos están bien separados e identificados, es decir, no hay gran dispersión de cruces entre los grupos. En este caso, la razón es un 72.11 %, por lo que los grupos formados por la técnica estadística están bien “separados”. De hecho, se definía el conjunto de datos con unos tamaños de grupo de, 60, 40, 55 y 45. Así, a priori se puede observar que además de que la separación sea precisa, los tamaños de los grupos que se han formado no difieren mucho de los que se definieron. Por otra parte, la técnica estadística proporciona los siguientes coeficientes de las componentes principales: CAPÍTULO 3. ILUSTRACIÓN DE LA TÉCNICA ESTADÍSTICA Y LA LIBRERÍA CLUSTRD 13 3.2. K-MEDIAS REDUCIDAS RKM$attcoord Tabla 3.3: Coeficientes de las componentes principales V1 -0.2566460 -0.1140482 V2 -0.4445527 -0.1437993 V3 -0.4599696 -0.1630126 V4 -0.3554852 -0.0399189 V5 -0.2712129 0.0287599 V6 -0.1637166 0.1485114 V7 -0.0720674 0.2245340 V8 -0.2864821 -0.0193395 V9 -0.2938243 0.1299055 V10 -0.2747663 0.2120189 V11 -0.1770165 0.3375437 V12 -0.0927285 0.3997820 V13 0.0207687 0.5245055 V14 0.0855849 0.4870953 V15 -0.0251771 0.0746623 V16 -0.0132401 -0.0489516 V17 -0.0121246 -0.0454287 V18 -0.0128170 -0.0466570 V19 -0.0123104 -0.0474836 V20 -0.0121651 -0.0453110 Se observa que la dimensión 1 está más correlada con las variables 2 y 3, además negativamente. Es decir, a menor valor de “V2” y “V3” mayor será el valor de la primera componente principal. Sin embargo, la dimensión 2 está correlada sobre todo con las variables 13 y 14, positivamente. Observando el siguiente gráfico se concluye que la dimensión 1 separa los clusters 1 y 2 del 3 y 4. La dimensión 2 diferencia significativamente a los grupos 2 y 4 frente a los grupos 1 y 3. Por tanto, conjuntamente todos los grupos están separados. Del segundo gráfico, perfiles medios de los clusters en las variables originales, se puede concluir finalmente que el están bien diferenciados el cluster 1 del 4 y el cluster 2 del 3. Se tiene que el grupo 1 se caracteriza por un crecimiento de la media de las variables “V2” y “V3” y un decrecimiento de “13” y “V14”, mientras que el grupo 4 hace justo lo contrario, hay un crecimiento de la media de las variables “V13” y “V14” y un decrecimiento de “V2” y “V3”. Estas variables son justos las que diferenciaban las correlaciones de las dos dimensiones. Conclusiones similares se pueden obtener de la gráfica con los grupos 2 y 3. plot(RKM,cludesc = TRUE) 14 CAPÍTULO 3. ILUSTRACIÓN DE LA TÉCNICA ESTADÍSTICA Y LA LIBRERÍA CLUSTRD 3.2. K-MEDIAS REDUCIDAS C1 C2 C3 C4 V1 V2 V3 V4 V5 V6 V7 V8 V9 V10 V11 V12 V13 V14 V15 V16 V17 V18 V19 V20 Dim. 1 Dim. 2 −2 0 2 V1V2V3V4V5V6V7V8V9 V10 V11 V12 V13 V14 V15 V16 V17 V18 V19 V20 mean clusters all C1 (29%) C2 (25.5%) C3 (23.5%) C4 (22%) A continuación, se estudia la estabilidad como se había analizado anteriormente, buscando en un rango de 2 a 5 grupos y 2 dimensiones. Se toman 10 muestras bootstrap para ilustrar el procedimiento, aunque el número adecuado de muestras bootstrap debiera ser superior (nboot= 100,200. . . ). CAPÍTULO 3. ILUSTRACIÓN DE LA TÉCNICA ESTADÍSTICA Y LA LIBRERÍA CLUSTRD 15 3.2. K-MEDIAS REDUCIDAS boot_RKM =global_bootclus(X, nclusrange = 2:5,ndim = 2, method = "RKM",nboot = 10,nstart = 10,seed = 47567) boxplot(boot_RKM$rand, xlab = "Number of clusters",ylab = "adjusted Rand Index") 2 3 4 5 0.0 0.2 0.4 0.6 0.8 Number of clusters adjusted Rand Index Anteriormente en esta memoria se había recogido que para alcanzar estabilidad y fiabilidad en los resultados, lo ideal es que el índice de Rand tomara valores cercanos a 1. En este caso, al calcularlo para cada una de las diez muestras bootstrap, y aplicarle la media, se observa que las medias de los índices que más se acercan a 1 son para 2 y 3 grupos. Sin embargo para un número de grupos de 2, los índices están más dispersos, mientras que para 3 grupos están más centrados en la mediana. Por tanto, se puede considerar que 3 grupos garantiza más estabilidad que las demás opciones. Estas aparentes diferencias entre los grupos utilizados en la generación de datos y los resultados arriba recogidos se deben a tratar de conjugar detección de conglomerados y reducción de la dimensión. Recuérdese que por motivos de presentación de resultados e ilustración de los mismos, se han tomado sólo dos dimensiones. A través de estas dos dimensiones, las variables desde V15 a V20 no están bien representadas (véase la matriz de coeficientes que definen las componentes principales), por lo que la separación de los grupos o conglomerados no contemplan las diferencias ocasionadas por dichas varibales (véase el plot de los perfiles medios de las variables originales). Inicialmente, se podría haber elegido el número de grupos y de dimensiones apropiado, sin dar lugar a la subjetividad, con la función “tuneclus”. Aplicamos esta función, buscando en un rango de 3 a 5 grupos y de 2 a 5 dimensiones. 16 CAPÍTULO 3. ILUSTRACIÓN DE LA TÉCNICA ESTADÍSTICA Y LA LIBRERÍA CLUSTRD 3.3. K-MEDIAS FACTORIALES set.seed(47567) bestRKM =tuneclus(X, 3:5,2:5,method = "RKM", criterion = "asw",dst = "low",nstart = 1,seed = 47567) ## ## The best solution was obtained for 3 clusters of sizes 83 (41.5%), ## 62 (31%), 55 (27.5%) in 2 dimensions, for an average Silhouette ## width value of 0.532. Variables were mean centered and standardized. ## ## Cluster quality criterion values across the specified range of ## clusters (rows) and dimensions (columns): ## X2 X3 X4 X5 ## 3 0.532 ## 4 0.484 0.346 ## 5 0.511 0.359 0.316 ## ## The average Silhouette width values of each cluster are: ## [1] 0.57 0.53 0.48 ## ## Cluster centroids: ## Dim.1 Dim.2 ## Cluster 1 0.5566 2.3724 ## Cluster 2 2.4079 -2.1898 ## Cluster 3 -3.5543 -1.1117 ## ## Within cluster sum of squares by cluster: ## [1] 261.0290 226.0978 339.7259 ## (between_SS / total_SS = 69.82 %) ## ## Objective criterion value: 1033.7763 ## ## Available output: ## ## [1] "clusobjbest" "nclusbest" "ndimbest" "critbest" "critgrid" ## [6] "crit" "cluasw" Se obtiene que la mejor solución es para 3 grupos de tamaños 83 (41.5 %), 62 (31 %), 55 (27.5 %) en 2 dimensiones. Aunque la razón SCEntre SCT otal es de 69,82 %, menor que la que habíamos obtenido anteriormente. 3.3. K-medias factoriales Ahora que tenemos una solución, por “k-medias” reducidas, podemos usar esta como solución inicial del método de “k-medias” factoriales. CAPÍTULO 3. ILUSTRACIÓN DE LA TÉCNICA ESTADÍSTICA Y LA LIBRERÍA CLUSTRD 17 4.1. DATOS Tabla 4.1: Las primeras observaciones del conjunto de datos GDP LI UR IR TB NNS Australia 4.8 8.4 8.1 5.32 0.7 4.7 Canada 3.2 2.5 8.4 5.02 1.6 5.2 Finland 3.9 -1.0 11.8 3.60 8.8 7.7 France 2.3 0.7 11.7 3.69 3.9 7.3 Spain 3.6 2.5 19.0 4.83 1.2 9.6 Sweden 4.1 1.1 8.9 4.20 7.0 4.0 USA 4.1 1.4 4.5 5.59 -1.4 7.0 Netherlands 2.9 1.6 4.2 3.69 7.0 15.8 Greece 3.2 0.6 10.3 11.70 -8.3 8.0 Mexico 2.3 5.6 3.2 20.99 0.0 12.7 4.1.2. iris Descripción Datos sobre las medidas en centímetros del ancho y el largo del sépalo y el pétalo de 50 flores de 3 especies de lirios. Uso data(iris) Tabla 4.2: Las primeras observaciones del conjunto de datos Sepal.Length Sepal.Width Petal.Length Petal.Width Species 5.1 3.5 1.4 0.2 setosa 4.9 3.0 1.4 0.2 setosa 4.7 3.2 1.3 0.2 setosa 4.6 3.1 1.5 0.2 setosa 5.0 3.6 1.4 0.2 setosa 5.4 3.9 1.7 0.4 setosa 4.6 3.4 1.4 0.3 setosa 5.0 3.4 1.5 0.2 setosa 4.4 2.9 1.4 0.2 setosa 4.9 3.1 1.5 0.1 setosa Formato Conjunto de datos con 150 casos y 5 variables: “Sepal.Length”, “Sepal.Width”, “Petal.Length”, “Petal.Width”, y “Species”, todas numéricas excepto la variable que representa a las especies que es un factor con 3 niveles. 24 CAPÍTULO 4. IMPLEMENTACIÓN EN R E ILUSTRACIONES 4.2. FUNCIONES 4.2. Funciones Las funciones que se describen a continuación son las que se han usado principalmente. Entre ellas están la implementación del método de las k-medias con componentes principales, funciones para medir la estabilidad, representaciones gráficas, y procesos de selección del número y dimensión de grupos para la calidad de estos. 4.2.1. cluspca Descripción Implementa las k-medias factoriales y las k-medias reducidas, además de una mezcla de ambos métodos. Todos estos, combinan el análisis de componentes principales con las k-medias para la agrupación. Uso cluspca(data, nclus, ndim, alpha = NULL, method = c("RKM","FKM"), center = TRUE, scale = TRUE, rotation = "none", nstart = 100, smartStart = NULL, seed = NULL) print(x, ...) summary(object, ...) fitted(object, mth = c("centers", "classes"), ...) Argumentos •data: Conjunto de datos con variables métricas. •nclus: Número de clusters. •ndim: Dimensionalidad de la solución. •method: RKM para las k-medias reducidas y FKM para las k-medias factoriales, por defecto es RKM. •alpha: Se ajusta por la importancia relativa de RKM y FKM en la función objetivo; alfa = 0,5 conduce a K-medias reducidas, alfa = 0 a K-medias factoriales y alfa = 1 se reduce al método ‘tandem’ (Componentes principales seguido de k-medias) •center: Valor lógico que indica si las variables deberían estar centradas (el valor por defecto es TRUE). •scale: Valor lógico que indica si las variables deberían escalarse para tener varianza 1 (por defecto TRUE). •rotation: Método a usar para rotar los factores. Si no se requiere rotar la opción es none,varimax para la rotación ‘varimax’ con normalización Kaiser, ypromax para la rotación ‘promax’ (por defecto none). CAPÍTULO 4. IMPLEMENTACIÓN EN R E ILUSTRACIONES 25 4.2. FUNCIONES •nstart: Partición inicial (por defecto 100) •smartStart: Solución inicial, si el valor es NULL se genera un vector aleatorio con los miembros de los cluster. También se puede proporcionar tal vector para la solución inicial. •seed: Un número entero que ‘set.seed()’ utiliza como argumento para compensar el generador de números aleatorios cuando smartStart = NULL. El valor por defecto es NULL. •. . . Para más opciones véase la ayuda de R (no se usan en el desarrollo de este trabajo). Ejemplo con el conjunto de datos macro •K-medias reducidas con 3 grupos en 2 dimensiones después de 10 soluciones iniciales aleatorias. data(macro) set.seed(4756) RKM =cluspca(macro, 3,2,method = "RKM",rotation = "varimax", scale = FALSE, nstart = 10) summary(RKM) ## Solution with 3 clusters of sizes 11 (55%), 7 (35%), 2 (10%) ## in 2 dimensions. Variables were mean centered and unstandardized. ## ## Cluster centroids: ## Dim.1 Dim.2 ## Cluster 1 1.2234 -3.4508 ## Cluster 2 1.6791 5.3908 ## Cluster 3 -12.6058 0.1118 ## ## Variable scores: ## Dim.1 Dim.2 ## GDP -0.0361 -0.1311 ## LI -0.1330 -0.1462 ## UR 0.0710 -0.5319 ## IR -0.8631 -0.1366 ## TB 0.4751 -0.0963 ## NNS -0.0726 0.8066 ## ## Within cluster sum of squares by cluster: ## [1] 97.7489 76.0490 27.3520 ## (between_SS / total_SS = 77.39 %) ## ## Clustering vector: ## Australia Canada Finland France Spain 26 CAPÍTULO 4. IMPLEMENTACIÓN EN R E ILUSTRACIONES 4.2. FUNCIONES ## 1 1 1 1 1 ## USA Netherlands Greece Mexico Portugal ## 1 2 3 3 2 ## Austria Belgium Denmark Germany Italy ## 2 2 1 1 1 ## Japan Norway Switzerland UK Sweden ## 2 2 2 1 1 ## ## Objective criterion value: 446.2309 ## ## Available output: ## ## [1] "obscoord" "attcoord" "centroid" "cluster" "criterion" "size" ## [7] "odata" "scale" "center" "nstart" La solución contiene varios valores: Coordenadas de la muestra RKM$obscoord Tabla 4.3: Coordenadas de la muestra Australia -1.0584971 -5.1681273 Canada 0.4553695 -3.8977757 Finland 5.6021298 -3.7690854 France 3.0499438 -3.6177276 Spain 0.8486124 -5.9743441 Sweden 4.0050680 -5.4530046 USA -1.7558191 -0.1176771 Netherlands 3.2318270 6.7186737 Greece -9.8294356 -2.3310583 Mexico -15.3822261 2.5546929 Portugal -3.8259770 7.5930243 Austria 0.1893509 2.3840256 Belgium 2.9977218 1.7968923 Denmark 2.0810112 -2.0110873 Germany 2.0943440 -1.3093115 Italy 1.3512320 -3.2315933 Japan 2.6687983 6.9271056 Norway 2.7401596 6.8154791 Switzerland 3.7519833 5.5001930 UK -3.2155967 -3.4092943 Los coeficientes de las componentes principales CAPÍTULO 4. IMPLEMENTACIÓN EN R E ILUSTRACIONES 27 4.2. FUNCIONES RKM$attcoord Tabla 4.4: Coeficientes de las componentes principales GDP -0.0360671 -0.1310725 LI -0.1329819 -0.1462009 UR 0.0710408 -0.5318615 IR -0.8631145 -0.1366110 TB 0.4751159 -0.0963140 NNS -0.0725701 0.8066162 Los centroides de los grupos RKM$centroid Tabla 4.5: Centroides de los grupos 1.223436 -3.4508208 1.679123 5.3907705 -12.605831 0.1118173 Pertenencia a cada grupo RKM$cluster ## Australia Canada Finland France Spain ## 1 1 1 1 1 ## Sweden USA Netherlands Greece Mexico ## 1 1 2 3 3 ## Portugal Austria Belgium Denmark Germany ## 2 2 2 1 1 ## Italy Japan Norway Switzerland UK ## 1 2 2 2 1 Valor óptimo de la función objetivo RKM$criterion ## [1] 446.2309 Número de observaciones en cada grupo 28 CAPÍTULO 4. IMPLEMENTACIÓN EN R E ILUSTRACIONES 4.2. FUNCIONES RKM$size ## [1] 11 7 2 Escala que se ha aplicado RKM$scale ## [1] FALSE Centrado que se ha aplicado RKM$center ## [1] TRUE Partición inicial que se ha aplicado RKM$nstart ## [1] 10 odata devuelve los datos iniciales Es decir, hay 3 grupos, uno con 11 observaciones (55 %), otro con 7 (35 %), y por último con 2 observaciones (10 %) en 2 dimensiones. La suma de cuadrados entre los grupos por cada uno de ellos es respectivamente 97.7489, 76.0490 y 27.3520. El valor de la función objetivo, 446.2309. Los centroides de los grupos son los vectores (1.2234, 1.6791, -12.6058) para la dimensión 1 y (-3.4508, 5.3908, 0.1118) para la dimensión 2. La primera componente es −0.0361 ·GDP −0.1330 ·LI + 0.0710 ·UR −0.8631 ·IR + 0.4751 ·TB −0.0726 ·NNS. La segunda componente es −0.1311 ·GDP −0.1462 ·LI −0.5319 ·UR −0.1366 ·IR − 0.0963 ·TB + 0.8066 ·NNS. Se puede obtener un diagrama de dispersión junto con un gráfico de coordenadas de los grupos que facilite su descripción, añadiendo la opción cludesc=TRUE. plot(RKM,cludesc = TRUE) CAPÍTULO 4. IMPLEMENTACIÓN EN R E ILUSTRACIONES 29 4.2. FUNCIONES Australia Canada Finland France Spain Sweden USA Netherlands Greece Mexico Portugal Austria Belgium Denmark Germany Italy Japan Norway Switzerland UK C1 C2 C3 GDP LI UR IR TB NNS Dim. 1 Dim. 2 −5 0 5 10 GDP LI UR IR TB NNS mean clusters all C1 (55%) C2 (35%) C3 (10%) Del primer gráfico se concluye que la dimensión 1 diferencia significativamente al cluster 3 de los demás, en el cual están Grecia y México. Además, esta dimensión se caracteriza principalmente por las variables IR y TB, a menor tasa de interés mayor es el valor de la componente, y a mayor balance comercial mayor es dicho valor. 30 CAPÍTULO 4. IMPLEMENTACIÓN EN R E ILUSTRACIONES 4.2. FUNCIONES La dimensión 2 diferencia significativamente al cluster 1 del 2. Está influenciada sobre todo por las variables UR y NNS, a mayor tasa de ahorro mayor es el valor de la componente, y a menor tasa de desempleo mayor es dicho valor. El segundo gráfico describe las medias de los grupos para cada variable y representa una línea más gruesa según el tamaño de los grupos. El primer cluster se caracteriza por un pequeño crecimiento de la tasa de desempleo y un descenso de la tasa nacional neta de ahorros. El segundo contiene a las ciudades con un descenso de la tasa de desempleo y crecimiento de la tasa nacional neta de ahorros. Por último, el tercer cluster representa a las ciudades con un gran incremento de la tasa de interés, y un gran descenso de la balanza comercial. K-medias factoriales con 3 grupos en 2 dimensiones con solución inicial por k-medias reducidas. Se obtienen los mismos valores que el caso anterior, esta vez para las k-medias factoriales, lo único que cambia es el método. set.seed(4756) FKM =cluspca(macro, 3,2,method = "FKM",rotation = "varimax", scale = FALSE, smartStart = RKM$cluster) summary(FKM) ## Solution with 3 clusters of sizes 8 (40%), 6 (30%), 6 (30%) ## in 2 dimensions. Variables were mean centered and unstandardized. ## ## Cluster centroids: ## Dim.1 Dim.2 ## Cluster 1 3.9473 1.2634 ## Cluster 2 -0.0878 -1.0575 ## Cluster 3 -5.1752 -0.6270 ## ## Variable scores: ## Dim.1 Dim.2 ## GDP -0.0980 0.9741 ## LI 0.1268 0.0860 ## UR -0.0900 -0.1941 ## IR 0.3913 0.0143 ## TB -0.0420 -0.0372 ## NNS -0.9008 -0.0665 ## ## Within cluster sum of squares by cluster: ## [1] 18.2995 8.4129 9.1766 ## (between_SS / total_SS = 89.54 %) ## ## Clustering vector: CAPÍTULO 4. IMPLEMENTACIÓN EN R E ILUSTRACIONES 31 4.2. FUNCIONES ## Australia Canada Finland France Spain ## 1 1 2 2 2 ## USA Netherlands Greece Mexico Portugal ## 1 3 1 1 3 ## Belgium Denmark Germany Italy Japan ## 3 1 2 2 3 ## Switzerland UK Sweden Austria Norway ## 3 1 1 2 3 ## ## Objective criterion value: 35.8891 ## ## Available output: ## ## [1] "obscoord" "attcoord" "centroid" "cluster" "criterion" "size" ## [7] "odata" "scale" "center" "nstart" plot(FKM, cludesc = TRUE) Australia Canada Finland France Spain Sweden USA Netherlands Greece Mexico Portugal Austria Belgium Denmark Germany Italy Japan Norway Switzerland UK C1 C2 C3 GDP LI UR IR TB NNS Dim. 1 Dim. 2 32 CAPÍTULO 4. IMPLEMENTACIÓN EN R E ILUSTRACIONES 4.2. FUNCIONES −2.5 0.0 2.5 5.0 GDP LI UR IR TB NNS mean clusters all C1 (40%) C2 (30%) C3 (30%) En este caso, el valor óptimo de la función objetivo es mucho menor, aunque en el gráfico es mucho menos aclarativo. Método Tandem Tandem =cluspca(macro, 3,2,alpha = 1,seed = 1234) summary(Tandem) ## Solution with 3 clusters of sizes 9 (45%), 7 (35%), 4 (20%) in ## 2 dimensions. Variables were mean centered and standardized. ## ## Cluster centroids: ## Dim.1 Dim.2 ## Cluster 1 1.2074 -0.2373 ## Cluster 2 -1.2317 -0.7097 ## Cluster 3 -0.5612 1.7761 ## ## Variable scores: ## Dim.1 Dim.2 ## GDP -0.5692 0.0640 ## LI -0.1893 0.2296 ## UR -0.4927 -0.3681 ## IR -0.1765 0.6953 ## TB 0.0618 -0.5618 CAPÍTULO 4. IMPLEMENTACIÓN EN R E ILUSTRACIONES 33 4.2. FUNCIONES •what: Vector de 2 valores lógicos indicando el contenido de los gráficos.El primero contiene si se dibuja el diagrama de dispersión y los centroides, el segundo si se dibuja el círculo de correlación (por defecto c(TRUE,TRUE)). •cludesc: Valor lógico indicando si se crea el gráficco de coordenadas paralelas (por defecto FALSE). •. . . Para más opciones véase la ayuda de R (no se usan en el desarrollo de este trabajo). Ejemplo con el conjunto de datos macro data("macro") outFKM =cluspca(macro, 3,2,method = "FKM",rotation = "varimax") plot(outFKM, cludesc = TRUE) Australia Canada Finland France Spain Sweden USA Netherlands Greece Mexico Portugal Austria Belgium Denmark Germany Italy Japan Norway Switzerland UK C1 C2 C3 GDP LI UR IR TB NNS Dim. 1 Dim. 2 40 CAPÍTULO 4. IMPLEMENTACIÓN EN R E ILUSTRACIONES 4.2. FUNCIONES −1.0 −0.5 0.0 0.5 1.0 GDP LI UR IR TB NNS mean clusters all C1 (45%) C2 (30%) C3 (25%) Ejemplo con el conjunto de datos iris data("iris",package = "datasets") outclusPCA =cluspca(iris[,-5], 3,2,alpha = 0.3,rotation = "varimax") table(outclusPCA$cluster,iris[,5]) ## ## setosa versicolor virginica ## 1 0 6 44 ## 2 0 44 6 ## 3 50 0 0 CAPÍTULO 4. IMPLEMENTACIÓN EN R E ILUSTRACIONES 41 4.2. FUNCIONES map =plot(outclusPCA)$map C1 C2 C3 Sepal.Length Sepal.Width Petal.Length Petal.Width Dim. 1 Dim. 2 map + ggtitle(paste("A compromise solution between RKM and FKM on the iris: 3 clusters of sizes ", paste(outclusPCA$size, collapse = ", "),sep = "")) + xlab("Dimension 1") + ylab("Dimension 2") + theme(plot.title = element_text(size = 10,face = "bold",hjust = 0.5)) 42 CAPÍTULO 4. IMPLEMENTACIÓN EN R E ILUSTRACIONES 4.2. FUNCIONES C1 C2 C3 Sepal.Length Sepal.Width Petal.Length Petal.Width Dimension 1 Dimension 2 A compromise solution between RKM and FKM on the iris: 3 clusters of sizes 50, 50, 50 4.2.4. tuneclus Descripción Ayuda en la elección del número de grupos y dimensiones apropiados para los métodos conjuntos de reducción de la dimensión y conglomerados. Uso tuneclus(data, nclusrange = 3:4, ndimrange = 2:3, method = c("RKM","FKM","mixedRKM","mixedFKM","clusCA","iFCB","MCAk"), criterion = "asw", dst = "full", alpha = NULL, alphak = NULL, center = TRUE, scale = TRUE, rotation = "none", nstart = 100, smartStart = NULL, seed = NULL) print(x, ...) summary(object, ...) fitted(object, mth = c("centers", "classes"), ...) Argumentos •data: Conjunto de datos. CAPÍTULO 4. IMPLEMENTACIÓN EN R E ILUSTRACIONES 43 4.2. FUNCIONES •nclusrange: Un vector entero con el rango de números de conglomerados que se van a comparar según los criterios de validez del conglomerado. El número de grupos debe ser mayor que uno. •ndimrange: Un vector entero con el rango de dimensiones que se van a comparar según los criterios de validez del conglomerado. •method: RKM para las k-medias reducidas, FKM para las k-medias factoriales, mixedRKM para las K-medias reducidas mixtas, mixedFKM para las k-medias factoriales mixtas. •criterion: Determina si se utiliza el ancho de silueta promedio, el índice de Calinski-Harabasz o el valor objetivo del método seleccionado. (asw,ch ocrit) •dst: Datos usados para las distancias entre objetos. full para los datos originales, low para las puntuaciones de objetos en el espacio de baja dimensión. •alpha: Se ajusta por la importancia relativa de RKM y FKM en la función objetivo; alpha =1 se reduce a las componentes principales, alpha = 0,5 conduce a K-medias reducidas, alpha = 0 a K-medias factoriales. •center: Valor lógico que indica si las variables deberían estar centradas (el valor por defecto es TRUE). •scale: Valor lógico que indica si las variables deberían escalarse para tener varianza 1 (por defecto TRUE). •rotation: Método a usar para rotar los factores. Si no se requiere rotar la opción es none,varimax para la rotación ‘varimax’ con normalización Kaiser, ypromax para la rotación ‘promax’ (por defecto none). •nstart: Partición inicial (por defecto 100) •smartStart: Solución inicial, si el valor es NULL se genera un vector aleatorio con los miembros de los cluster. También se puede proporcionar tal vector para la solución inicial. •seed: Un número entero que ‘set.seed()’ utiliza como argumento para compensar el generador de números aleatorios cuando smartStart = NULL. El valor por defecto es NULL. •. . . Para más opciones véase la ayuda de R (no se usan en el desarrollo de este trabajo). Ejemplo con el conjunto de datos macro. Vamos a usar k-medias reducidas para un rango de conglomerados y dimensiones. data(macro) bestRKM =tuneclus(macro, 3:4,2:3,method = "RKM", criterion = "asw",dst = "low",nstart = 1,seed = 1234) bestRKM 44 CAPÍTULO 4. IMPLEMENTACIÓN EN R E ILUSTRACIONES 4.2. FUNCIONES ## ## The best solution was obtained for 4 clusters of sizes 8 (40%), ## 7 (35%), 4 (20%), 1 (5%) in 2 dimensions, for an average Silhouette ## width value of 0.447. Variables were mean centered and standardized. ## ## Cluster quality criterion values across the specified range of ## clusters (rows) and dimensions (columns): ## X2 X3 ## 3 0.438 ## 4 0.447 0.366 ## ## The average Silhouette width values of each cluster are: ## [1] 0.44 0.30 0.82 0.00 ## ## Cluster centroids: ## Dim.1 Dim.2 ## Cluster 1 0.2276 0.7846 ## Cluster 2 -1.1795 0.0504 ## Cluster 3 1.8944 -0.7067 ## Cluster 4 -1.1418 -3.8030 ## ## Within cluster sum of squares by cluster: ## [1] 3.2991 5.0376 0.2820 0.0000 ## (between_SS / total_SS = 84.56 %) ## ## Objective criterion value: 33.3921 ## ## Available output: ## ## [1] "clusobjbest" "nclusbest" "ndimbest" "critbest" "critgrid" ## [6] "crit" "cluasw" La solución proporciona los siguientes valores: La salida de aplicar la función cluspca() a los valores óptimos obtenidos bestRKM$clusobjbest ## Solution with 4 clusters of sizes 8 (40%), 7 (35%), 4 (20%), ## 1 (5%) in 2 dimensions. Variables were mean centered and ## standardized. ## ## Cluster centroids: ## Dim.1 Dim.2 ## Cluster 1 0.2276 0.7846 ## Cluster 2 -1.1795 0.0504 ## Cluster 3 1.8944 -0.7067 CAPÍTULO 4. IMPLEMENTACIÓN EN R E ILUSTRACIONES 45 4.2. FUNCIONES ## Cluster 4 -1.1418 -3.8030 ## ## Variable scores: ## Dim.1 Dim.2 ## GDP -0.4437 0.0233 ## LI -0.0292 -0.3927 ## UR -0.2886 0.4374 ## IR -0.4475 -0.6508 ## TB 0.5334 0.1120 ## NNS 0.4840 -0.4667 ## ## Within cluster sum of squares by cluster: ## [1] 3.2991 5.0376 0.2820 0.0000 ## (between_SS / total_SS = 84.56 %) ## ## Objective criterion value: 33.3921 ## ## Available output: ## ## [1] "obscoord" "attcoord" "centroid" "cluster" "criterion" ## [6] "size" "odata" "scale" "center" "nstart" El número óptimo de conglomerados bestRKM$nclusbest ## [1] 4 El número óptimo de dimensiones bestRKM$ndimbest ## [1] 2 El valor óptimo de la función objetivo para ese número de grupos y dimensiones bestRKM$critbest ## [1] 0.447 Matriz con el número de grupos como número de filas, y número de dimensión como número de columnas, con los valores de la función objetivo para cada rango de grupos y dimensiones (los valores se calculan solo cuando el número de conglomerados es mayor que el número de dimensiones; de lo contrario, los valores en la cuadrícula se dejan en blanco) 46 CAPÍTULO 4. IMPLEMENTACIÓN EN R E ILUSTRACIONES 4.2. FUNCIONES bestRKM$critgrid ## X2 X3 ## 3 0.438 ## 4 0.447 0.366 Criterio usado bestRKM$crit ## [1] "asw" Si el criterio es asw, los valores de la anchura de la silueta media de cada cluster bestRKM$cluasw ## 1 2 3 4 ## 0.4449866 0.2998814 0.8183656 0.0000000 plot(bestRKM) Australia Canada Finland France Spain Sweden USA Netherlands Greece Mexico Portugal Austria Belgium Denmark Germany Italy Japan Norway Switzerland UK C1 C2 C3 C4 GDP LI UR IR TB NNS Dim. 1 Dim. 2 ## $map CAPÍTULO 4. IMPLEMENTACIÓN EN R E ILUSTRACIONES 47 4.2. FUNCIONES Australia Canada Finland France Spain Sweden USA Netherlands Greece Mexico Portugal Austria Belgium Denmark Germany Italy Japan Norway Switzerland UK C1 C2 C3 C4 GDP LI UR IR TB NNS Dim. 1 Dim. 2 48 CAPÍTULO 4. IMPLEMENTACIÓN EN R E ILUSTRACIONES Apéndice A Apéndice: Resultados teóricos necesarios A.1. Relación Norma Frobenius y Traza Sea Auna matriz n×m, su norma de Frobenius viene dada por, ∥A∥F:= ( n X i=1 m X j=1 |aij|2)1/2∥A∥2 F= n X i=1 ( m X j=1 aijaij) Si tenemos en cuenta, A= (aij)1≤i≤n,1≤j≤mA⊤= (aji)1≤i≤n,1≤j≤m= (a∗ ij) Entonces, aij =a∗ ji y desarollando, ∥A∥2 F= n X i=1 ( m X j=1 aija∗ ji) = n X i=1 (AA⊤)ii =Tr(AA⊤) = Tr(A⊤A) En conclusión, ∥A∥F:= (Tr(A⊤A))1/2 A.2. Factorización en autovalores y autovectores Sea Auna matriz cuadrada de dimensión Q×Q, se tiene Av =λv donde λes un autovalor de Ayves su autovector asociado, por lo que v⊤Av =v⊤λv. Además, traza(A) = PQ i=1 λi. 49