Ajusta modelos de árboles de regresión aditivos bayesianos (BART) a datos de respuesta distribuidos normalmente.
| Parámetro | Descripción |
|---|---|
| alpha | especifica el nivel de significancia a utilizar para construir límites de credibilidad de colas iguales para los márgenes predictivos. |
| attributes | cambia los atributos de las variables utilizadas en la acción. Actualmente, los atributos especificados en los parámetros de entradas y nominales son ignorados. |
| class | nombra las variables de clasificación para usar como variables explicativas en el análisis. |
| differences | especifica las diferencias de los márgenes predictivos. |
| display | especifica una lista de tablas de resultados para enviar al cliente para su visualización. |
| distributeChains | especifica 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. |
| freq | nombra la variable numérica que contiene la frecuencia de ocurrencia para cada observación. |
| inputs | especifica las variables de entrada a utilizar en el análisis. |
| leafSigmaK | especifica el valor utilizado para determinar la varianza a priori para el parámetro de la hoja. |
| margins | especifica un margen predictivo. |
| maxTrainTime | especifica un límite superior (en segundos) en el tiempo para el muestreo MCMC. |
| minLeafSize | especifica 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. |
| missing | especifica cómo manejar los valores perdidos en las variables predictoras. |
| model | nombra la variable dependiente y los efectos explicativos. |
| nBI | especifica 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. |
| nBins | especifica el número de contenedores a utilizar para la discretización de las variables de entrada continuas. |
| nClassLevelsPrint | limita la visualización de los niveles de clase. El valor 0 suprime todos los niveles. |
| nMC | especifica 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. |
| nMCDist | especifica el número de iteraciones MCMC para cada cadena, excluyendo las iteraciones de calentamiento, cuando se utilizan múltiples cadenas. |
| nominals | especifica las variables de entrada nominales a utilizar en el análisis. |
| nThin | especifica la tasa de adelgazamiento (thinning) de la simulación. |
| nTree | especifica el número de árboles en una muestra del conjunto de suma de árboles. |
| obsLeafMapInMem | cuando se establece en True, almacena en memoria un mapeo de cada observación a los nodos terminales cuando se entrena el modelo. |
| orderSplit | especifica la cardinalidad mínima para la cual una entrada categórica utiliza reglas de división según el orden de los niveles. |
| output | crea una tabla en el servidor que contiene estadísticas por observación, que se calculan después de ajustar el modelo. |
| outputMargins | especifica la tabla de salida para los márgenes predictivos. |
| outputTables | lista los nombres de las tablas de resultados para guardar como tablas CAS en el servidor. |
| partByFrac | especifica la fracción de los datos que se utilizará para las pruebas. |
| partByVar | nombra la variable y sus valores utilizados para particionar los datos en roles de entrenamiento y prueba. |
| quantileBin | cuando 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. |
| sampleSummary | crea una tabla en el servidor que contiene un resumen de las muestras del conjunto de suma de árboles. |
| seed | especifica una semilla para iniciar el generador de números pseudoaleatorios. |
| sigmaDF | especifica los grados de libertad de la distribución a priori chi-cuadrado inversa escalada para el parámetro de varianza. |
| sigmaLambda | especifica 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. |
| sigmaQuantile | especifica 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. |
| store | almacena el modelo en un objeto de tabla binaria que puede utilizar para la puntuación. |
| table | especifica la tabla de datos de entrada. |
| target | especifica la variable objetivo. |
| trainInMem | cuando se establece en True, almacena los datos en memoria cuando se entrena el modelo. |
| treePrior | especifica la distribución a priori de regularización para el conjunto de suma de árboles. |
| varAutoCorr | especifica los retardos de autocorrelación para el parámetro de varianza. |
| varEst | especifica 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. |
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.
| 1 | DATA 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; |
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'.
| 1 | PROC 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; |
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'.
| 1 | PROC 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; |
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...
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...
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 ...