El Análisis Cluster, conocido como Análisis de Conglomerados, es una técnica estadística multivariante que busca agrupar elementos (o variables) tratando de lograr la máxima homogeneidad en cada grupo y la mayor diferencia entre los grupos. Es un método estadístico multivariante de clasificación automática de datos.
A partir de una tabla de casos-variables, trata de situar los casos (individuos) en grupos homogéneos, conglomerados o clusters, no conocidos de antemano pero sugeridos por la propia esencia de los datos, de manera que individuos que puedan ser considerados similares sean asignados a un mismo cluster, mientras que individuos diferentes (disimilares) se localicen en clusters distintos.
La diferencia esencial con el análisis discriminante estriba en que en este último es necesario especificar previamente los grupos por un camino objetivo, ajeno a la medida de las variables en los casos de la muestra. El análisis cluster define grupos tan distintos como sea posible en función de los propios datos.
La creación de grupos basados en similaridad de casos exige una definición de este concepto, o de su complementario distancia entre individuos. La variedad de formas de medir diferencias multivariables o distancias entre casos proporciona diversas posibilidades de análisis. El empleo de ellas, y el de las que continuamente siguen apareciendo, así como de los algoritmos de clasificación, o diferentes reglas matemáticas para asignar los individuos a distintos grupos, depende del fenómeno estudiado y del conocimiento previo de posible agrupamiento que de él se tenga.
Puesto que la utilización del análisis cluster ya implica un desconocimiento o conocimiento incompleto de la clasificación de los datos, el investigador ha de ser consciente de la necesidad de emplear varios métodos, ninguno de ellos incuestionable, con el fin de contrastar los resultados.
El análisis clúster es una técnica multivariante cuya idea básica es clasificar objetos formando grupos/conglomerados (clúster) que sean lo más homogéneos posible dentro de si mismos y heterogéneos entre sí, es decir, que pertenece al equipo de tecnicas avanzadas en el analisis multivariado, donde la idea procipal es de ubicar patrones que en principio y fundamentalmente en grupos de individuos, en este caso
Surge ante la necesidad de diseñar una estrategia que permita definir grupos de objetos homogéneos. Este agrupamiento se basa en la idea de distancia o similitud entre las observaciones y la obtención de dichos clusters depende del criterio o distancia considerados, por ejemplo, una baraja de carta española se podría dividir de distintas formas: en dos clusters (figuras y números), en cuatro clusters (los cuatro palos), en ocho clusters (los cuatro palos y según sean figuras o números). Es decir, el número de clusters depende de lo que consideremos como similar.
La distancia euclídea entre dos puntos p y q se define como la longitud del segmento que une ambos puntos. En coordenadas cartesianas, la distancia euclídea se calcula empleando el teorema de Pitágoras. Por ejemplo, en un espacio de dos dimensiones en el que cada punto está definido por las coordenadas (x,y), la distancia euclídea entre p y q
Base de datos
Los cuadros que se encuentran en rojo tienen correlacion, este procedimiento se debe tener en cuenta para ver si los individuos se pueden someter a clusters
Calcular las distancias euclidianas
fviz_dist(m.d, gradient = list(low = "blue", mid = "white", high = "red"))
>El siguiente analisis se necesita para estimar el numero de clusters, como el metodo del codo, silueta y el gap stat, sonlas formulas tipicas para la estimacion de clusters,
fviz_nbclust(df, kmeans, method = "wss")
fviz_nbclust(df, kmeans, method = "silhouette")
fviz_nbclust(df, kmeans, method = "gap_stat")
Con el siguiente metodo el Programa R-studio calcula todos los estimadores y arroja los mejores, lo cual concluye que >>>El índice de Hubert es un método gráfico para determinar el número de conglomerados. En la gráfica del índice de Hubert buscamos una rodilla significativa que corresponda a un aumento significativo del valor de la medida, es decir, el pico significativo en Hubert gráfico de diferencias de segundo índice.
El índice D es un método gráfico para determinar el número de conglomerados. En la gráfica del índice D, buscamos una rodilla significativa (el pico significativo en Dindex segundo gráfico de diferencias) que corresponde a un aumento significativo del valor de la medida.
Según la regla de la mayoría, el mejor número de grupos es 2.
resnumclust<-NbClust(df, distance = "euclidean", min.nc=2, max.nc=10, method = "kmeans", index = "alllong")
## *** : 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.
##
## *** : 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:
## * 13 proposed 2 as the best number of clusters
## * 2 proposed 3 as the best number of clusters
## * 1 proposed 4 as the best number of clusters
## * 1 proposed 5 as the best number of clusters
## * 7 proposed 6 as the best number of clusters
## * 1 proposed 9 as the best number of clusters
## * 3 proposed 10 as the best number of clusters
##
## ***** Conclusion *****
##
## * According to the majority rule, the best number of clusters is 2
##
##
## *******************************************************************
fviz_nbclust(resnumclust)
## Warning in if (class(best_nc) == "numeric") print(best_nc) else if
## (class(best_nc) == : the condition has length > 1 and only the first element
## will be used
## Warning in if (class(best_nc) == "matrix") .viz_NbClust(x, print.summary, : the
## condition has length > 1 and only the first element will be used
## Warning in if (class(best_nc) == "numeric") print(best_nc) else if
## (class(best_nc) == : the condition has length > 1 and only the first element
## will be used
## Warning in if (class(best_nc) == "matrix") {: the condition has length > 1 and
## only the first element will be used
## Among all indices:
## ===================
## * 2 proposed 0 as the best number of clusters
## * 13 proposed 2 as the best number of clusters
## * 2 proposed 3 as the best number of clusters
## * 1 proposed 4 as the best number of clusters
## * 1 proposed 5 as the best number of clusters
## * 7 proposed 6 as the best number of clusters
## * 1 proposed 9 as the best number of clusters
## * 3 proposed 10 as the best number of clusters
##
## Conclusion
## =========================
## * According to the majority rule, the best number of clusters is 2 .
Segun el analisis, para el resultado se tomaron como base solo 2 clusters, el primer clusters se ubicarian los estados menos peligrosos y en el segundo ya los estados con la tasa mas alta de peligrosidad
#calculamos los dos clústers
k2 <- kmeans(df, centers = 2, nstart = 25)
k2
## K-means clustering with 2 clusters of sizes 30, 20
##
## Cluster means:
## Murder Assault UrbanPop Rape
## 1 -0.669956 -0.6758849 -0.1317235 -0.5646433
## 2 1.004934 1.0138274 0.1975853 0.8469650
##
## Clustering vector:
## Alabama Alaska Arizona Arkansas California
## 2 2 2 1 2
## Colorado Connecticut Delaware Florida Georgia
## 2 1 1 2 2
## Hawaii Idaho Illinois Indiana Iowa
## 1 1 2 1 1
## Kansas Kentucky Louisiana Maine Maryland
## 1 1 2 1 2
## Massachusetts Michigan Minnesota Mississippi Missouri
## 1 2 1 2 2
## Montana Nebraska Nevada New Hampshire New Jersey
## 1 1 2 1 1
## New Mexico New York North Carolina North Dakota Ohio
## 2 2 2 1 1
## Oklahoma Oregon Pennsylvania Rhode Island South Carolina
## 1 1 1 1 2
## South Dakota Tennessee Texas Utah Vermont
## 1 2 2 1 1
## Virginia Washington West Virginia Wisconsin Wyoming
## 1 1 1 1 1
##
## Within cluster sum of squares by cluster:
## [1] 56.11445 46.74796
## (between_SS / total_SS = 47.5 %)
##
## Available components:
##
## [1] "cluster" "centers" "totss" "withinss" "tot.withinss"
## [6] "betweenss" "size" "iter" "ifault"
str(k2)
## List of 9
## $ cluster : Named int [1:50] 2 2 2 1 2 2 1 1 2 2 ...
## ..- attr(*, "names")= chr [1:50] "Alabama" "Alaska" "Arizona" "Arkansas" ...
## $ centers : num [1:2, 1:4] -0.67 1.005 -0.676 1.014 -0.132 ...
## ..- attr(*, "dimnames")=List of 2
## .. ..$ : chr [1:2] "1" "2"
## .. ..$ : chr [1:4] "Murder" "Assault" "UrbanPop" "Rape"
## $ totss : num 196
## $ withinss : num [1:2] 56.1 46.7
## $ tot.withinss: num 103
## $ betweenss : num 93.1
## $ size : int [1:2] 30 20
## $ iter : int 1
## $ ifault : int 0
## - attr(*, "class")= chr "kmeans"
Este es el primer grafico de los clusters, los grupos de color azul se ubican los estados mas peligrosos, y los de colo rojo lo menos peligrosos
#plotear los cluster
fviz_cluster(k2, data = df)
En el siguiente grafico se mustra como se alejan los estados de los centroides, en el grupo de de los mas peligrosos el estado de mississippi se aleja bastanteal igual que el estado de california, en el grupo de los menos peligrosos el estado de arkansas y new jersey pasa de igual forma
fviz_cluster(k2, data = df, ellipse.type = "euclid",repel = TRUE,star.plot = TRUE) #ellipse.type= "t", "norm", "euclid"
En el siguiente grafico se puede visualizar los estados que alguna manera se visualizaban en los graficos anteriores y se encuentran muy cerca el uno del otro con base al clusters asignado
fviz_cluster(k2, data = df, ellipse.type = "norm")
fviz_cluster(k2, data = df, ellipse.type = "norm",palette = "Set2", ggtheme = theme_minimal())
En el siguiente grafico se ubican los estados mas y menos peligrosos en dos clusters, los de color rojo son los mas peligrosos y en color azul son los menos peligrosos
res2 <- hcut(df, k = 2, stand = TRUE)
fviz_dend(res2, rect = TRUE, cex = 0.5,
k_colors = c("red","#2E9FDF"))
res4 <- hcut(df, k = 4, stand = TRUE)
fviz_dend(res4, rect = TRUE, cex = 0.5,
k_colors = c("red","#2E9FDF","green","black"))
Se concluye que el analisis clusters es de gran utilidad para identificar aquellos patrones en los individuos para ubicarlos o clasificarlos segun su necesidad, un ejemplo claro es “la forma como se manifiestan esas fuentes de competitividad y cómo interactúan entre sí, que permite explicar cómo hacen las organizacioines para generar, mantener, o perder sus ventajas competitivas. Las organizaciones operan en entornos geográficos, económicos, sociales y culturales específicos, y el análisis de sus estrategias de competitividad actuales o potenciales, debe considerar ciertas características esenciales de esos entornos.”, los beneficios de los clusters se basa en principio a la optimizacion, conocimiento, confianza y productividad, ya que tener en claro la ayuda de estos analisis permiten a las organizaciones definir un gran numero de politicas y normas con base a los datos.
BIOGRAFIA
https://estadistica.net/Master-Econometria/Analisis_Cluster.pdf http://actualidadempresa.com/cluster-definicion-objetivo-beneficios-y-desarrollo/ ——————————–