percentile assess

Bewertung eines Modells für Maschinenausfälle mit fehlenden Zieldaten und Gewichtung

Scénario de test & Cas d'usage

Geschäftskontext

Ein Industrieunternehmen bewertet ein Modell zur Vorhersage von Maschinenausfällen. Die historischen Daten sind unvollständig; bei einigen Beobachtungen ist der Ausfallstatus (`AUSFALL`) nicht erfasst (missing). Zudem sollen Ausfälle bei kritischen Maschinen (`KRITIKALITAET`) in der Bewertung stärker gewichtet werden. Dieser Test validiert, wie die Aktion mit fehlenden Zielwerten und Beobachtungsgewichten umgeht.
Über das Set : percentile

Präzise Berechnung von Perzentilen und Quantilen.

Entdecken Sie alle Aktionen von percentile
Datenaufbereitung

Erstellt die Tabelle `MASCHINEN_DATEN` mit einer Zielvariable `AUSFALL`, die fehlende Werte enthält, einer Vorhersage `P_AUSFALL` und einer Gewichtungsvariable `KRITIKALITAET`.

Kopiert!
1DATA mycas.MASCHINEN_DATEN;
2 call streaminit(789);
3 DO MASCHINEN_ID = 1 to 1000;
4 P_AUSFALL = rand('UNIFORM');
5 KRITIKALITAET = 1 + rand('INTEGER', 1, 5); /* Gewichtung von 1 bis 6 */
6 IF rand('UNIFORM') < 0.1 THEN call missing(AUSFALL); /* 10% fehlende Zielwerte */
7 ELSE IF P_AUSFALL > 0.8 THEN AUSFALL = 1;
8 ELSE AUSFALL = 0;
9 OUTPUT;
10 END;
11RUN;

Étapes de réalisation

1
Erster Durchlauf: Standardverhalten mit fehlenden Zielwerten (noMissingTarget=FALSE).
Kopiert!
1PROC CAS;
2 percentile.assess /
3 TABLE={name='MASCHINEN_DATEN'},
4 response='AUSFALL',
5 inputs={{name='P_AUSFALL'}},
6 event='1',
7 noMissingTarget=FALSE, /* Default */
8 fitStatOut={name='wartung_stats_mit_missing', replace=true};
9RUN;
10QUIT;
2
Zweiter Durchlauf: Expliziter Ausschluss fehlender Zielwerte und Anwendung der Gewichtung.
Kopiert!
1PROC CAS;
2 percentile.assess /
3 TABLE={name='MASCHINEN_DATEN'},
4 response='AUSFALL',
5 inputs={{name='P_AUSFALL'}},
6 event='1',
7 noMissingTarget=TRUE, /* Schließt Beobachtungen mit fehlendem AUSFALL aus */
8 weight='KRITIKALITAET', /* Wendet die Gewichtung an */
9 fitStatOut={name='wartung_stats_gewichtet', replace=true};
10RUN;
11QUIT;

Erwartetes Ergebnis


Zwei Ergebnistabellen werden erstellt. `wartung_stats_mit_missing` wird auf Basis aller 1000 Beobachtungen berechnet, was zu potenziell irreführenden Statistiken führt. `wartung_stats_gewichtet` wird auf den ~900 Beobachtungen ohne fehlende Zielwerte berechnet, und die Statistiken (z.B. Gini, Lift) spiegeln die höhere Bedeutung der kritischen Maschinen wider. Der Vergleich der 'NObs'-Werte und der Statistiken in beiden Tabellen validiert die korrekte Funktionsweise von `noMissingTarget` und `weight`.