bart

bartProbit

Descripción

Ajusta modelos de árboles de regresión aditivos bayesianos (BART) probit a datos de respuesta con distribución binaria.

bart.bartProbit { alpha=double, applyRowOrder=TRUE | FALSE, attributes={{casinvardesc-1}, ...}, class={{classStatement-1}, ...}, differences={{bartScoreMargin_scoreDiff-1}, ...}, display={displayTables}, distributeChains=integer, freq="variable-name", inputs={{casinvardesc-1}, ...}, leafSigmaK=double, margins={{bartScoreMargin_evaluate-1}, ...}, maxTrainTime=double, minLeafSize=integer, missing="MACBIG" | "MACSMALL" | "NONE" | "SEPARATE", model={bartProbitModel}, nBI=integer, nBins=integer, nClassLevelsPrint=integer, nMC=integer, nominals={{casinvardesc-1}, ...}, nThin=integer, nTree=integer, obsLeafMapInMem=TRUE | FALSE, offset="variable-name", orderSplit=integer, output={bartBinOutputStatement}, outputMargins={casouttable}, outputTables={outputTables}, partByFrac={partByFracStatement}, partByVar={partByVarStatement}, quantileBin=TRUE | FALSE, sampleSummary={bartProbit_sampleSummary}, seed=64-bit-integer, store={casouttablebasic}, table={castable}, target="variable-name", trainInMem=TRUE | FALSE, treePrior={bart_treePrior} }
Parámetros
ParámetroDescripción
alphaEspecifica el nivel de significancia para construir límites de credibilidad de colas iguales para los márgenes predictivos.
applyRowOrderCuando se establece en TRUE, aplica el orden de las filas.
attributesCambia los atributos de las variables utilizadas en la acción.
classNombra las variables de clasificación para usar como variables explicativas en el análisis.
differencesEspecifica las diferencias de los márgenes predictivos.
displayEspecifica una lista de tablas de resultados para enviar al cliente para su visualización.
distributeChainsEspecifica un modo distribuido que divide el muestreo MCMC en un entorno de cuadrícula.
freqNombra la variable numérica que contiene la frecuencia de ocurrencia para cada observación.
inputsEspecifica las variables de entrada para usar en el análisis.
leafSigmaKEspecifica el valor utilizado para determinar la varianza a priori para el parámetro de la hoja.
marginsEspecifica un margen predictivo.
maxTrainTimeEspecifica un límite superior (en segundos) en el tiempo para el muestreo MCMC.
minLeafSizeEspecifica el número mínimo de observaciones que cada hijo de una división debe contener en los datos de entrenamiento para que la división sea considerada.
missingEspecifica cómo manejar los valores perdidos en las variables predictoras.
modelNombra la variable dependiente y los efectos explicativos.
nBIEspecifica el número de iteraciones de calentamiento (burn-in) a realizar antes de que la acción comience a guardar muestras para la predicción.
nBinsEspecifica el número de contenedores a usar para la discretización de variables de entrada continuas.
nClassLevelsPrintLimita la visualización de los niveles de clase. El valor 0 suprime todos los niveles.
nMCEspecifica el número de iteraciones MCMC, excluyendo las iteraciones de calentamiento.
nominalsEspecifica las variables de entrada nominales a usar en el análisis.
nThinEspecifica la tasa de adelgazamiento (thinning) de la simulación.
nTreeEspecifica el número de árboles en una muestra del conjunto de suma de árboles.
obsLeafMapInMemCuando se establece en True, almacena en memoria un mapeo de cada observación a los nodos terminales cuando se entrena el modelo.
offsetEspecifica una variable de desplazamiento numérica.
orderSplitEspecifica la cardinalidad mínima para la cual una entrada categórica utiliza reglas de división según el orden de los niveles.
outputCrea una tabla en el servidor que contiene estadísticas a nivel de observación, calculadas después de ajustar el modelo.
outputMarginsEspecifica la tabla de salida para los márgenes predictivos.
outputTablesLista los nombres de las tablas de resultados para guardar como tablas CAS en el servidor.
partByFracEspecifica la fracción de los datos que se utilizará para la prueba.
partByVarNombra la variable y sus valores utilizados para particionar los datos en roles de entrenamiento y prueba.
quantileBinCuando se establece en True, especifica que los límites de los contenedores se establecen en cuantiles de las entradas numéricas en lugar de contenedores de igual ancho.
sampleSummaryCrea una tabla en el servidor que contiene un resumen de las muestras del conjunto de suma de árboles.
seedEspecifica una semilla para iniciar el generador de números pseudoaleatorios.
storeAlmacena el modelo en un objeto de tabla binaria que se puede usar para puntuar.
tableEspecifica la tabla de datos de entrada.
targetEspecifica la variable objetivo.
trainInMemCuando se establece en True, almacena los datos en memoria cuando se entrena el modelo.
treePriorEspecifica la regularización a priori para el conjunto de suma de árboles.
Creación de Datos de Ejemplo

Este código crea una tabla en memoria llamada 'simulated_data' con 1000 observaciones. La tabla contiene una variable de respuesta binaria 'y' y diez variables predictoras continuas (x1 a x10). Los datos se generan de tal manera que la respuesta 'y' depende de una combinación no lineal de las predictoras, lo que es ideal para ser modelado por BART.

¡Copiado!
1DATA casuser.simulated_data(caslib='casuser');
2DO i = 1 to 1000;
3 array x[10];
4 DO j = 1 to 10;
5 x[j] = rannor(12345);
6 END;
7 mu = 10 * sin(3.14 * x[1] * x[2]) + 20 * (x[3] - 0.5)**2 + 10 * x[4] + 5 * x[5];
8 pr = 1 / (1 + exp(-mu));
9 y = rand('BERNOULLI', pr);
10 OUTPUT;
11END;
12RUN;

Ejemplos

Este ejemplo muestra cómo ajustar un modelo BART probit simple. Se especifica la tabla de entrada 'simulated_data', la variable objetivo 'y' y las variables de entrada 'x1' a 'x10'.

Código SAS® / CAS Código en espera de validación por la comunidad
¡Copiado!
1PROC CAS;
2ACTION bart.bartProbit /
3 TABLE={name='simulated_data'},
4 target='y',
5 inputs={'x1', 'x2', 'x3', 'x4', 'x5', 'x6', 'x7', 'x8', 'x9', 'x10'};
6RUN;

Este ejemplo ajusta un modelo BART probit más complejo. Utiliza 100 árboles ('nTree'), 500 iteraciones de calentamiento ('nBI') y 2000 iteraciones de MCMC ('nMC'). Se establece una semilla ('seed') para la reproducibilidad. El modelo resultante se guarda en una tabla CAS llamada 'bart_model_store' para su uso posterior en puntuación.

Código SAS® / CAS Código en espera de validación por la comunidad
¡Copiado!
1PROC CAS;
2ACTION bart.bartProbit /
3 TABLE={name='simulated_data'},
4 target='y',
5 inputs={'x1', 'x2', 'x3', 'x4', 'x5', 'x6', 'x7', 'x8', 'x9', 'x10'},
6 nTree=100,
7 nBI=500,
8 nMC=2000,
9 seed=54321,
10 store={name='bart_model_store', replace=true};
11RUN;

Este ejemplo demuestra cómo particionar los datos en conjuntos de entrenamiento (70%) y prueba (30%) usando el parámetro 'partByFrac'. También genera una tabla de salida ('bart_output') que contiene las predicciones ('pred'), los residuos ('resid') y los límites de credibilidad inferior ('lcl') y superior ('ucl') para cada observación.

Código SAS® / CAS Código en espera de validación por la comunidad
¡Copiado!
1PROC CAS;
2ACTION bart.bartProbit /
3 TABLE={name='simulated_data'},
4 target='y',
5 inputs={'x1', 'x2', 'x3', 'x4', 'x5', 'x6', 'x7', 'x8', 'x9', 'x10'},
6 partByFrac={test=0.3, seed=9876},
7 OUTPUT={casout={name='bart_output', replace=true}, pred='p_y', resid='r_y', lcl='lower', ucl='upper'};
8RUN;

FAQ

¿Qué es la acción `bart.bartProbit` de SAS?
¿Cuál es el propósito principal de la acción `bartProbit`?
¿Cómo se gestionan los valores perdidos en las variables predictoras?
¿Qué parámetros controlan el proceso de muestreo MCMC (Cadenas de Markov Monte Carlo)?
¿Qué representa el parámetro `nTree`?
¿Es posible guardar el modelo entrenado para usarlo posteriormente?

Escenarios asociados

Caso de uso
Análisis de Propensión de Compra en Campaña de Marketing

Una empresa minorista desea predecir qué clientes tienen más probabilidades de responder a una nueva campaña de marketing. El objetivo es optimizar el gasto publicitario dirigié...

Caso de uso
Evaluación de Riesgo de Incumplimiento Crediticio con Gran Volumen de Datos y Particionamiento

Un banco necesita procesar un gran lote de 100,000 solicitudes de préstamos para evaluar el riesgo de incumplimiento. El modelo debe ser entrenado y validado en un corto período...

Caso de uso
Predicción de Diagnóstico Médico con Manejo Estratégico de Datos Faltantes

Un proveedor de atención médica está construyendo un modelo para predecir la probabilidad de una enfermedad basándose en los resultados de las pruebas de los pacientes. Los dato...