Agrupamiento de objetos con el algoritmo K-Means


El proceso de agrupamiento k-medias es particional, es decir, forma subgrupos a partir de un grupo más general, inicialmente se determina el número de grupos K que se desean formar y se eligen los centroides. Para determinar los centroides iniciales, hay dos alternativas: la primera es tomar de forma aleatoria K objetos como centroides iniciales y la segunda es tomar los primeros K objetos del conjunto de objetos que se estén analizando.

El algoritmo ejecuta los siguientes pasos hasta alcanzar el criterio de convergencia, es decir, los objetos no se mueven de grupo.

 

 

EJEMPLO

La siguiente tabla muestra los municipios del estado de hidalgo, el número de localidades y población total de cada municipio.

 

 

El número de grupos a formar son K=4.
Los centroides iniciales elegidos son:


C1
025 Huautla 68 22,621
C2 028 Huejutla de Reyes 202 122,905
C3 048 Pachuca de Soto 32 267,862
C4 069 Tizayuca 32 97,461

Una vez identificados los centroides, se calcula la distancia de cada objeto con respecto a cada centroide, en este caso se usa la distancia euclideana:

 

 

Los resultados generales se muestran en la siguiente tabla, se obtienen con fórmulas en Excel.
Datos obtenidos, iteración 1:

 

 

En esta tabla se seleccionan las distancias menores de cada columna, con esta información se procede a calcular los nuevos centroides. Para ello, se eligen de la tabla original los objetos que participan, y se dividen entre el número de objetos correspondientes.
Por ejemplo, para el centroide C4, participan los objetos: 30, 63, 68 y 75, que contienen los siguientes valores originales.


030 Ixmiquilpan
112 86,363
063 Tepeji del Río de Ocampo       71 80,612
069 Tizayuca       32 97,461
076 Tula de Allende          76 103,919
Suma 291 368355
Centroide C4 291/4=72.75 368355/4=92,088.75

Los nuevos centroides son:


CENTROIDES
C1 52.80 21,406.68
C2 126.00 133,964.33
C3 32.00 267,862.00
C4 72.75 92,088.75

 

Se vuelve a calcular las distancias con respecto a cada centroide, iteración 2.

 

 

En esta iteración se observa si hay movimiento de pertenencia de objetos con respecto a cada centroide, en este caso no hay cambios, por lo que se puede concluir que el algoritmo se ha estabilizado. Concluye el proceso.

En base a esta información, se puede etiquetar la población de cada municipio:


GRUPO 1 (C1)
Población Baja
GRUPO 2 (C2) población Media-Alta
GRUPO 3 (C3) Población Alta
GRUPO 4 (C4) Población Media

 


MUNICIPIO
LOCALIDAD (X1) POBLACION (X2) ETIQUETA
001 Acatlán 53 20,077 baja
002 Acaxochitlán 55 40,583 baja
003 Actopan 41 54,299 baja
004 Agua Blanca de Iturbide 28 8,994 baja
005 Ajacuba 15 17,055 baja
006 Alfajayucan 70 18,879 baja
007 Almoloya 87 11,294 baja
008 Apan 85 42,563 baja
010 Atitalaquia 19 26,904 baja
011 Atlapexco 49 19,452 baja
013 Atotonilco de Tula 24 31,078 baja
012 Atotonilco el Grande 66 26,940 baja
014 Calnali 72 16,962 baja
015 Cardonal 81 18,427 baja
017 Chapantongo 41 12,271 baja
018 Chapulhuacán 101 22,402 baja
019 Chilcuautla 30 17,436 baja
016 Cuautepec de Hinojosa 95 54,500 baja
009 El Arenal 25 17,374 baja
020 Eloxochitlán 26 2,800 baja
021 Emiliano Zapata 11 13,357 baja
022 Epazoyucan 62 13,830 baja
023 Francisco I. Madero 37 33,901 baja
024 Huasca de Ocampo 63 17,182 baja
025 Huautla 68 22,621 baja
026 Huazalingo 37 12,779 baja
027 Huehuetla 83 23,563 baja
028 Huejutla de Reyes 202 122,905 Media-Alta
029 Huichapan 90 44,253 baja
030 Ixmiquilpan 112 86,363 Media
031 Jacala de Ledezma 46 12,804 baja
032 Jaltocán 29 10,933 baja
033 Juárez Hidalgo 8 3,193 baja
040 La Misión 86 10,452 baja
034 Lolotla 49 9,843 baja
035 Metepec 36 11,429 baja
037 Metztitlán 114 21,623 baja
051 Mineral de la Reforma 105 127,404 Media-Alta
038 Mineral del Chico 33 7,980 baja
039 Mineral del Monte 20 13,864 baja
041 Mixquiahuala de Juárez 35 42,834 baja
042 Molango de Escamilla 47 11,209 baja
043 Nicolás Flores 46 6,614 baja
044 Nopala de Villagrán 104 15,666 baja
045 Omitlán de Juárez 32 8,963 baja
048 Pachuca de Soto 32 267,862 Alta
047 Pacula 34 5,049 baja
049 Pisaflores 78 18,244 baja
050 Progreso de Obregón 21 22,217 baja
036 San Agustín Metzquititlán 46 9,364 baja
052 San Agustín Tlaxiaca 58 32,057 baja
053 San Bartolo Tutotepec 128 18,137 baja
046 San Felipe Orizatlán 133 39,181 baja
054 San Salvador 48 32,773 baja
055 Santiago de Anaya 28 16,014 baja
056 Santiago Tulantepec de Lugo Guerrero 27 33,495 baja
057 Singuilucan 111 14,851 baja
058 Tasquillo 32 16,865 baja
059 Tecozautla 72 35,067 baja
060 Tenango de Doria 58 17,206 baja
061 Tepeapulco 54 51,664 baja
062 Tepehuacán de Guerrero 72 29,125 baja
063 Tepeji del Río de Ocampo 71 80,612 Media
064 Tepetitlán 20 9,940 baja
065 Tetepango 6 11,112 baja
067 Tezontepec de Aldama 39 48,025 baja
068 Tianguistengo 65 14,037 baja
069 Tizayuca 32 97,461 Media
070 Tlahuelilpan 12 17,153 baja
071 Tlahuiltepa 112 9,753 baja
072 Tlanalapa 23 10,248 baja
073 Tlanchinol 83 36,382 baja
074 Tlaxcoapan 12 26,758 baja
075 Tolcayuca 20 13,228 baja
076 Tula de Allende 76 103,919 Media
077 Tulancingo de Bravo 71 151,584 Media-Alta
066 Villa de Tezontepec 15 11,654 baja
078 Xochiatipan 41 19,067 baja
079 Xochicoatlán 32 7,320 baja
080 Yahualica 35 23,607 baja
081 Zacualtipán de Ángeles 46 32,437 baja
082 Zapotlán de Juárez 12 18,036 baja
083 Zempoala 81 39,143 baja
084 Zimapán 160 38,516 baja

Comentarios adicionales

REFERENCIAS:

Kardi Teknomo,  “Ejemplo numérico de agrupamiento k-medias”, link: http://people.revoledu.com/kardi/tutorial/kMean/EjemploNumerico.htm, consultado el 08/10/2015

Palma M. J.T., Marin M. R., Inteligencia Artificial: Tecnicas, métodos y aplicaciones, McGrawHill, pp: 703-706.

INEGI datos estadísticos, censo de población 2010.


[a] Profesor Investigador de la Universidad Autónoma del Estado de Hidalgo.

[b] Alumno de la Universidad Autónoma del Estado de Hidalgo.