bart

bartGauss

Descripción

Ajusta modelos de árboles de regresión aditivos bayesianos (BART) a datos de respuesta distribuidos normalmente.

bart.bartGauss <result=results> <status=rc> / alpha=double, attributes={{casinvardesc-1} <, {casinvardesc-2}, ...>}, class={{classStatement-1} <, {classStatement-2}, ...>}, differences={{bartScoreMargin_scoreDiff-1} <, {bartScoreMargin_scoreDiff-2}, ...>}, display={displayTables}, distributeChains=integer, freq="variable-name", inputs={{casinvardesc-1} <, {casinvardesc-2}, ...>}, leafSigmaK=double, margins={{bartScoreMargin_evaluate-1} <, {bartScoreMargin_evaluate-2}, ...>}, maxTrainTime=double, minLeafSize=integer, missing="MACBIG" | "MACSMALL" | "NONE" | "SEPARATE", model={bartGaussModel}, nBI=integer, nBins=integer, nClassLevelsPrint=integer, nMC=integer, nMCDist=integer, nominals={{casinvardesc-1} <, {casinvardesc-2}, ...>}, nThin=integer, nTree=integer, obsLeafMapInMem=TRUE | FALSE, orderSplit=integer, output={bartOutputStatement}, outputMargins={casouttable}, outputTables={outputTables}, partByFrac={partByFracStatement}, partByVar={partByVarStatement}, quantileBin=TRUE | FALSE, sampleSummary={bartGauss_sampleSummary}, seed=64-bit-integer, sigmaDF=double, sigmaLambda=double, sigmaQuantile=double, store={casouttablebasic}, table={castable}, target="variable-name", trainInMem=TRUE | FALSE, treePrior={bart_treePrior}, varAutoCorr={integer-1 <, integer-2, ...>}, varEst=double ;
Parámetros
ParámetroDescripción
alphaespecifica el nivel de significancia a utilizar para construir límites de credibilidad de colas iguales para los márgenes predictivos.
attributescambia los atributos de las variables utilizadas en la acción. Actualmente, los atributos especificados en los parámetros de entradas y nominales son ignorados.
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. Este modo distribuye los datos de entrenamiento a los trabajadores para que el número especificado de trabajadores tenga una copia completa de los datos de entrenamiento y ejecute una cadena separada. Este parámetro no es aplicable cuando se está en modo de una sola máquina. Cuando se especifica un valor de 0, se ejecuta una sola cadena y a cada nodo trabajador se le asigna una porción de los datos de entrenamiento.
freqnombra la variable numérica que contiene la frecuencia de ocurrencia para cada observación.
inputsespecifica las variables de entrada a utilizar 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 utilizar para la discretización de las 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. Este es el tamaño de la muestra MCMC si la tasa de adelgazamiento es 1. Esta opción se ignora si especifica el parámetro nMCDist y ejecuta cadenas distribuidas.
nMCDistespecifica el número de iteraciones MCMC para cada cadena, excluyendo las iteraciones de calentamiento, cuando se utilizan múltiples cadenas.
nominalsespecifica las variables de entrada nominales a utilizar 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.
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 por observación, que se calculan 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 las pruebas.
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.
sigmaDFespecifica los grados de libertad de la distribución a priori chi-cuadrado inversa escalada para el parámetro de varianza.
sigmaLambdaespecifica el parámetro de escala de la distribución a priori chi-cuadrado inversa escalada para el parámetro de varianza. No puede especificar este parámetro y el parámetro sigmaQuantile.
sigmaQuantileespecifica el nivel de cuantil a utilizar para determinar el parámetro de escala de la distribución a priori chi-cuadrado inversa para el parámetro de varianza. No puede especificar este parámetro y el parámetro sigmaLambda.
storealmacena el modelo en un objeto de tabla binaria que puede utilizar para la puntuación.
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 distribución a priori de regularización para el conjunto de suma de árboles.
varAutoCorrespecifica los retardos de autocorrelación para el parámetro de varianza.
varEstespecifica el valor inicial para la varianza. Por defecto, el valor inicial de la varianza se determina mediante una regresión de mínimos cuadrados de la variable de respuesta sobre las variables predictoras.
Creación de Datos de Muestra

Este código crea una tabla CAS de muestra llamada 'mycas.sample_data' con una variable de respuesta continua ('y') y varias variables predictoras ('x1' a 'x5') para ser utilizada en los ejemplos de bartGauss.

¡Copiado!
1DATA mycas.sample_data;
2 DO i = 1 to 100;
3 x1 = rand('UNIFORM');
4 x2 = rand('UNIFORM');
5 x3 = rand('UNIFORM');
6 x4 = rand('NORMAL', 0, 1);
7 x5 = rand('NORMAL', 5, 2);
8 y = 10 * sin(x1 * x2) + 20 * (x3 - 0.5)**2 + 10 * x4 + 5 * x5 + rand('NORMAL', 0, 1);
9 OUTPUT;
10 END;
11 RUN;

Ejemplos

Este ejemplo muestra cómo ajustar un modelo BART simple con una variable de respuesta ('y') y cinco predictores continuos ('x1' a 'x5') de la tabla 'mycas.sample_data'.

Código SAS® / CAS Código en espera de validación por la comunidad
¡Copiado!
1PROC CAS;
2 bart.bartGauss /
3 TABLE={name='sample_data'}
4 model={depVars={{name='y'}}, effects={{vars={'x1', 'x2', 'x3', 'x4', 'x5'}}}}
5;
6 RUN;
7 QUIT;
Resultado :
La acción ejecuta el análisis y devuelve tablas que resumen el modelo, como 'Información del Modelo', 'Información de Datos' y 'Resumen de Variables'. No se generan tablas de salida persistentes en este ejemplo simple.

Este ejemplo ajusta un modelo BART más complejo utilizando 100 árboles, 500 iteraciones de MCMC después de 250 iteraciones de calentamiento (burn-in). También particiona los datos, utilizando el 30% para pruebas, y guarda el modelo entrenado en una tabla CAS llamada 'bart_model_store'.

Código SAS® / CAS Código en espera de validación por la comunidad
¡Copiado!
1PROC CAS;
2 bart.bartGauss /
3 TABLE={name='sample_data'}
4 model={depVars={{name='y'}}, effects={{vars={'x1', 'x2', 'x3', 'x4', 'x5'}}}}
5 nTree=100
6 nBI=250
7 nMC=500
8 seed=12345
9 partByFrac={test=0.3, seed=54321}
10 store={name='bart_model_store', replace=true}
11;
12 RUN;
13 QUIT;
Resultado :
La acción realiza el entrenamiento y la validación del modelo. Además de las tablas de resumen, se crea una tabla CAS llamada 'bart_model_store' en la caslib activa, que contiene el estado del modelo para futuras tareas de puntuación. Las tablas de resultados incluirán estadísticas de ajuste para las particiones de entrenamiento y prueba.

FAQ

¿Para qué se utiliza la acción bartGauss?
¿Qué especifica el parámetro 'nTree'?
¿Cómo maneja la acción bartGauss los valores perdidos por defecto?
¿Cuál es la función del parámetro 'store'?
¿Qué indica el parámetro 'nBI'?
¿Para qué sirve el parámetro 'leafSigmaK'?

Escenarios asociados

Caso de uso
Predicción del Gasto del Cliente para Campaña de Marketing Personalizada

Una empresa minorista quiere optimizar su presupuesto de marketing prediciendo el gasto futuro de sus clientes. El objetivo es construir un modelo BART para identificar a los cl...

Caso de uso
Análisis de Rendimiento de Sensores en un Entorno de Big Data

Una planta de fabricación recopila millones de lecturas de sensores por hora para predecir la degradación de una pieza clave. Se necesita un modelo que pueda entrenarse eficient...

Caso de uso
Predicción de Riesgo Clínico con Datos Incompletos

Un hospital quiere predecir el nivel de glucosa en sangre de pacientes diabéticos basándose en datos clínicos que a menudo están incompletos. El modelo debe ser robusto y capaz ...