Scénario de test & Cas d'usage
Modèles d'arbres de régression additive bayésienne.
Découvrir toutes les actions de bartGénération d'une table volumineuse (200 000 enregistrements) simulant des données de capteurs (température, vibration, pression) et la durée de vie restante d'un composant.
| 1 | DATA mycas.capteurs_usine(copies=2); |
| 2 | call streaminit(555); |
| 3 | DO i = 1 to 100000; |
| 4 | temp_moteur = 80 + rand('NORMAL', 0, 5); |
| 5 | vibration_hz = 60 + rand('NORMAL', 0, 2); |
| 6 | pression_huile = 40 + rand('UNIFORM')*5; |
| 7 | heures_fonctionnement = rand('UNIFORM') * 5000; |
| 8 | /* La durée de vie diminue non-linéairement avec l'usure */ |
| 9 | duree_vie_restante = 2000 - 0.1*heures_fonctionnement - 5*temp_moteur - 10*vibration_hz + rand('NORMAL', 0, 50); |
| 10 | IF duree_vie_restante < 0 THEN duree_vie_restante = 0; |
| 11 | OUTPUT; |
| 12 | END; |
| 13 | RUN; |
| 1 | PROC CAS; |
| 2 | bart.bartGauss / |
| 3 | TABLE={name='capteurs_usine'}, |
| 4 | target='duree_vie_restante', |
| 5 | inputs={'temp_moteur', 'vibration_hz', 'pression_huile', 'heures_fonctionnement'}, |
| 6 | nTree=100, |
| 7 | nBI=500, |
| 8 | nMC=2500, |
| 9 | maxTrainTime=600, /* 10 minutes */ |
| 10 | trainInMem=TRUE, |
| 11 | distributeChains=4, /* Simule une distribution sur 4 workers */ |
| 12 | outputTables={names={'Timing'}}; |
| 13 | RUN; |
L'action doit terminer son exécution en moins de 600 secondes. La table de résultats 'Timing' doit afficher le temps passé dans les différentes phases de l'exécution, avec le 'MCMC Sampling Time' étant la valeur principale. Si le temps est dépassé, l'action doit s'arrêter gracieusement et fournir les résultats basés sur les itérations complétées. Le log doit indiquer que l'option 'trainInMem' a été utilisée.