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
antecedentListEspecifica las cadenas de expresiones regulares para que coincidan en el antecedente (lado izquierdo) de una regla.
confEspecifica la confianza mínima para las reglas, en un rango de 0 a 100. El valor predeterminado es 50.
consequentListEspecifica las cadenas de expresiones regulares para que coincidan en el consecuente (lado derecho) de una regla.
hierarchyEspecifica una o más tablas de jerarquía. Si se omite, se realiza un análisis de asociación simple.
idVariableEspecifica la variable que se utiliza para agrupar la variable objetivo en cestas.
itemsEspecifica el número de artículos en una regla. El valor predeterminado es 2. Rango: 1-1000.
liftEspecifica el valor mínimo de 'lift' (elevación) necesario para generar una regla. El valor predeterminado es 1.
maxItemsEspecifica el tamaño máximo de cesta; las cestas más grandes se rechazan. El valor predeterminado es 1000.
minItemsEspecifica el tamaño mínimo de cesta; las cestas más pequeñas se rechazan. El valor predeterminado es 1.
nLHS_rangeEspecifica el rango (mínimo y máximo) para el número de artículos en el lado izquierdo (LHS) de una regla.
normCuando se establece en True, normaliza los valores de la variable objetivo y los artículos en las tablas de salida.
nRHS_rangeEspecifica el rango (mínimo y máximo) para el número de artículos en el lado derecho (RHS) de una regla.
outEspecifica la tabla de salida que contendrá los conjuntos de artículos frecuentes para generar reglas, incluyendo recuentos de transacciones y soporte.
outfreqEspecifica la tabla de salida que contendrá los artículos frecuentes únicos junto con sus recuentos de transacciones y soporte.
outruleEspecifica la tabla de salida que contendrá las reglas, incluyendo los lados izquierdo y derecho, soporte y lift.
saveStateEspecifica la tabla en la que se guardará el estado del modelo para futuras puntuaciones.
separatorEspecifica el carácter separador en el antecedente o el consecuente de una regla. El valor predeterminado es '&'.
sup_liftEspecifica el lift de soporte mínimo necesario para generar una regla. El valor predeterminado es 0.
supminEspecifica el nivel mínimo de soporte (frecuencia absoluta) para una regla. Anula el parámetro `suppct`.
suppctEspecifica el nivel mínimo de soporte para una regla como un porcentaje del número de cestas.
tableEspecifica la tabla de datos de entrada que contiene los datos transaccionales.
tgtVariableEspecifica 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?