7 votos

identificar eventos (patrones) que ocurren antes de un evento de interés utilizando datos de secuencia de eventos

Estoy interesado en identificación de acontecimientos (patrones) que ocurrir antes de un acontecimiento de interés .

Por ejemplo, un cliente llama para quejarse o un cliente consulta su saldo en línea y luego el cliente cierra la cuenta (evento de interés). Los datos se presentan en forma de secuencia de eventos con una marca de tiempo.

Me gustaría saber qué metodologías (y software) utiliza la gente para esta tarea.

Estoy abierto a patrones exactos (secuencia de acontecimientos), frecuencia de los acontecimientos (llama varias veces para quejarse), y calendario de acontecimientos (El 80% del evento A conduce directamente al evento de interés en X días). Básicamente, abierto a cualquier enfoque que la gente esté utilizando para identificar los patrones que conducen a un evento.

Hasta ahora he encontrado el CSPADE disponible en el arulesSequences en R. Parece ser capaz de identificar secuencias de patrones y qué elementos co-ocurren. Sin embargo, no creo que uno puede establecer un evento de destino para que encuentre un patrón.

Estoy abierto a algoritmos disponibles en R, Python o SAS.

¡Muchas gracias!

2voto

iliasfl Puntos 1440

Supongo que dispondrá de un gran conjunto de entrenamiento.

Este problema puede abordarse con muchos enfoques diferentes y, por lo general, hay un equilibrio entre lo bien que se pueden interpretar los hallazgos/modelos y lo buenas que pueden ser las predicciones. Hace poco hice algo parecido y después de tener un clasificador no lineal complejo que funcionaba bastante bien, me pidieron que identificara los momentos/eventos exactos que desencadenan cuándo debemos interferir con los clientes, eso era prácticamente demasiado difícil, así que acabé remodelando usando árboles para permitir a los gestores entender lo que está pasando en sus datos. Más detalles a continuación:

Empiezo con enfoques que puedes utilizar para interpretar lo que está pasando: Tendrás que hacer un script para extraer del conjunto de datos completo las secuencias de longitud n que conducen al acontecimiento que le interesa. Si n es baja y se dispone de datos suficientes, se pueden medir las frecuencias de todas las combinaciones de sucesos que conducen al suceso de interés. Si la situación es un poco más compleja y no hay ganadores claros, puedes intentar visualizar estas series de sucesos utilizando un árbol como forma de cadena de Markov. Utilizando alguna limpieza ad-hoc, como eliminar aristas con p<0.1 podrías terminar con algo procesable.

Si la interpretación de los resultados no es tan importante, sino que lo fundamental es predecir si se va a producir el evento de interés, entonces yo optaría por la clasificación clásica. Tienes una serie de eventos que conducen al evento de interés (esta es tu clase positiva). Tienes series de sucesos que no conducen al suceso de interés (ésa es la clase negativa). Podrías tener un criterio como "si no ocurre ningún suceso de interés después de 50 sucesos normales, entonces considero la serie negativa". Ahora las características podrían ser las frecuencias de los sucesos, las frecuencias de los pares de sucesos, los tiempos entre sucesos (velocidad). Puede considerar las series de eventos como series de palabras y utilizar enfoques estándar para la clasificación de textos. Con las clases y las características, elija un clasificador y realice algunos modelos.

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