Scénario de test & Cas d'usage
Modelos de árboles de regresión aditiva bayesiana.
Descubrir todas las acciones de bartGenera una tabla de gran volumen (2 millones de registros) que simula lecturas de sensores (temperatura, presión, vibración) y una métrica de degradación.
| 1 | DATA mycas.sensores_planta(promote=yes); |
| 2 | call streaminit(1337); |
| 3 | DO i = 1 to 2000000; |
| 4 | temperatura = 80 + rand('NORMAL', 5, 2.5); |
| 5 | presion = 1000 + rand('NORMAL', 50, 10); |
| 6 | vibracion = 0.5 + rand('UNIFORM') * 2; |
| 7 | horas_operacion = i / 1000; |
| 8 | degradacion = 0.01 * horas_operacion + 0.005 * temperatura + 0.002 * presion + 0.1 * vibracion**2 + rand('NORMAL', 0, 0.1); |
| 9 | OUTPUT; |
| 10 | END; |
| 11 | RUN; |
| 1 | PROC CASUTIL; |
| 2 | list tables; |
| 3 | QUIT; |
| 1 | PROC CAS; |
| 2 | bart.bartGauss / |
| 3 | TABLE={name='sensores_planta'}, |
| 4 | target='degradacion', |
| 5 | inputs={'temperatura', 'presion', 'vibracion', 'horas_operacion'}, |
| 6 | nTree=100, |
| 7 | nBI=500, |
| 8 | nMCDist=1000, |
| 9 | distributeChains=4, |
| 10 | maxTrainTime=600, |
| 11 | seed=555, |
| 12 | OUTPUT={casout={name='predicciones_sensores', replace=true}, copyvars='ALL'}; |
| 13 | RUN; |
| 14 | QUIT; |
El modelo se entrena en un tiempo razonable (menos de 10 minutos) gracias al procesamiento distribuido ('distributeChains'). La acción produce una tabla de salida 'predicciones_sensores' con las predicciones para cada lectura. El rendimiento demuestra la capacidad de la acción para manejar grandes volúmenes de datos.