Minería de Datos · Aprendizaje Automático

Minería de patrones secuenciales

Definir y minar patrones secuenciales sobre series de eventos, controlando soporte, ventanas y anti-monotonía con SPAD y PrefixSpan.

Minería de patrones secuenciales

Del carrito al camino Las reglas de asociación ignoran el orden: "café y pan" como canasta no dice nada sobre qué ocurrió primero. Cuando el orden importa, hay que minar secuencias.

Un patrón secuencial es una lista de ítems (o conjuntos de ítems) que aparece en un porcentaje mínimo de series. A diferencia de las reglas de asociación, aquí la evidencia está en el antes y después: la ruta de navegación, el camino de compra entre compras, los eventos de un log. Se mina con SPAD y PrefixSpan, los herederos del espíritu Apriori cuando el orden cuenta.

Qué es una secuencia

Soporte y patronaje en secuencias

Como en asociación, se fija un soporte mínimo: la secuencia debe aparecer en al menos ese porcentaje de sujetos. La diferencia es combinatoria: el espacio de subsecuencias crece muchísimo más rápido, así que la poda anti-monótona (si un patrón es frecuente, sus subsecuencias también; si es infrecuente, sus extensiones también) no es un detalle, es lo que hace viable el cálculo.

Diagrama de tres bandas: arriba las series de eventos por sujeto con sus ventanas de tiempo; al centro el minado con soporte minimo y poda; abajo los patrones utiles: rutas tipicas, precursores de compra y secuencias anomalas.
Con soporte por sujeto y anti-monotonía, el orden deja de ser anécdota y pasa a patrón.

SPAD frente a PrefixSpan

SPAD (sequential pattern discovery) transforma el problema a un equivalente de clases de equivalencia y lo resuelve con joins; PrefixSpan (pattern-growth) evita los joins: proyecta la base sobre prefijos frecuentes y crece los patrones recursivamente en bases cada vez más pequeñas. PrefixSpan suele ganar cuando la base es grande y el soporte, bajo.

Ventanas y tiempo real

Más allá de la canasta: eventos y procesos

La minería de secuencias alimenta la minería de procesos: descubrir el flujo real de un proceso a partir de bitácoras de eventos, y encontrar atajos, retrabajos y cuellos de botella que el diagrama oficial no dibuja. También detecta rutas de abandono en una app y precursores temporales de un incidente.

Minar secuencias es controlar el espacio de candidatos sin perder el orden.
ConceptoQué aporta
Subsecuenciarespetar orden permitiendo huecos
Soporte por sujetoun camino no vale por repetirse en uno solo
Anti-monotoníabase de la poda que hace viable el minado
Restricción de gapconvertir orden en proximidad temporal útil

Errores frecuentes

Ejemplo resuelto: ruta de compra en app

  1. Ordenar los eventos por sujeto y marca de tiempo y agrupar los simultáneos en eventos.
  2. Fijar el soporte mínimo por sujeto y la ventana de días entre pasos.
  3. Minar con PrefixSpan proyectando sobre prefijos frecuentes.
  4. Podar por anti-monotonía: eliminar candidatos con prefijo infrecuente.
  5. Filtrar los patrones por lift temporal frente a la línea base del sujeto.
  6. Materializar el patrón como alerta: "quien hace A y B en una semana compra C".

¿Para qué sirve en la realidad?

Recomendación de siguiente paso, detección temprana de fraude (secuencia de microoperaciones antes del golpe), mantenimiento predictivo (alarmas que anteceden a la falla) y análisis de embudos digitales viven de patrones secuenciales, no de canastas.

¿Qué distingue a un patrón secuencial de una regla de asociación?

Una subsecuencia debe contener los elementos en forma contigua, sin huecos entre ellos.

La propiedad de las subsecuencias frecuentes que hace viable la poda del espacio de búsqueda es la monotonía.

Clasifica cada decisión según la fase del minado secuencial.

Preparar series
Fijar parámetros
Podar y validar

Une cada algoritmo o concepto con su carácter.

Vocabulario secuencial

Lista ordenada de conjuntos de ítems
secuencia
Mantener orden con huecos permitidos
subsecuencia
El infrecuente no se extiende
anti-monotonía
Minar el flujo real desde bitácoras
minería de procesos
Patrón frecuente mediante proyección
PrefixSpan

Minería de secuencias

# Patrones secuenciales
## Objeto
### serie por sujeto
### eventos y huecos
## Minado
### soporte minimo
### SPAD
### PrefixSpan
### anti-monotonia
## Tiempo
### ventana
### gap constraint
## Usos
### rutas y embudos
### precursores de incidente
### mineria de procesos

Algoritmo PrefixSpan (Wikipedia)
Resumen del patrón growth con proyección de bases y su diferencia con Apriori.

Process mining (Wikipedia)
El pariente de industria: descubrir procesos a partir de bitácoras de eventos.

Con datos de clics quieres predecir qué sesión terminará en compra. ¿Por qué una regla de asociación del tipo "ver reseñas implica comprar" es débil aquí, cómo definirías la secuencia y su ventana, y qué sesgo de sujeto revisarías antes de publicar el patrón?