aggregation aggregate

Surveillance de capteurs IoT avec gestion des valeurs manquantes et pondération

Scénario de test & Cas d'usage

Contexte Métier

Une usine utilise des capteurs pour surveiller la température de ses machines. Certains relevés sont manquants. Chaque capteur a un indice de fiabilité qui doit être utilisé pour pondérer les mesures. L'objectif est de calculer une température moyenne pondérée toutes les 5 minutes pour chaque machine, tout en comptabilisant les relevés manquants pour évaluer la qualité des données.
À propos du Set : aggregation

Agrégation de données et calculs statistiques sommaires.

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

Création d'une table de relevés de capteurs, avec des valeurs de température manquantes ('.') et un poids de fiabilité pour chaque mesure.

Copié !
1DATA casuser.releves_capteurs;
2informat ts datetime20.;
3FORMAT ts datetime20.;
4INPUT id_machine $ temperature fiabilite ts;
5DATALINES;
6MACH01 205.5 0.9 '15JAN2023:10:00:00'dt
7MACH01 206.1 0.9 '15JAN2023:10:01:00'dt
8MACH01 . 0.9 '15JAN2023:10:02:00'dt
9MACH01 207.0 0.8 '15JAN2023:10:03:00'dt
10MACH02 150.2 1.0 '15JAN2023:10:01:00'dt
11MACH02 151.8 1.0 '15JAN2023:10:02:00'dt
12MACH02 . 1.0 '15JAN2023:10:03:00'dt
13MACH02 152.5 0.5 '15JAN2023:10:04:00'dt
14MACH01 208.2 0.9 '15JAN2023:10:05:00'dt
15;
16RUN;

Étapes de réalisation

1
Exécution de l'agrégation par intervalle de 5 minutes, groupée par machine. L'action utilise le paramètre 'weight' et calcule les statistiques de base (SUMMARY) ainsi que le nombre de valeurs manquantes (NMISS).
Copié !
1PROC CAS;
2 aggregation.aggregate /
3 TABLE={name='releves_capteurs', groupBy={'id_machine'}},
4 id='ts',
5 interval='MINUTE5',
6 align='BEGINNING',
7 weight='fiabilite',
8 varSpecs={
9 {name='temperature', agg='SUMMARY' },
10 {name='temperature', agg='NMISS', columnNames={'Releves_Manquants'}}
11 },
12 casOut={name='synthese_machines_5min', replace=true};
13RUN;
14QUIT;

Résultat Attendu


La table de sortie 'synthese_machines_5min' est générée. Elle contient, pour chaque machine et chaque intervalle de 5 minutes, les statistiques descriptives (moyenne, min, max, etc.) de la température, pondérées par la fiabilité du capteur. Une colonne 'Releves_Manquants' indique précisément combien de mesures étaient manquantes dans chaque intervalle, ce qui est crucial pour la maintenance prédictive.