Maschinelles Lernen: Identifizieren von Mustern in Zeitreihendaten

8

Ich arbeite in erneuerbaren Energien. Mein Unternehmen sammelt viele Daten von Geräten. Dies umfasst typischerweise Prozessdaten (wie Transformatortemperatur, Netzspannungen, Ströme usw.) und diskrete Alarme (z. B. Leistungsschalterauslösung, Wechselrichteralarmwerte, Transformatorübertemperaturalarm). Dies ist ein grobes Beispiel dafür, wie unsere Daten aussehen (als CSV-Zeilen zu lesen):

  • Zeitstempel, Tag, Wert
  • 25.05.2016 14:30:01, INVERTER_1.VOLTAGE_DC, 249.5
  • 25.05.2016 14:30:06, INVERTER_1.VOLTAGE_DC, 250.1
  • 25.05.2016 14:45:02, TRANSFORMER_1.TEMP_ALARM, 0
  • 25.05.2016 14:45:15, TRANSFORMER_1.TEMP_ALARM, 1

Ich möchte eine Musteranalyse für diese Daten in Ruhe durchführen, nicht in Echtzeit (zumindest für den Moment). Ich glaube, was ich versuchen möchte, ist unbeaufsichtigtes Feature-Lernen, aber ich bin mir nicht ganz sicher. Es wäre schön (ich denke), maschinelles Lernen anzuwenden, um 1) Muster zu identifizieren, die nicht offensichtlich sind, und 2) einem Algorithmus zu erlauben, Signaturen von Mustern in den Daten zu identifizieren (z. B. verlieren alle Wechselrichter eines einzelnen Abzweigs die Kommunikation, wenn ein Leistungsschalter auftritt ist offen).

Meine erste Frage: Werden dies als Zeitreihendaten betrachtet? In meiner bisherigen Forschung scheinen Zeitreihendaten auf Daten zu verweisen, die eine Funktion der Zeit sind. Für die meisten meiner Daten glaube ich als Domain-Experte nicht, dass das Definieren von Funktionen für meine Daten für diese Analyse nützlich ist. In meiner Forschung scheint es auch so, als ob sich Zeitreihendaten auf reelle Werte beziehen und nicht diskret.

Kommentare oder relevante Referenzen wären hilfreich.

theoneandonly2
quelle
3
Ich denke, dass "Identität irgendwelche Muster" viel zu allgemein ist. Was ist ein interessantes Muster? Haben Sie ein Beispiel für diesen speziellen Fall?
Wiedervereinigungen
1
Ich interessiere mich hauptsächlich für Betriebsausfälle von Geräten und Betriebszeiten. Dies wäre wahrscheinlich ein guter erster Fokus. Nehmen wir zum Beispiel an, wir sehen Kommunikationsausfälle zu unseren Wechselrichtern nach ~ 25 Tagen Laufzeit. Dies ist ein reales Beispiel aus einem früheren Projekt, bei dem das Wechselrichterkommunikationsmodul einen Speicherverlust aufwies, durch den die Kommunikation unterbrochen wurde. Dies wäre nicht sehr offensichtlich, aber es wäre schön, eine Korrelation zwischen dem Datenwert der Wechselrichter-Betriebszeit und dem Kommunikationsausfall zu sehen (Wechselrichterdaten NaN über einen längeren Zeitraum).
theoneandonly2
1
Einfacher könnte es sein, sich darauf zu konzentrieren, Muster aus früheren Daten zu identifizieren und zu gruppieren. Mein Beispiel oben: Wechselrichter an einem Abzweig verlieren die Kommunikation, wenn ein Leistungsschalter geöffnet ist. Ein weiteres Beispiel: Wir verlieren meteorologische Daten gleichzeitig mit dem Verlust der Wechselrichterkommunikation (dies liegt daran, dass die Wetterstation vom Wechselrichtergehäuse gespeist wird). In beiden Beispielen führt Kommunikationsverlust eher zu einer Datenlücke als zu bestimmten Datenwerten. Mit dieser Eigenschaft habe ich am meisten zu kämpfen. Ich sehe nicht viel Forschung, um einen Mangel an Daten zu analysieren und zu kategorisieren.
theoneandonly2

Antworten:

3

Ja, Ihre Daten sind " Zeitreihendaten ", da es sich um eine Folge von Messungen derselben Variablen handelt, die im Laufe der Zeit erfasst wurden. Zeitreihendaten können kontinuierlich oder in diskreten Intervallen erfasst werden.

Ihre Beispieldaten können als Funktion der Zeit ausgedrückt werden - vielleicht hilft es, sich die "Funktion" als den Prozess vorzustellen, der die gemessene Ausgabe erzeugt, die Eingabe in die Funktion ist der Datums- / Zeitstempel und die Ausgabe ist der Wert von dieser Parameter zu diesem Zeitpunkt:

INVERTER_1.VOLTAGE_DC(25.05.2016 14:30:01)=249.5

Sie müssen nicht unbedingt die (allgemeinen) Funktionen definieren, die Ihre Daten erzeugen, um eine Zeitreihenanalyse durchzuführen. Es reicht aus, den Wert der Funktion zu Ihren Messzeiten zu kennen. Der Bereich der Zeitreihendaten kann kontinuierlich und realwertig, diskret oder sogar nicht numerisch sein.

Es ist sicherlich möglich, Techniken des maschinellen Lernens für Zeitreihendaten zu verwenden, z. B. zur Vorhersage , Erkennung von Anomalien oder zur Identifizierung von Mustern .

Neuronale Netze sind möglicherweise eine gute Wahl, wenn Sie an prädiktiver Modellierung interessiert sind. Ein möglicher Aufbau besteht darin, die aktuellen Parametermessungen als Eingabe in das neuronale Netz zu verwenden, und die Ausgabe ist der vorhergesagte zukünftige Wert oder "Zustand des Systems" (z. B. ob ein Leistungsschalter geöffnet ist oder nicht).

WEKA ist ein gutes Open-Source-Toolkit für maschinelles Lernen, das Implementierungen vieler verschiedener ML-Algorithmen enthält.

rphv
quelle