bart bartScore

Scoring de masse de capteurs IoT pour la maintenance prédictive (Volumétrie)

Scénario de test & Cas d'usage

Contexte Métier

Un industriel a déployé des milliers de capteurs sur sa chaîne de production. Un modèle BART a été entraîné pour prédire la durée de vie restante (en heures) d'un composant. Ce test vise à valider la performance de `bartScore` sur un très grand volume de données de capteurs (1 million de lignes).
À propos du Set : bart

Modèles d'arbres de régression additive bayésienne.

Découvrir toutes les actions de bart
Préparation des Données

Cré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.

Copié !
1DATA 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;
11RUN;
12DATA 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;
20RUN;
21PROC 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};
27RUN;
28QUIT;

Étapes de réalisation

1
Scoring de la table volumineuse `capteurs_live_stream` et calcul des intervalles de crédibilité à 99% pour identifier les composants à risque.
Copié !
1PROC 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};
10RUN;
11QUIT;

Résultat Attendu


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é.