Creando grupos y tipologÃas
Beatriz Valdez
17 de febrero de 2017
En ocasiones es necesario crear grupos a partir de algunas caracterÃsticas especÃficas para, por ejemplo, aplicar una polÃtica pública. De vez en cuando ontamos con taxonomÃas que pueden ayudarnos en esta tarea. Pero no siempre sucede esto, o el volumen de datos es tal, que aplicar la taxonomÃa en forma manual resulta engorroso. El análisis de cluster resulta una herramienta de gran ayuda en estos casos. Nos permite:
- obtener grupos homogéneos respecto a la(s) varible(s) utilizada(s) para generar la caracterización, y, a la vez
- grupos heterogéneos en tanto que son distintos entre ellos, de acuerdo con esa(s) variable(s) empleada(s)
AsÃ, en un municipio y tomando en consideración la topografÃa, los habitantes, y otras caracterÃstica, habrá parroquias que sean más parecidas entre sà -grupos homogéneos- y, al mismo tiempo, muy diferentes de otras parroquias -grupos heterogéneos.
Procedimiento
Seleccionar la muestra
Seleccionar las variables
Transformar, de ser necesario las variables
Seleccionar las medidas que permitirán la creación de grupos homogéneos y heterogéneos
Seleccionar y aplicar los criterios de agrupación
Seleccionar el número de grupos
La muestra se elige dependiendo de los objetivos del análisis. Ejemplo:
- encontrar áreas homogéneas en barrio/urbanización/parroquia/municipio: zonas en las que las caracterÃsticas de las viviendas sean comunes, para analizar si,
- las principales caracterÃsticas de las personas que habitan esas viviendas también son similares
Un estudio de este tipo de incluir caracterÃsticas de la vivienda y datos sociodemográfico de las personas.
Las variables deben ser relevantes. De lo contrario, se obtendrán individuo atÃpicos. Una serie de variables tiende a revelar una estructura especÃfica. Y suele haber una estructura que se manifiesta en un grupo de variable. Si abundan los casos atÃpicos, se pierde o no se logra visualizar la estructura.
Si las variables se expresan en escalas diferentes, es necesario homogeneizarlas.
Dependiendo del tipo de variable (intervalo, razón, ordinal, nominal), se eligen las distancias: euclÃdea, manhathan, entre otras. Y para formar los grupos, existen también diversos procedimientos.
Aplicación
Para crear los clusters, lo primero que necesitamos es crear la distancia. La distancia nos permitirá establecer la similitud y la diferencia entre los elementos del marco de datos. Usemos la data USArrests.
# empleamos la base de datos sobre tasa de crimenes violentos en los
# Estados Unidos, por cada 100 mil habitantes
head(USArrests)
## Murder Assault UrbanPop Rape
## Alabama 13.2 236 58 21.2
## Alaska 10.0 263 48 44.5
## Arizona 8.1 294 80 31.0
## Arkansas 8.8 190 50 19.5
## California 9.0 276 91 40.6
## Colorado 7.9 204 78 38.7
#copiamos este marco de dato y colocamos los nombres en castellano
arrestos <-USArrests
names(arrestos)<-c('asesinato', 'asalto', 'pobUrbana', 'violacion')
names(arrestos)
## [1] "asesinato" "asalto" "pobUrbana" "violacion"
Se crea primero la distancia con la función dist()
# se debe crear primero la distancia. Necesitamos un method para crear
#las distancias. Usaremos el metodo por defecto: distancia euclidea
# el metodo por defecto
arrestosDist <- dist(arrestos)
# creamos ahora la aglomeracion de los elementos. Empleamos tambien el
# metodo por defecto
arrestosHclust <- hclust(arrestosDist)
Tenemos todos los elementos necesarios para crear el cluster. Podemos ahora crear el gráfico, el dendograma
plot(arrestosHclust)
De acuerdo con el gráfico, existen marcadas diferencias entre Florida y North Carolina con North Dakota y Vermont. En forma intuitiva sabemos que estos grupos representan valores opuestos. Adicionalmente, sabemos que los grupos centrales se diferencia entre sà por su proximidad o lejanÃa de estos dos grupos extremos.
Para facilitar la visualizacion del numero de grupos desedos, podemos emplear la funcion rect.hclust. Vamos a pedir 5 grupos
plot(arrestosHclust)
rect.hclust(arrestosHclust, 5)
Cada grupo es homogéneo en su interior y heterogéneo con respecto al resto de los grupos. Aquà hemos pedido la identificación de 5 grupos. Nótese que Florida y North Carolina tienen caracterÃsticas tan particulares, que esas dos observaciones forman un grupo.
Podemos extraer los diferentes grupos, con lo que podrÃamos elaborar un gráfico distintos, por ejemplo
# Grupos
grupos <-cutree(arrestosHclust, 5)
# podemos obtener el numero de casos en cada cluster
table(grupos)
## grupos
## 1 2 3 4 5
## 14 14 10 2 10
El primero y segundo grupo contienen 14 observaciones; el tercero y el quinto, 10, en tanto que el grupo 4 contiene dos informaciones.
arrestosHclust
##
## Call:
## hclust(d = arrestosDist)
##
## Cluster method : complete
## Distance : euclidean
## Number of objects: 50
arrestosHclust$merge
## [,1] [,2]
## [1,] -15 -29
## [2,] -17 -26
## [3,] -14 -16
## [4,] -13 -32
## [5,] -35 -44
## [6,] -36 -46
## [7,] -7 -38
## [8,] -19 -41
## [9,] -49 1
## [10,] -21 -30
## [11,] -37 6
## [12,] -4 -42
## [13,] -48 8
## [14,] -34 -45
## [15,] -22 -28
## [16,] -27 2
## [17,] -3 -31
## [18,] -6 -43
## [19,] -12 3
## [20,] -1 -18
## [21,] -50 11
## [22,] -20 17
## [23,] -8 20
## [24,] 5 7
## [25,] -23 9
## [26,] 16 19
## [27,] -24 -40
## [28,] 4 15
## [29,] -47 10
## [30,] -25 12
## [31,] -10 18
## [32,] -2 27
## [33,] 21 29
## [34,] 24 26
## [35,] -11 25
## [36,] -5 28
## [37,] 30 31
## [38,] -39 33
## [39,] -9 -33
## [40,] 13 14
## [41,] 23 32
## [42,] 22 36
## [43,] 35 40
## [44,] 41 42
## [45,] 37 38
## [46,] 34 43
## [47,] 39 44
## [48,] 45 46
## [49,] 47 48
h.cl<-arrestosHclust$height
h.cl2<-c(0,h.cl[-length(h.cl)])
round(h.cl-h.cl2,3)
## [1] 2.291 1.543 0.095 2.308 0.401 0.717 0.672 0.510
## [9] 2.322 0.596 0.969 0.189 0.161 0.270 0.252 0.052
## [17] 0.547 0.605 0.907 0.047 0.176 0.260 1.087 1.288
## [25] 1.173 0.467 1.263 1.199 0.401 2.128 0.199 3.542
## [33] 0.616 2.226 0.143 1.098 4.016 0.113 1.680 2.960
## [41] 7.237 4.868 3.678 7.723 3.769 18.564 15.535 65.750
## [49] 125.011
max(round(h.cl-h.cl2,3))
## [1] 125.011
which.max(round(h.cl-h.cl2,3))
## [1] 49
No hay comentarios.:
Publicar un comentario