ruleMining

mbanalysis

Descripción

La acción `mbanalysis` del conjunto de acciones `ruleMining` se utiliza para realizar un análisis de la cesta de la compra (Market Basket Analysis). Este método estadístico descubre co-ocurrencias de artículos en grandes volúmenes de datos transaccionales, identificando qué artículos tienden a ser comprados juntos. La acción genera reglas de asociación (por ejemplo, 'Si se compra {leche}, entonces también se compra {pan}') y calcula métricas clave como el soporte, la confianza y el lift para evaluar la relevancia de estas reglas. Es una herramienta fundamental en el comercio minorista para la optimización de la disposición de productos, campañas de marketing y recomendaciones personalizadas.

ruleMining.mbanalysis / antecedentList={...}, conf=double, consequentList={...}, hierarchy={{...}, {...}, ...}, idVariable="variable-name", items=integer, lift=double, maxItems=integer, minItems=integer, nLHS_range={...}, norm=TRUE | FALSE, nRHS_range={...}, out={...}, outfreq={...}, outrule={...}, saveState={...}, separator="string", sup_lift=double, supmin=double, suppct=double, table={...}, tgtVariable="variable-name";
Parámetros
ParámetroDescripción
antecedentList Especifica las cadenas de expresiones regulares para que coincidan en el antecedente (lado izquierdo) de una regla.
conf Especifica la confianza mínima para las reglas, en un rango de 0 a 100. El valor predeterminado es 50.
consequentList Especifica las cadenas de expresiones regulares para que coincidan en el consecuente (lado derecho) de una regla.
hierarchy Especifica una o más tablas de jerarquía. Si se omite, se realiza un análisis de asociación simple.
idVariable Especifica la variable que se utiliza para agrupar la variable objetivo en cestas.
items Especifica el número de artículos en una regla. El valor predeterminado es 2. Rango: 1-1000.
lift Especifica el valor mínimo de 'lift' (elevación) necesario para generar una regla. El valor predeterminado es 1.
maxItems Especifica el tamaño máximo de cesta; las cestas más grandes se rechazan. El valor predeterminado es 1000.
minItems Especifica el tamaño mínimo de cesta; las cestas más pequeñas se rechazan. El valor predeterminado es 1.
nLHS_range Especifica el rango (mínimo y máximo) para el número de artículos en el lado izquierdo (LHS) de una regla.
norm Cuando se establece en True, normaliza los valores de la variable objetivo y los artículos en las tablas de salida.
nRHS_range Especifica el rango (mínimo y máximo) para el número de artículos en el lado derecho (RHS) de una regla.
out Especifica la tabla de salida que contendrá los conjuntos de artículos frecuentes para generar reglas, incluyendo recuentos de transacciones y soporte.
outfreq Especifica la tabla de salida que contendrá los artículos frecuentes únicos junto con sus recuentos de transacciones y soporte.
outrule Especifica la tabla de salida que contendrá las reglas, incluyendo los lados izquierdo y derecho, soporte y lift.
saveState Especifica la tabla en la que se guardará el estado del modelo para futuras puntuaciones.
separator Especifica el carácter separador en el antecedente o el consecuente de una regla. El valor predeterminado es '&'.
sup_lift Especifica el lift de soporte mínimo necesario para generar una regla. El valor predeterminado es 0.
supmin Especifica el nivel mínimo de soporte (frecuencia absoluta) para una regla. Anula el parámetro `suppct`.
suppct Especifica el nivel mínimo de soporte para una regla como un porcentaje del número de cestas.
table Especifica la tabla de datos de entrada que contiene los datos transaccionales.
tgtVariable Especifica una única variable nominal para usar como la variable de artículo en las transacciones.
Creación de un conjunto de datos de transacciones de ejemplo

Este código SAS crea una tabla CAS llamada `Transaction_Data` que simula transacciones de compra. Cada fila representa un artículo comprado dentro de una transacción específica, identificada por `TransID`.

¡Copiado!
1DATA casuser.Transaction_Data(caslib='casuser');
2 INFILE DATALINES delimiter=',';
3 INPUT TransID $ Product $;
4 DATALINES;
51,Leche
61,Pan
71,Huevos
82,Pan
92,Mantequilla
103,Leche
113,Cereal
124,Leche
134,Pan
144,Mantequilla
155,Cerveza
165,Pañales
17;
18RUN;

Ejemplos

Este ejemplo ejecuta un análisis básico de la cesta de la compra en la tabla `Transaction_Data`. Busca reglas de asociación con un soporte mínimo del 20% y una confianza del 50%. Los resultados, incluidas las reglas generadas, se guardan en la tabla `Rule_Output`.

Código SAS® / CAS Código en espera de validación por la comunidad
¡Copiado!
1PROC CAS;
2 ruleMining.mbanalysis /
3 TABLE={name='Transaction_Data'},
4 idVariable='TransID',
5 tgtVariable='Product',
6 suppct=20,
7 conf=50,
8 outrule={name='Rule_Output', replace=true};
9RUN;
10QUIT;
Resultado :
Una tabla CAS llamada `Rule_Output` que contiene las reglas de asociación encontradas. Por ejemplo, una regla podría ser 'Si se compra {Mantequilla}, entonces también se compra {Pan}' con sus correspondientes valores de soporte, confianza y lift.

Este ejemplo más detallado aplica filtros más estrictos. Requiere un soporte mínimo del 25%, una confianza del 60% y un lift mínimo de 1.2. Limita las reglas a tener 1 artículo en el antecedente y 1 en el consecuente. Además, genera tres tablas de salida: `Frequent_Items` para los artículos frecuentes, `Item_Sets` para los conjuntos de artículos y `Advanced_Rules` para las reglas filtradas.

Código SAS® / CAS Código en espera de validación por la comunidad
¡Copiado!
1PROC CAS;
2 ruleMining.mbanalysis /
3 TABLE={name='Transaction_Data'},
4 idVariable='TransID',
5 tgtVariable='Product',
6 suppct=25,
7 conf=60,
8 lift=1.2,
9 nLHS_range={lower=1, upper=1},
10 nRHS_range={lower=1, upper=1},
11 out={name='Item_Sets', replace=true},
12 outfreq={name='Frequent_Items', replace=true},
13 outrule={name='Advanced_Rules', replace=true};
14RUN;
15QUIT;
Resultado :
Se crearán tres tablas en la caslib activa: `Frequent_Items` listando los artículos más comprados, `Item_Sets` mostrando los conjuntos de artículos frecuentes, y `Advanced_Rules` con las reglas de asociación que cumplen con los criterios de soporte, confianza y lift especificados. Por ejemplo, la regla 'Si se compra {Mantequilla} => {Leche}' podría aparecer si cumple con las métricas.

FAQ

¿Qué es la acción mbanalysis?
¿Cuáles son los parámetros de entrada requeridos para la acción mbanalysis?
¿Cómo se especifica el soporte mínimo para una regla?
¿Qué tablas de salida se pueden generar?
¿Cómo se puede filtrar las reglas generadas?