sequence

cspade

Descripción

La acción cspade implementa el algoritmo cSPADE (Sequential Pattern Discovery using Equivalence classes). Este algoritmo se utiliza para la minería de secuencias, permitiendo descubrir subsecuencias frecuentes dentro de una base de datos de secuencias. Es fundamental para análisis como la cesta de la compra secuencial, navegación web o datos biológicos, donde el orden de los eventos es crítico.

sequence.cspade / table={name="nombre-tabla", caslib="string"}, sequenceId="nombre-variable", eventId="nombre-variable", itemId="nombre-variable", support=double, minGap=integer, maxGap=integer, maxLen=integer, maxSize=integer, supportCnt=integer, casout={name="nombre-tabla-salida", replace=TRUE|FALSE};
Parámetros
ParámetroDescripción
tableEspecifica la tabla de entrada que contiene las secuencias para el análisis. Requiere especificar el caslib y el nombre.
sequenceIdEspecifica la variable que identifica la secuencia o el cliente (ej. CustomerID). Agrupa las transacciones.
eventIdEspecifica la variable de evento o tiempo (ej. TransactionTime). Define el orden de los eventos dentro de una secuencia.
itemIdEspecifica la variable que contiene el elemento o ítem (ej. ProductID). Es el objeto del análisis de frecuencia.
casoutEspecifica la tabla de salida donde se almacenarán las secuencias frecuentes descubiertas y sus métricas de soporte.
supportEspecifica el nivel mínimo de soporte para considerar una secuencia como frecuente (valor entre 0 y 1).
minGapEspecifica la diferencia mínima de tiempo o pasos entre elementos consecutivos de una secuencia.
maxGapEspecifica la diferencia máxima de tiempo o pasos entre elementos consecutivos de una secuencia.
maxLenEspecifica el número máximo de elementos permitidos en una secuencia descubierta. El valor predeterminado es 10.
maxSizeEspecifica el número máximo de ítems dentro de un solo elemento (conjunto de ítems) de una secuencia. El valor predeterminado es 10.
Creación de datos de secuencias de compra

Genera un conjunto de datos 'compras_secuenciales' que simula transacciones de clientes con un ID de cliente, un tiempo de transacción y el artículo comprado.

¡Copiado!
1 
2DATA casuser.compras_secuenciales;
3INPUT CustomerID TimeID ItemID $;
4DATALINES;
51 10 A 1 10 B 1 20 C 1 25 A 2 10 A 2 20 C 2 30 E 3 10 A 3 20 B 3 30 D ;
6 
7RUN;
8 

Ejemplos

Ejecuta el algoritmo cSPADE para encontrar secuencias que aparecen en al menos el 30% de los historiales de los clientes.

Código SAS® / CAS Código en espera de validación por la comunidad
¡Copiado!
1 
2PROC CAS;
3sequence.cspade / TABLE={name="compras_secuenciales", caslib="casuser"} sequenceId="CustomerID" eventId="TimeID" itemId="ItemID" support=0.3 casout={name="secuencias_frecuentes", caslib="casuser", replace=true};
4 
5RUN;
6 
Resultado :
Genera la tabla 'secuencias_frecuentes' que lista las secuencias de artículos (como A -> C) que cumplen con el umbral de soporte.

Realiza un análisis más específico definiendo restricciones de brecha temporal (minGap, maxGap) y longitud máxima de secuencia para filtrar patrones irrelevantes.

Código SAS® / CAS Código en espera de validación por la comunidad
¡Copiado!
1 
2PROC CAS;
3sequence.cspade / TABLE={name="compras_secuenciales", caslib="casuser"} sequenceId="CustomerID" eventId="TimeID" itemId="ItemID" support=0.2 minGap=1 maxGap=15 maxLen=3 maxSize=2 casout={name="secuencias_refinadas", caslib="casuser", replace=true};
4 
5RUN;
6 
Resultado :
Genera la tabla 'secuencias_refinadas' con patrones que ocurren con un 20% de soporte, donde los eventos consecutivos están separados por 1 a 15 unidades de tiempo, y las secuencias no exceden 3 eventos de longitud.

FAQ

¿Qué función realiza la acción cspade?
¿Cuáles son los parámetros obligatorios para ejecutar cspade?
¿Qué define el parámetro support?
¿Para qué se utilizan los parámetros minGap y maxGap?
¿Qué controlan los parámetros maxLen y maxSize?
¿Cuál es el propósito del parámetro supportCnt?

Escenarios asociados

Caso de uso
Análisis de Comportamiento de Compra Secuencial

Una cadena de supermercados desea identificar patrones de compra secuenciales para optimizar sus campañas de marketing. El objetivo es descubrir qué productos suelen comprarse d...

Caso de uso
Optimización de Flujo Web con Restricciones de Tiempo (Gap)

Un portal de noticias quiere analizar la navegación de los usuarios, pero solo le interesan las lecturas consecutivas rápidas (noticias leídas en la misma sesión o con poco inte...

Caso de uso
Protocolos Médicos Complejos y Límites de Secuencia

Un hospital investiga la progresión de tratamientos. Se busca detectar combinaciones de medicamentos administrados, pero forzando límites estrictos en la longitud de la cadena p...