Cuando usas k-means tienes que decidir algo incómodo de entrada: cuántos grupos, k, vas a buscar en el conjunto de datos. Y como el algoritmo no lo decide por ti, casi todo el mundo recurre al mismo truco: el método del codo. Dibujas una curva, buscas el “punto donde se dobla” y ese es tu número de clusters. Rápido, visual y aparentemente objetivo.
El problema es que el método del codo se malinterpreta y se sobrevalora con la misma facilidad con la que se usa. No es un criterio objetivo, no siempre existe un codo, y cuando lo hay no tiene por qué corresponder al número “verdadero” de grupos. En esta entrada vemos qué dice realmente, cómo leerlo bien y dónde están sus límites.
Para cada valor de k se ejecuta k-means y se mide lo compactos que han quedado los grupos mediante la suma de cuadrados intra-cluster (WCSS, también llamada inercia o distorsión): \text{WCSS}(k) = \sum_{j=1}^{k} \sum_{x \in C_j} \lVert x - \mu_j \rVert^2, es decir, la suma de las distancias al cuadrado de cada punto al centroide \mu_j de su grupo. Esto es, ni más ni menos, la propia función objetivo que k-means minimiza.
Luego se representa \text{WCSS}(k) frente a k. La curva siempre baja: cuantos más grupos permitas, más cerca queda cada punto de su centroide, hasta llegar a WCSS =0 cuando hay un grupo por punto. Típicamente cae en picado al principio y luego se aplana. Ese cambio brusco de pendiente, el “codo”, se interpreta como el k óptimo.
La lógica detrás del codo es razonable: es un argumento de rendimientos decrecientes.
El codo marca, por tanto, el punto donde dejas de pagar por estructura real y empiezas a pagar por trocear lo que ya estaba bien. Una forma equivalente y a veces más intuitiva de verlo es en términos de varianza explicada: como WCSS$(1)$ es la varianza total, la fracción 1 - \text{WCSS}(k)/\text{WCSS}(1) es la “varianza explicada por el agrupamiento”, y el codo es donde esa ganancia se aplana.
Leído así, el método es honesto: es una forma visual de detectar el punto de equilibrio entre complejidad (k) y ajuste (WCSS baja). El error no está en el método, sino en tratarlo como si entregara una respuesta exacta y objetiva. No lo hace.
En datos reales, la curva muchas veces baja de forma suave, sin ningún punto claro donde se doble. ¿El codo está en 3, en 4 o en 5? Dos analistas pueden mirar el mismo gráfico y elegir valores distintos. El método no tiene una regla de decisión: depende del ojo de quien lo lee, lo que lo hace subjetivo y poco reproducible.
Como la WCSS decrece de forma monótona y solo llega a su mínimo (cero) cuando k=n, no tiene un mínimo interior que optimizar. No estás buscando el valor que minimiza una métrica; estás juzgando a ojo un cambio de pendiente. Eso lo distingue de criterios que sí tienen un óptimo bien definido.
El método del codo no es más válido que el algoritmo que hay debajo. k-means asume grupos esféricos, de tamaño y densidad similares y separados linealmente. Si tus clusters son alargados, de densidades muy distintas o de forma no convexa, k-means los partirá mal, y el codo reflejará esa partición defectuosa. La heurística no puede rescatar a un algoritmo que no encaja con la estructura de los datos.
La WCSS se construye con distancias, y las distancias dependen de las unidades. Si no estandarizas, las variables con más varianza dominan el cálculo y deforman tanto el agrupamiento como el codo. Igual que en PCA, estandarizar (z-score) no es un paso opcional, es una decisión de modelado que cambia el resultado.
k-means parte de centroides iniciales aleatorios y puede converger a soluciones distintas en ejecuciones distintas. Eso significa que la WCSS de un mismo k puede variar entre corridas. Sin múltiples reinicios (k-means++, varios n_init), el codo puede moverse de una ejecución a otra.
La WCSS solo cuantifica cómo de apretados están los puntos dentro de cada grupo. No dice nada sobre cómo de separados están los grupos entre sí. Podrías tener clusters compactos pero solapados, y el codo no se enteraría. Una buena solución de clustering necesita ambas cosas: cohesión interna y separación externa.
Si tus datos no tienen ninguna estructura de grupos (una nube uniforme), el método del codo te dará un codo de todos modos y elegirás algún k, descubriendo grupos que no existen. La WCSS siempre baja al añadir centroides, haya o no clusters reales. El método no sabe responder “aquí no hay nada que agrupar”.
En muchas dimensiones las distancias tienden a concentrarse (todos los puntos acaban a distancias parecidas), las diferencias de WCSS se aplanan y el codo se difumina hasta volverse inservible.
La buena noticia es que el codo no tiene que ir solo. Conviene apoyarlo en métricas con criterios más definidos:
Y, por encima de todo: el conocimiento del dominio y la interpretabilidad de los grupos resultantes. Si los clusters que sugiere el codo no significan nada en tu problema, el número “óptimo” no sirve de nada.
El método del codo es útil como primera aproximación, no como veredicto. En la práctica:
La moraleja repite la de toda buena estadística: una herramienta visual cómoda no exime de entender qué mide. El codo te da una pista razonable sobre cuántos grupos buscar; convertirla en una verdad exacta es justo el error que conviene no cometer.
En resumen:
La estadística no suele fallar en los cálculos: falla en la interpretación. El test está…
Los artículos anteriores de esta serie cubrieron cuatro formas de mirar el valor del cliente:…
Quien se acerca a la criptografía descubre enseguida a dos personajes que aparecen en casi…
En credit scoring el desbalanceo de clases es la norma, no la excepción. En una…
Cualquiera que programe usa la palabra bug a diario para referirse a un fallo en…
Los dos artículos anteriores de la serie cubrieron BG/NBD, el modelo para negocios donde el…
This website uses cookies.