percentile boxPlot

Performance-Szenario: Analyse von Sensordaten aus einer großen Anzahl von Maschinen

Scénario de test & Cas d'usage

Geschäftskontext

Ein Fertigungsunternehmen sammelt Temperaturdaten von Tausenden von Maschinen. Ziel ist es, die Leistungsfähigkeit der `boxPlot`-Aktion bei der Verarbeitung eines großen Datenvolumens mit einer hohen Anzahl von Gruppen (Maschinen-IDs) zu bewerten. Es wird die iterative Methode zur Optimierung der Speicher- und Rechenzeitnutzung verwendet.
Über das Set : percentile

Präzise Berechnung von Perzentilen und Quantilen.

Entdecken Sie alle Aktionen von percentile
Datenaufbereitung

Erstellt eine große Tabelle mit simulierten Temperaturmessungen von 5.000 verschiedenen Maschinen.

Kopiert!
1DATA casuser.sensor_data_de;
2 LENGTH machine_id $ 10;
3 DO i = 1 to 5000;
4 machine_id = 'MACHINE_' || put(i, z4.);
5 DO j = 1 to 200;
6 temperature = 70 + (i/100) + rand('NORMAL', 0, 2.5);
7 OUTPUT;
8 END;
9 END;
10RUN;

Étapes de réalisation

1
Ausführen der Boxplot-Analyse mit der iterativen Methode, Gruppierung nach `machine_id` und Aktivierung der Ausreißererkennung.
Kopiert!
1PROC CAS;
2 percentile.boxPlot /
3 TABLE={name='sensor_data_de', caslib='casuser', groupBy={'machine_id'}},
4 inputs={{name='temperature'}},
5 casOut={name='sensor_boxplot_perf', caslib='casuser', replace=true},
6 method='ITERATIVE',
7 outliers=true,
8 whiskerPercentile=5;
9RUN;
10QUIT;
2
Überprüfung der Ausgabetabelle, um sicherzustellen, dass die Ergebnisse für alle 5.000 Maschinen generiert wurden und Ausreißerinformationen enthalten sind.
Kopiert!
1PROC CONTENTS DATA=casuser.sensor_boxplot_perf; RUN;
2PROC PRINT DATA=casuser.sensor_boxplot_perf(obs=10);
3 var machine_id _MEDIAN_ _NOUTLIERS_ _OUTLIERS_LOW_ _OUTLIERS_HIGH_;
4RUN;

Erwartetes Ergebnis


Die Aktion sollte erfolgreich abgeschlossen werden, ohne Speicher- oder Zeitüberschreitungsfehler. Die Ausgabetabelle `sensor_boxplot_perf` muss 5.000 Zeilen enthalten, eine für jede `machine_id`. Die Spalten `_NOUTLIERS_`, `_OUTLIERS_LOW_` und `_OUTLIERS_HIGH_` müssen vorhanden sein, da `outliers=true` gesetzt wurde. Die Leistung sollte im Rahmen der erwarteten Benchmarks für die iterative Methode liegen.