Scénario de test & Cas d'usage
Modelos de árboles de regresión aditiva bayesiana.
Descubrir todas las acciones de bartCrea dos tablas. 'sensores_maquina_train' es una tabla completa para el entrenamiento del modelo. 'sensores_maquina_score' es una tabla para la puntuación que contiene valores faltantes ('.') en la columna 'vibracion_sensor' para simular fallos del sensor.
| 1 | DATA mycas.sensores_maquina_train; |
| 2 | call streaminit(789); |
| 3 | DO id_maquina = 1 to 500; |
| 4 | temperatura_motor = 60 + rand('UNIFORM') * 40; |
| 5 | vibracion_sensor = 1 + rand('UNIFORM') * 5; |
| 6 | prob_fallo = 1 / (1 + exp(-( -10 + (temperatura_motor * 0.1) + (vibracion_sensor * 0.5) ))); |
| 7 | OUTPUT; |
| 8 | END; |
| 9 | RUN; |
| 10 | |
| 11 | DATA mycas.sensores_maquina_score; |
| 12 | SET mycas.sensores_maquina_train; |
| 13 | IF mod(_N_, 10) = 0 THEN call missing(vibracion_sensor); |
| 14 | RUN; |
| 1 | PROC CAS; |
| 2 | LOADACTIONSET 'bart'; |
| 3 | bart.bartGauss RESULT=res / |
| 4 | TABLE={name='sensores_maquina_train'}, |
| 5 | inputs={{name='temperatura_motor'}, {name='vibracion_sensor'}}, |
| 6 | target='prob_fallo', |
| 7 | saveState={name='modelo_fallo_maquina', replace=true}; |
| 8 | RUN; |
| 1 | PROC CAS; |
| 2 | bart.bartScoreMargin / |
| 3 | TABLE={name='sensores_maquina_score'}, |
| 4 | model={name='modelo_fallo_maquina'}, |
| 5 | alpha=0.10, |
| 6 | marginInfo=TRUE, |
| 7 | margins={{name='temp_normal', at={{var='temperatura_motor', value=80}}}, |
| 8 | {name='temp_alta', at={{var='temperatura_motor', value=95}}}}, |
| 9 | differences={{name='dif_temp', evtMargin='temp_alta', refMargin='temp_normal'}}, |
| 10 | casOut={name='fallo_maquina_out', replace=true}; |
| 11 | RUN; |
| 12 | QUIT; |
La acción debe completarse sin errores, demostrando que maneja los valores faltantes en la tabla de entrada. La tabla de salida 'fallo_maquina_out' debe contener los márgenes y la diferencia, con los límites de credibilidad superior e inferior calculados para un nivel de confianza del 90%. Además, se debe generar una segunda tabla de resultados, 'MarginInfo', que detalle las variables y valores utilizados para definir los márgenes 'temp_normal' y 'temp_alta'.