Evaluación de grupos de cadenas de Markov de primer orden

10

Agrupe mi conjunto de datos de varios miles de cadenas de Markov de primer orden en aproximadamente 10 grupos.

¿Hay alguna forma recomendada de cómo puedo evaluar estos grupos y descubrir qué comparten los elementos en los grupos y en qué se diferencian de otros grupos? Entonces puedo hacer una declaración como "Los procesos en el grupo A tienden a permanecer en el estado Y una vez que llegan allí, lo cual no es cierto para los procesos en otros grupos".

Las matrices de transición de esas cadenas de Markov son demasiado grandes para simplemente "mirar y ver". Son relativamente escasos, si eso puede ayudar.

Mi idea era tomar todas las matrices de transición en un grupo, sumarlas y trazarlas como intensidad en una imagen (en una escala de 0 a 255). ¿Hay algo más "profesional" que debería probar?

user7610
fuente
¿ Sabe que estos procesos son cadenas de mercado de primer orden (y, de ser así, cómo)? Suponiendo que la respuesta a esto es afirmativa, entonces, ¿qué información adicional a priori conoce sobre la estructura? Estoy tratando de identificar por qué estás interesado en agruparte en primer lugar; Sospecho que saber esto ayudará a nuestros lectores a guiarlo de manera más eficiente hacia una solución.
Cardenal
Los datos originales eran flujos de clics generados por los usuarios en mi sitio. Creé los procesos de Markov para que cada proceso describa el flujo de clics de un usuario. Sé que hay libros y documentos que dicen que las cadenas de Markov son inadecuadas para esto, pero mis datos no incluyen la URL exacta que solicitó el usuario, solo la "aplicación" a la que pertenece la URL. (Mi sitio es un sistema de información que se divide en 105 llamadas "aplicaciones", que son en su mayoría partes independientes del sitio, vinculadas a través de una página de inicio y un menú lateral en cada página)
user7610
Estoy interesado en la agrupación porque quiero revelar grupos de usuarios que tienen patrones similares en el uso del sitio. Supuse que los patrones que captura la cadena de Markov son suficientes para distinguir tales grupos. Verifiqué cómo los clústeres que creé corresponden a los roles que los usuarios tienen en el sitio y siempre parece que en un clúster hay muchos usuarios de un rol y solo un par de otros roles, por lo que parece prometedor. Espero que ayude
user7610
Hola, me encuentro con el mismo problema. Finalmente, ¿cómo resolvió el problema?
nan
@nan No lo hice, necesitaba esto solo en un proyecto a término, así que simplemente hice otra cosa. Si tuviera que resolverlo ahora, trataría de buscar en en.wikipedia.org/wiki/… la agrupación inicial. t-SNE es súper popular hoy en día y adecuado para IMO. Espero que el resultado que obtenga sea más significativo que los resultados que obtuve con mi enfoque ad-hoc. Y el uso de algo relativamente nuevo y genial satisfaría al maestro;)
usuario7610

Respuestas:

1

Para hacer una declaración sobre el comportamiento en estado estacionario de cada conglomerado, puede calcular las distribuciones en estado estacionario de cada matriz de transición por vectores propios, luego comparar las gráficas de caja por conglomerado. Es probable que encuentre problemas en el cálculo del estado estacionario sin aplicar algún tipo de suavizado primero.

¿Cómo estás agrupando las matrices de transición? Si fuera yo, aplicaría suavizado aditivo a cada fila y luego tomaría la transformación centrada de la relación logarítmica de cada fila y luego aplanaría las matrices.

Si está agrupando con K-means o una variante, puede analizar los centros de agrupación normalizados. O simplemente elija algunas observaciones de cada grupo y analícelas.

Jessica Collins
fuente
0

Primero, para tener una idea, ¿son sus matrices de dimensión 105 x 105, correspondientes a las aplicaciones que usted menciona? Cuando dice "permanecer en el estado Y", ¿eso significa quedarse en la aplicación Y?

Entonces, supongo que los resultados como "Procesos en el grupo A tienden a permanecer en el estado Y una vez que llegan allí, lo que no es cierto para los procesos en otros grupos" son demasiado finos con solo 10 grupos. ¿Ha intentado agrupar el dominio de la aplicación? Si lo entiendo correctamente, podría agrupar las 105 aplicaciones según el comportamiento del usuario. A continuación, ¿ha observado la presencia simple de usuarios en lugar de la transición, es decir, los perfiles de usuarios en las 105 aplicaciones? Parece que podría usar el coeficiente de Pearson entre los perfiles de usuario; ya sea en grupos de aplicaciones o en las propias aplicaciones. Tal vez esto podría extenderse hacia las transiciones entre aplicaciones, pero actualmente siento que hay una gran discordancia entre la cantidad de clústeres y el tipo de resultado que le interesa.

micanos
fuente