Datensätze und Auswertung

Datensätze und Evaluation

Datensätze

Die Datensätze bestehen aus Daten von drei Windparks und enthalten 10-minütige Zeitreihen von Sensormesswerten und Status-IDs. Die Daten sind in Trainings- und Auswertungsdatensätze unterteilt. Zusätzlich zu den Betriebsdaten stellen wir Ereignisinformationen für die Trainingsdaten zur Verfügung, d.h. ob der Vorhersagezeitraum Anomalien enthält, die zu einem Ausfall oder einer Wartungsmaßnahme führen, oder ob er nur normales Verhalten enthält.

Für jeden Windpark gibt es mehrere Datensätze, die kontinuierliche multivariate Zeitreihen einer Windkraftanlage enthalten. Diese Datensätze enthalten sowohl Trainingsdaten (ein Jahr vor dem Testzeitraum) als auch die Vorhersagedaten (angegeben durch die Spalte train_test). Die Sensormessungen sind 10-Minuten-Mittelwerte, Minima, Maxima und Standardabweichungen von SCADA-Variablen. Die Status-ID gibt an, ob die Windkraftanlage im Normalbetrieb, im Leerlauf usw. war:

Statustyp IDStatustypBeschreibungals normal erachtet
0Normal operationNormalbetrieb ohne EinschränkungenTrue
1Derated operationAbgeregelte Leistungsgenerierung mit einer Einschränkung der LeistungFalse
2IdlingAnlage im Leerlauf und wartet auf InbetriebnahmeTrue
3ServiceAnlage im Wartungsmodus / Wartungsteam vor OrtFalse
4DowntimeAnlage ist außer Betrieb wegen Fehlers oder anderer GründeFalse
5OtherAndere BetriebszuständeFalse
Statustypen

Beachten Sie, dass die Statuswerte inkonsistent sein können; oft wird der Status nur gesendet, wenn er sich ändert, was bei einem kurzen Kommunikationsfehler fehlschlagen kann. Es ist daher ratsam, zusätzlich zu den Statuswerten die Werte für Leistung und Windgeschwindigkeit zu überprüfen, um festzustellen, ob die Turbine tatsächlich normal funktioniert hat.

Da wir wollen, dass die Modelle Anomalien mit möglichst wenigen Fehlalarmen erkennen, enthalten die Datensätze sowohl anomale als auch „normale“ Ereignisse, was bedeutet, dass der Vorhersagezeitraum nur normales Verhalten enthalten kann.

Aufgabe

Die Aufgabe besteht darin vorherzusagen, ob in den Vorhersagedaten der Auswertungsdateien Anomalien vorhanden sind, die auf einen Ausfall hindeuten, und zwar so früh wie möglich und mit so wenig Fehlalarmen wie möglich.

Um Ihr(e) Modell(e) zu validieren, sind Ereignisinformationen für die Trainingsdaten verfügbar. Dazu gehören die folgenden Informationen:

  • event_id: ID des Ereignisses
  • event_label: gibt an, ob dieses Ereignis Anomalien enthält, die zu einem Fehler führen
  • event_start: Start-Zeitstempel des Ereignisses
  • event_end: Ende des Eregnisses
  • description: kurze Beschreibung des Fehlers, falls vorhanden

Dateien

Alle Daten sind im Verzeichnis „data“ enthalten. Für jeden der drei Windparks Windpark A, Windpark B und Windpark C gibt es eine unterschiedlichen Anzahl Testdatensätze (Ereignisse).

Jeder Windpark hat sein eigenes Verzeichnis, in dem die Dateistruktur wie folgt aussieht:

  • Wind Farm A:
    • evaluation
      • <event_id>.csv
      • <event_id>.csv
    • Train
      • <event_id>.csv
      • <event_id>.csv
    • event_info.csv
    • feature_description.csv

Zusätzlich stellen wir ein Quick-Start-Jupyter-Notebook zur Verfügung, das Beispiele für das Laden von Daten, die Datenexploration, das Trainieren von Modellen und eine auf den Trainingsdaten basierende Auswertung zeigt.

Datasets

Die Verzeichnisse (evaluation) und (train) enthalten jeweils Daten für verschiedene Ereignisse. Jede csv-Datei mit Ereignisdaten enthält Zeitreihen einer Windkraftanlage, die sowohl Trainings- als auch Vorhersagedaten enthalten (gekennzeichnet durch die Spalte „train_test“). Die Datensätze sind alle hochdimensional mit 80, 250 oder 950 Merkmalen (je nach Anlagentyp). Die Vorhersagedaten enthalten das zu prognostizierende Ereignis. Zusätzlich zu den Merkmalen, die in 10-Minuten-Minuten, Max-Minuten, Durchschnittswerten und Standardwerten der Sensormessungen angegeben sind, gibt es Spalten für die Status-ID (status_type_id), die Anlagen-ID (asset ID), den Zeitstempel (time_stamp) und eine Zeilen-ID (id). Die Sensordaten und Zeitstempel sind anonymisiert.

Event information

Für jeden Windpark gibt es eine csv-Datei mit Ereignisinformationen (‚event_info.csv‘). Diese Datei enthält zusätzliche Informationen zu allen Ereignissen im Verzeichnis „train“. Sie enthält die Spalten „event_id“ (Dateiname des Datensatzes, der das Ereignis enthält), „event_label“ (entweder normal oder anomal), „event start“, „event end“ und „event_description“.

Feature description

Die Merkmale in den <event id>.csv-Dateien werden in der ‚feature-description.csv‘-datei beschrieben. Diese enthält eine kurze Beschreibung für jedes Merkmal.

Auswertung

Für die Auswertung des Ringversuchs werden die Dateien im ‚Evaluation‘-Ordner verwendet. Alle Vorhersagen aus den Auswertungsdatensätzen sollten in einer Ergebnisdatei gesammelt werden.
Um die Ergebnisse auszuwerten, wird die Grundwahrheit (ground truth) für jedes Ereignis wie folgt definiert:

  1. Nur Zeitstempel mit normalem Betriebsmodus (d. h. Status-Type-ID gleich 0 oder 2) werden berücksichtigt.
  2. Zeitstempel werden für anormale Ereignisse zwischen Start des Ereignisses (event_start) und dem Ende des Ereignisses (event_end) mit True gekennzeichnet.
  3. Alle anderen Zeitstempel werden anhand der Status-Type-ID gekennzeichnet (s. Spalte ‚als normal erachtet‘ ).

Der finale Score errechnet sich aus dem Durchschnitt der folgenden 4 Scores:

  1. F-Beta-Score (FBeta)
    Berechnet den F-beta-Score nach sklearn.metrics.fbeta_score  für eine gegebene Vorhersage und Grundwahrheit zu jedem Anomalieereignis, mit beta=0.5.
  2. Genauigkeit (Acc)
    Berechnet die Klassifikationsgenauigkeit nach sklearn.metrics.accuracy_score für eine gegebene Vorhersage und Grundwahrheit zu jedem normalen Ereignis.
  3. Eventwise F-Score (EFS)
    Wenn mehr als 10 % der Zeitstempel eines Ereignisses als Anomalie vorhergesagt werden, wird das Ereignis als vorhergesagtes Anomalie-Ereignis betrachtet.
    Wenn weniger als 10 % der Zeitstempel des Ereignisses als Anomalien vorhergesagt werden, gilt das Ereignis als vorhergesagtes Normal-Ereignis. Der Eventwise F-Score ist der F-Beta-Score nach sklearn.metrics.fbeta_score bezüglich der Vorhersagen von anormalen und normalen Ereignissen unter Verwendung der vordefinierten (dem Teilnehmer unbekannten) Ereignis-Labels (event labels) als Grundwahrheit.
  4. Weighted Score (WS)
    Der gewichtete Score (weighted score) weist Anomalien, welche in der ersten Hälfte eines anormalen Ereignisses entdeckt werden, ein höheres Gewicht zu, als Anomalien, die gegen Ende des Ereignisses entdeckt werden. Der WS ist die normalisierte gewichtete Summe aller korrekt erkannten Anomalie-Zeitstempel, geteilt durch die Gesamtzahl der Anomalie-Zeitstempel basierend auf der Grundwahrheit des Ereignisses. Dieser Wert wird nur für anormale Ereignisse berechnet.

Der finale Score ist die normierte Summe aus der durchschnittlichen Acc für alle normalen Ereignisse (Accaverage), den durchschnittlichen FBeta und WS für alle anormalen Ereignisse (Fbetaaverage und WSaverage), sowie dem EFS über alle Ereignisse:

Final Score = 1/5(Fbetaaverage  + 2*Accaverage + EFS + WSaverage)