bart

bartScoreMargin

L'essentiel
En resumen
En el análisis avanzado de datos, no basta con obtener un buen ajuste; es necesario comprender la dinámica causal subyacente. La acción bartScoreMargin es la herramienta clave en SAS Viya para desglosar la contribución de los predictores mediante el cálculo de márgenes predictivos. Al forzar valores en variables específicas y promediar los resultados, los ingenieros de datos pueden simular condiciones y visualizar cómo alteraciones controladas impactan en la respuesta del modelo. A continuación, presentamos una guía de resolución de dudas diseñada para asistirle en la parametrización de estos escenarios y en la lectura crítica de los efectos estimados.

Descripción

Calcula los márgenes predictivos utilizando un modelo de árboles de regresión aditivos bayesianos (BART) ajustado.

bart.bartScoreMargin <result=results> <status=rc> / alpha=double, casOut={casouttable}, differences={{bartScoreMargin_scoreDiff-1} <, {bartScoreMargin_scoreDiff-2}, ...>}, display={displayTables}, marginInfo=TRUE | FALSE, margins={{bartScoreMargin_evaluate-1} <, {bartScoreMargin_evaluate-2}, ...>}, model={castable}, outputTables={outputTables}, seed=64-bit-integer, table={castable} ;
Parámetros
ParámetroDescripción
alpha Especifica el nivel de significancia a utilizar para la construcción de todos los límites de credibilidad de colas iguales.
casOut Especifica la configuración para una tabla de datos de salida.
differences Especifica las diferencias de los márgenes predictivos.
evtMargin Especifica el margen predictivo del evento por su nombre.
label Etiqueta la diferencia en los márgenes predictivos en las tablas de salida.
name Nombra la diferencia en los márgenes predictivos en las tablas de salida.
refMargin Especifica el margen predictivo de referencia por su nombre.
display Especifica una lista de tablas de resultados para enviar al cliente para su visualización.
marginInfo Solicita una tabla que resuma las variables que definen el margen predictivo y los valores a los que están establecidas.
margins Especifica un margen predictivo.
at Especifica las variables a modificar en un margen predictivo y los valores a los que se establecen.
value Especifica el valor al que se establece una variable en el margen predictivo. Para variables continuas, se especifica un valor numérico. Para variables de clasificación, se especifica el nivel formateado.
var Nombra una variable a modificar en un margen predictivo.
model Especifica un objeto de tabla binaria de un ajuste de modelo anterior.
outputTables Lista los nombres de las tablas de resultados para guardar como tablas CAS en el servidor.
seed Especifica una semilla para iniciar el generador de números pseudoaleatorios.
table Especifica la tabla de datos de entrada.
Creación de Datos de Ejemplo

Este código de ejemplo primero entrena un modelo BART usando la acción `bartGauss` y guarda el modelo. Luego, utiliza la acción `bartScoreMargin` para calcular los márgenes predictivos basados en el modelo guardado. Se definen dos escenarios ('scen1' y 'scen2') para evaluar el efecto de cambiar el valor de la variable 'x1'.

¡Copiado!
1PROC CAS;
2 LOADACTIONSET 'bart';
3 
4 /* Generar datos de ejemplo */
5 DATA mycas.sample;
6 DO i = 1 to 100;
7 x1 = rand('UNIFORM');
8 x2 = rand('UNIFORM');
9 y = 10 * sin(3.14 * x1 * x2) + 20 * (x2 - 0.5)**2 + 10 * x1 + 5 * x2 + rand('NORMAL', 0, 1);
10 OUTPUT;
11 END;
12 RUN;
13 
14 /* Entrenar el modelo BART */
15 bart.bartGauss RESULT=res /
16 TABLE={name='sample'},
17 inputs={{name='x1'}, {name='x2'}},
18 target='y',
19 saveState={name='bart_model', replace=true};
20RUN;
21QUIT;

Ejemplos

Este ejemplo calcula un único margen predictivo ('scen1') donde la variable 'x1' se fija en 0.5. El resultado se guarda en la tabla 'bart_margins_out'.

Código SAS® / CAS Código en espera de validación por la comunidad
¡Copiado!
1PROC CAS;
2 bart.bartScoreMargin /
3 TABLE={name='sample'},
4 model={name='bart_model'},
5 margins={{name='scen1', at={{var='x1', value=0.5}}}},
6 casOut={name='bart_margins_out', replace=true};
7RUN;
8QUIT;
Resultado :
Una tabla CAS llamada 'bart_margins_out' que contiene el margen predictivo calculado para 'scen1', incluyendo la media, la desviación estándar y los límites de credibilidad.

Este ejemplo calcula dos márgenes predictivos: 'scen1' (x1=0.25) y 'scen2' (x1=0.75). Luego, calcula la diferencia entre estos dos márgenes ('diff1'). También solicita la tabla 'MarginInfo' para ver los detalles de la definición de los márgenes.

Código SAS® / CAS Código en espera de validación por la comunidad
¡Copiado!
1PROC CAS;
2 bart.bartScoreMargin /
3 TABLE={name='sample'},
4 model={name='bart_model'},
5 margins={{name='scen1', at={{var='x1', value=0.25}}}, {name='scen2', at={{var='x1', value=0.75}}}},
6 differences={{name='diff1', evtMargin='scen2', refMargin='scen1'}},
7 marginInfo=true,
8 casOut={name='bart_margins_detailed_out', replace=true};
9RUN;
10QUIT;
Resultado :
Varias tablas de resultados. La tabla principal ('casOut') contiene los resultados para 'scen1', 'scen2' y 'diff1'. Además, se genera una tabla 'MarginInfo' que detalla la configuración de cada margen.

Escenarios asociados

Caso de uso
Análisis de Impacto de Campaña de Marketing

Una empresa minorista desea cuantificar el impacto marginal en el gasto promedio del cliente al variar dos palancas de marketing: el porcentaje de descuento ofrecido y la invers...

Caso de uso
Evaluación de Eficacia de Dosis en un Ensayo Clínico a Gran Escala

Un laboratorio farmacéutico está analizando los datos de un ensayo clínico a gran escala para un nuevo medicamento. Necesitan evaluar cómo diferentes dosis (50mg vs 100mg) afect...

Caso de uso
Control de Calidad Predictivo con Datos Faltantes y Parámetros Avanzados

Una planta de fabricación utiliza un modelo predictivo para estimar la probabilidad de fallo de una máquina basándose en la temperatura del motor y las vibraciones del sensor. E...