En este trabajo hablaremos un poco sobre el paquete KAMILA, este paquete nos permiete combinar equitativamente variables continuas (cuantitativas) y categóricas (cualitativas) para el análisis de conglomerados. Las técnicas existentes requieren supuestos paramétricos sólidos o parámetros de ajuste difíciles de especificar. Describimos el paquete kamila, que incluye un enfoque de k-medias ponderadas para agrupar datos de tipo mixto, un método para estimar ponderaciones para datos de tipo mixto (ponderación ModhaSpangler) y un método semiparamétrico adicional recientemente propuesto en la literatura (KAMILA). Incluimos una discusión de las estrategias para estimar la cantidad de conglomerados en los datos y describimos la implementación de uno de estos métodos en el paquete R actual. Se presentan los antecedentes y el uso de estos métodos de agrupación. Luego mostramos cómo el algoritmo KAMILA se puede adaptar a un marco de reducción de mapa.
La imagen anterior nos muestra las variables categoricas (1 y 2) y las variables numéricas (v1 y v2) las cuales podemos observar como se encuentran los datos distribuidos de una manera balanceada. En este caso realizamos solo dos grupos (coloreados de rojo y negro). A continuación observemos la siguiente imagen de una base de datos no balanceados.
En el cual los cuadros de color blanco representan la base balanceada y los de color gris la base de datos no balanceados. Ademas, W representa el peso que usammos (W5/5 es un peso de 0.5 y W2/8 un peso de 0.2 para continuas y 0.8 categóricas), MS es Modha Spang y KAM es Kamila Clustering.
Como se puede ver usar ponderaciones iguals para el método de Weighted k-means tiene un índice mayor en los datos balanceados y un resultado opuesto cuando usamos la otra ponderacion.
Luego, cuando usamos datos balanceados ambos algoritmos parecen tener un índice igual. Sin embargo, cuando los datos no son balanceados (cuando las variables categóricas son mas informativas) el algoritmo de Kamila Clustering parece ser mejor.Usaremos una base de datos con 15 variables y 475 pacientes con cáncer de próstata. Veamos como se encuentra nuestra base de datos:
| Edad | Peso | Calificaciones de desempeño | Historia de la enfermedad cardiovascular | presión sanguínea sistólica | Presión sanguínea Diastólica | Código de electrocardiograma | Hemoglobina sérica | tamaño del tumor primario | Indice de estadio tumoral y grado histológico | Fosfatasa ácida prostática sérica | metástasis óseas | grado | observación | Estado de Supervivencia |
|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|
| 75 | 76 | 0 | 0 | 15 | 9 | 4 | 138 | 2 | 8 | 3 | 0 | 3 | 1 | 0 |
| 69 | 102 | 0 | 1 | 14 | 8 | 4 | 134 | 3 | 9 | 3 | 0 | 3 | 3 | 3 |
| 75 | 94 | 1 | 1 | 14 | 7 | 1 | 176 | 4 | 8 | 9 | 0 | 3 | 4 | 3 |
| 67 | 99 | 0 | 0 | 17 | 10 | 0 | 134 | 34 | 8 | 5 | 0 | 3 | 5 | 0 |
| 71 | 98 | 0 | 0 | 19 | 10 | 0 | 151 | 10 | 11 | 6 | 0 | 3 | 6 | 1 |
| 75 | 100 | 0 | 0 | 14 | 10 | 1 | 130 | 13 | 9 | 8 | 0 | 3 | 7 | 2 |
Lo primero que haremos es agrupar los datos y eliminaremos las variables de altura, peso, identificación y resultado. Luego, convertiremos las variables categóricas de enteros a factores. Teniendo ahora la siguiente base de datos:
| presión sanguínea sistólica | Presión sanguínea Diastólica | Hemoglobina sérica | tamaño del tumor primario | Indice de estadio tumoral y grado histológico | Fosfatasa ácida prostática sérica | Calificaciones de desempeño | Historia de la enfermedad cardiovascular | Código de electrocardiograma | metástasis óseas | grado |
|---|---|---|---|---|---|---|---|---|---|---|
| 15 | 9 | 138 | 2 | 8 | 1.098612 | 0 | 0 | 4 | 0 | 3 |
| 14 | 8 | 134 | 3 | 9 | 1.098612 | 0 | 1 | 4 | 0 | 3 |
| 14 | 7 | 176 | 4 | 8 | 2.197225 | 1 | 1 | 1 | 0 | 3 |
| 17 | 10 | 134 | 34 | 8 | 1.609438 | 0 | 0 | 0 | 0 | 3 |
| 19 | 10 | 151 | 10 | 11 | 1.791759 | 0 | 0 | 0 | 0 | 3 |
| 14 | 10 | 130 | 13 | 9 | 2.079442 | 0 | 0 | 1 | 0 | 3 |
Luego, podemos observar como se encuentran descritas nuestras variables continuas:
| presión sanguínea sistólica | Presión sanguínea Diastólica | Hemoglobina sérica | tamaño del tumor primario | Indice de estadio tumoral y grado histológico | Fosfatasa ácida prostática sérica | |
|---|---|---|---|---|---|---|
| Min. : 8.00 | Min. : 4.000 | Min. : 59.0 | Min. : 0.00 | Min. : 5.0 | Min. :0.000 | |
| 1st Qu.:13.00 | 1st Qu.: 7.000 | 1st Qu.:122.5 | 1st Qu.: 5.00 | 1st Qu.: 9.0 | 1st Qu.:1.609 | |
| Median :14.00 | Median : 8.000 | Median :137.0 | Median :10.00 | Median :10.0 | Median :1.946 | |
| Mean :14.38 | Mean : 8.158 | Mean :134.2 | Mean :14.29 | Mean :10.3 | Mean :2.639 | |
| 3rd Qu.:16.00 | 3rd Qu.: 9.000 | 3rd Qu.:147.0 | 3rd Qu.:21.00 | 3rd Qu.:11.0 | 3rd Qu.:3.384 | |
| Max. :30.00 | Max. :18.000 | Max. :182.0 | Max. :69.00 | Max. :15.0 | Max. :9.210 |
| Calificaciones de desempeño | Historia de la enfermedad cardiovascular | Código de electrocardiograma | metástasis óseas | grado | |
|---|---|---|---|---|---|
| 0:428 | 0:268 | 0:161 | 0:398 | 3:273 | |
| 1: 32 | 1:207 | 1: 23 | 1: 77 | 4:202 | |
| 2: 13 | NA | 2: 50 | NA | NA | |
| 3: 2 | NA | 3: 25 | NA | NA | |
| NA | NA | 4:145 | NA | NA | |
| NA | NA | 5: 70 | NA | NA | |
| NA | NA | 6: 1 | NA | NA |
Ahora, lo que haremos es normalizar los valores de las variables continuas y utilizando la distancia de Gower crearemos el cluster usando pamix. Primero veamos la siguiente imagen utilizando la distancia de Gower en la función de Modha Spangler: En este caso como podemos ver el mejor peso para la función objetivo de Modha Spangler es 0,82.
Ahora, procedemos hacer el cluster usando el Kamila. Veamos la siguiente tabla de resultados:
modhaSpangler
kamila 1 2 3
1 101 29 0
2 19 9 174
3 13 125 5
Comparando las particiones, vemos que el agrupamiento Modha-Spangler identifica una estructura sustancialmente similar en comparación con KAMILA. Sin embargo, observamos que KAMILA utiliza una estructura algorítmica más eficiente que no requiere una búsqueda de fuerza bruta para optimizar la contribución continua y categórica al agrupamiento resultante.
Parece que hay una fuerte relación entre la estructura del grupo identificada y la variable de resultado (supervivencia, que no se usó en la construcción de los grupos), que está respaldada por una prueba de bondad de ajuste de ji cuadrado:| Sobrevive | Muere por cáncer de Próstata | Otro tipo de muerte | |
|---|---|---|---|
| Cluster 1 | 24 | 11 | 95 |
| Cluster 2 | 46 | 90 | 66 |
| Cluster 3 | 67 | 20 | 56 |
Pearson's Chi-squared test
data: kamilaSurvTab
X-squared = 104.74, df = 4, p-value < 2.2e-16
El grupo 2 está compuesto por una alta proporción de pacientes que murieron por cáncer de próstata (el 74% de todos los pacientes en todo el conjunto de datos que murieron por cáncer de próstata), mientras que el grupo 1 está compuesto principalmente por pacientes que fallecieron debido a razones distintas al cáncer de próstata (73%). El grupo 3 contiene principalmente individuos que sobrevivieron o murieron debido a razones no relacionadas con el cáncer de próstata (86%).
Estas cifras sugieren que el agrupamiento captura la mortalidad específica de la enfermedad. Esto se ve respaldado por los resultados que se muestran en la Figura siguiente, en los que vemos que el grupo 2 parece contener una preponderancia de pacientes con altos índices de estadio / grado tumoral, mientras que los grupos 1 y 3 parecen incluir predominantemente pacientes con fosfatasa ácida prostática sérica baja y bajos índices de estadio / grado tumoral. Observemos la siguiente tabla:
Cluster 1 2 3
Metastasis Etapa del tumor
No Etapa 3 130 0 142
Etapa 4 0 126 0
Yes Etapa 3 0 0 1
Etapa 4 0 76 0
Podemos ver que la etapa del tumor y la metástasis ósea muestra relaciones sugestivas con otras variables. Por ejemplo, cada individuo en el grupo 2 de KAMILA tenía un tumor en la etapa 4, mientras que todos los individuos en los grupos 1 y 3 tenían tumores en la etapa 3. Todos, excepto un individuo con diseminación metastásica del tumor de próstata al hueso, se asignaron al grupo 2.
Si ahora corremos el cluster de KAMILA utilizando el método de prediccion fuerte tenemos que el número de clusters optimos es 2 solo que en este caso los grupos que tieníamos antes, 1 y 3 se fucionan en uno solo, los resultados los podemos observar en la figura y tabla siguientes:
kamila2
kamila3 1 2
1 130 0
2 0 202
3 143 0
Ahora, usaremos la base de datos de los cajeros de un Banco con distintas sucursarles ubicadas en el área de Quito.
Anteriormente ya se analizó esta base a profundidad, en este caso nos vamos a centrar en la aplicación de KAMILA para crear grupos y ver cuales son los cajeros buenos y malos. Además, compararemos los resultados para ver que tan efectivo es usar KAMILA y no nuestro ranking anterior para clasificar los cajeros y la sucursales del Banco. Entonces una vez que realizamos el cluster podemos hacer un par de gráficos sobre el tiempo de servicio vs el monto, y sobre el tiempo de servicio vs el monto por nivel de Satisfacción y saber a que grupo corresponden. Estos gráficos los coloreamos por cada grupo:| kamila | Freq |
|---|---|
| 1 | 4169 |
| 2 | 8008 |
| 3 | 12122 |
| Length | Class | Mode | |
|---|---|---|---|
| finalMemb | 24299 | -none- | numeric |
| numIter | 10 | -none- | numeric |
| finalLogLik | 1 | -none- | numeric |
| finalObj | 1 | -none- | numeric |
| finalCenters | 3 | -none- | numeric |
| finalProbs | 3 | -none- | list |
| input | 10 | -none- | list |
| verbose | 0 | -none- | list |
| nClust | 0 | -none- | list |
Pearson's Chi-squared test
data: kamilaSurvTab
X-squared = 24328, df = 8, p-value < 2.2e-16
Del último gráfico tenemos que los cajeros calificados como malos y muy malos van en un solo grupo, los cajeros muy buenos y algunos cajeros buenos en otro grupo y los cajeros regualres y buenos se encuentran en otro grupo. Parece que tratar de diferenciar entre que cajeros son regulares y cuales buenos parece ser un trabajo muy dificil debido a la alta correlación que existe entre estos dos grupos.
Sin embargo, este cluster nos permitirá diferenciar que cajeros son malos y cuales deberán ser revisados para alguna pequeña mejora.
Haciendo un gráfico similar por sucursales tenemos: A simple vista de la figura anterior no podemos saber que sucursal es buena o mala.Hagamos un gráfico similar por cajero.
Como podemos observar en las sucursales y los cajeros, al parecer la sucursal Riocentro Sur y la sucursal de Alborada necesitan ser revisadas y analizar más a fondo que sucede con los cajeros.