10 votos

Agrupación de un gran conjunto de datos con colas pesadas

Dispongo de un conjunto de datos de 130.000 usuarios de Internet caracterizados por 4 variables que describen el número de sesiones de los usuarios, los lugares visitados, la descarga media de datos y el tiempo de sesión agregados a partir de cuatro meses de actividad.

El conjunto de datos tiene una cola muy pesada. Por ejemplo, un tercio de los usuarios sólo se conectó una vez durante cuatro meses, mientras que seis usuarios tuvieron más de 1000 sesiones.

Quería llegar a una clasificación sencilla de los usuarios, preferiblemente con indicación del número más adecuado de clusters.

¿Hay algo que pueda recomendar como solución?

0 votos

No veo por qué quieres agrupar a tus usuarios sin ninguna aportación subjetiva (me refiero a un comentario que hiciste @reed), dijiste que querías "el número más apropiado de clusters", pero desafortunadamente no tienes un objetivo claro, si quieres agrupar tu población para mostrar algo en particular, deberías decirnos qué quieres mostrar Si quiere que las estadísticas (los datos) le digan lo que quiere mostrar es otro problema :)

0 votos

@robin: gracias por el comentario. no he visto mucha investigación en este campo y la aportación del proveedor de datos fue mínima [hasta ahora no estaban interesados/capaces de investigarlo más a fondo]. después de la exploración inicial de los datos me quedó bastante claro que hay un par de patrones distintivos [ejemplos son los "descargadores intensos" en sólo unos pocos lugares o los "saltadores frecuentes" con muchas sesiones pequeñas en un gran número de lugares]. mi objetivo en esta etapa era tratar de usar los datos en sí mismos para decirme cómo puedo dividirlos mejor y minimizar la aportación subjetiva.

3voto

glasnt Puntos 286

Se podría optar por un mapa autoorganizado supervisado (por ejemplo, con kohonen para R), y utilizar la frecuencia de inicio de sesión como variable dependiente. De esta manera, la agrupación se centrará en separar a los visitantes frecuentes de los raros. Al trazar el número de usuarios en cada unidad del mapa, podrá hacerse una idea de los clusters presentes en sus datos.

Dado que los SOM son métodos de mapeo no lineal, este enfoque es especialmente interesante para los datos de cola.

0 votos

Gracias Egon. El enfoque SOM podría ser muy interesante. Le echaré un vistazo.

2voto

Wulfbane Puntos 41

Agrupación K-Means debería funcionar bien para este tipo de problemas. Sin embargo, requiere que se especifique el número de clusters por adelantado.

Sin embargo, dada la naturaleza de estos datos, se puede trabajar con un algoritmo de agrupación jerárquica en su lugar. Dado que las 4 variables están probablemente muy correlacionadas, lo más probable es que pueda separar los clusters y detenerse cuando alcance una distancia lo suficientemente pequeña entre los clusters. Esto puede ser un enfoque mucho más simple en este caso específico, y le permite determinar "cuántos clusters" simplemente deteniéndose tan pronto como haya dividido su conjunto en clusters lo suficientemente finos.

0 votos

Gracias Reed. k-means es definitivamente un camino a seguir y he explorado varias soluciones. Sin embargo, estoy tratando de ir a una solución sin la decisión subjetiva del número de clusters. El enfoque jerárquico, por otra parte, produjo una clasificación enorme y, de nuevo, me resultó difícil especificar dónde parar.

2voto

andyuk Puntos 9464

Este es el problema de la agrupación, no se puede saber qué se considera una agrupación. Yo vería cuál es la razón para agrupar a los usuarios, especificaría mi valor umbral y utilizaría la agrupación jerárquica.

Según mi experiencia, hay que establecer el número de clústeres necesarios o el valor del umbral (el valor de la distancia que une dos puntos de datos).

2voto

Eric Davis Puntos 1542

Podría considerar la posibilidad de transformar (quizás un logaritmo) las variables con sesgo positivo.

Si después de explorar varios algoritmos de agrupación se encuentra que las cuatro variables simplemente reflejan niveles de intensidad de uso diferentes, se podría pensar en una clasificación basada en la teoría. Es de suponer que esta clasificación se va a utilizar con un propósito y que ese propósito podría impulsar puntos de corte significativos en una o más de las variables.

0 votos

Gracias Jeromy. He explorado varias transformaciones posibles de los datos utilizando la función gladder de Stata para la escala de potencias. La solución basada en la teoría será un camino a seguir, pero antes quería comprobar la solución basada en los datos.

i-Ciencias.com

I-Ciencias es una comunidad de estudiantes y amantes de la ciencia en la que puedes resolver tus problemas y dudas.
Puedes consultar las preguntas de otros usuarios, hacer tus propias preguntas o resolver las de los demás.

Powered by:

X