Scénario de test & Cas d'usage
Modèles d'arbres de régression additive bayésienne.
Découvrir toutes les actions de bartCréation d'une table d'entraînement `capteurs_train`. Entraînement d'un modèle de régression `bartGauss` pour prédire `duree_vie_restante`. Simulation d'une table volumineuse `capteurs_live_stream` (1 million d'observations) pour le test de performance.
| 1 | DATA capteurs_train; |
| 2 | call streaminit(789); |
| 3 | DO id_capteur = 1 to 5000; |
| 4 | temperature = 80 + rand('normal', 5); |
| 5 | vibration = 5 + rand('normal', 1.5); |
| 6 | heures_fonctionnement = rand('uniform') * 1000; |
| 7 | duree_vie_restante = 2000 - (heures_fonctionnement * 1.5) - (temperature-80)*10 - (vibration-5)*20 + rand('normal', 50); |
| 8 | IF duree_vie_restante < 0 THEN duree_vie_restante = 0; |
| 9 | OUTPUT; |
| 10 | END; |
| 11 | RUN; |
| 12 | DATA capteurs_live_stream; |
| 13 | call streaminit(101); |
| 14 | DO id_capteur = 5001 to 1005000; |
| 15 | temperature = 80 + rand('normal', 5); |
| 16 | vibration = 5 + rand('normal', 1.5); |
| 17 | heures_fonctionnement = rand('uniform') * 1000; |
| 18 | OUTPUT; |
| 19 | END; |
| 20 | RUN; |
| 21 | PROC CAS; |
| 22 | load DATA=CASUSER.capteurs_train outcaslib="casuser" casout="capteurs_train" replace; |
| 23 | load DATA=CASUSER.capteurs_live_stream outcaslib="casuser" casout="capteurs_live_stream" replace; |
| 24 | bart.bartGauss TABLE={name='capteurs_train'}, |
| 25 | model={depVars={{name='duree_vie_restante'}}, effects={{vars={'temperature', 'vibration', 'heures_fonctionnement'}}}}, |
| 26 | store={name='maintenance_model', replace=true}; |
| 27 | RUN; |
| 28 | QUIT; |
| 1 | PROC CAS; |
| 2 | bart.bartScore TABLE={name='capteurs_live_stream'}, |
| 3 | restore={name='maintenance_model'}, |
| 4 | alpha=0.01, |
| 5 | copyVars={'id_capteur', 'temperature', 'vibration'}, |
| 6 | pred='Duree_Vie_Predite', |
| 7 | lcl='LCL_Duree_Vie', |
| 8 | ucl='UCL_Duree_Vie', |
| 9 | casOut={name='predictions_maintenance', replace=true}; |
| 10 | RUN; |
| 11 | QUIT; |
L'action `bartScore` doit s'exécuter sans erreur de performance ou de mémoire. La table de sortie `predictions_maintenance` doit contenir pour chaque capteur la durée de vie prédite (`Duree_Vie_Predite`) ainsi que les bornes inférieure (`LCL_Duree_Vie`) et supérieure (`UCL_Duree_Vie`) de l'intervalle de crédibilité.