Scénario de test & Cas d'usage
Modelos de árboles de regresión aditiva bayesiana.
Descubrir todas las acciones de bartCrea una tabla de clientes con su gasto, la inversión en marketing por correo electrónico que recibieron, el descuento que se les aplicó y su edad. Estos datos simulan una base de clientes diversa para entrenar un modelo predictivo de gastos.
| 1 | DATA mycas.clientes_gasto; |
| 2 | call streaminit(123); |
| 3 | DO id_cliente = 1 to 2000; |
| 4 | edad_cliente = 20 + floor(rand('UNIFORM') * 50); |
| 5 | inversion_email = rand('UNIFORM') * 10; |
| 6 | descuento_pct = rand('UNIFORM') * 15; |
| 7 | gasto_cliente = 50 + (inversion_email * 2.5) + (descuento_pct * 3.1) + (edad_cliente * 0.5) + rand('NORMAL', 0, 25); |
| 8 | OUTPUT; |
| 9 | END; |
| 10 | RUN; |
| 1 | PROC CAS; |
| 2 | LOADACTIONSET 'bart'; |
| 3 | bart.bartGauss RESULT=res / |
| 4 | TABLE={name='clientes_gasto'}, |
| 5 | inputs={{name='edad_cliente'}, {name='inversion_email'}, {name='descuento_pct'}}, |
| 6 | target='gasto_cliente', |
| 7 | saveState={name='modelo_gasto_cliente', replace=true}; |
| 8 | RUN; |
| 1 | PROC CAS; |
| 2 | bart.bartScoreMargin / |
| 3 | TABLE={name='clientes_gasto'}, |
| 4 | model={name='modelo_gasto_cliente'}, |
| 5 | margins={{name='base', at={{var='descuento_pct', value=5}, {var='inversion_email', value=5}}}, |
| 6 | {name='escenario_descuento', at={{var='descuento_pct', value=20}, {var='inversion_email', value=5}}}, |
| 7 | {name='escenario_email', at={{var='descuento_pct', value=5}, {var='inversion_email', value=12}}}}, |
| 8 | differences={{name='dif_descuento', evtMargin='escenario_descuento', refMargin='base'}, |
| 9 | {name='dif_email', evtMargin='escenario_email', refMargin='base'}}, |
| 10 | casOut={name='impacto_marketing_out', replace=true}; |
| 11 | RUN; |
| 12 | QUIT; |
Se espera una tabla CAS de salida 'impacto_marketing_out' que contenga 5 filas: una para cada uno de los tres escenarios ('base', 'escenario_descuento', 'escenario_email') y una para cada una de las dos diferencias ('dif_descuento', 'dif_email'). Cada fila debe mostrar la media predictiva del gasto del cliente, la desviación estándar y los límites de credibilidad. Se espera que 'dif_descuento' y 'dif_email' muestren un valor medio positivo, indicando un aumento en el gasto.