Wie kann ich Zeitreihendaten transformieren, um einfachere Techniken zur Fehlervorhersage zu verwenden?

8

Ich weiß, dass dies in erster Linie eine Statistikseite ist. Wenn ich nicht zum Thema gehöre, leiten Sie mich bitte weiter.

Ich habe ein System mit Pumpen, die manchmal kaputt gehen und ersetzt werden müssen. Ich möchte in der Lage sein, die Ausfälle vorherzusagen und damit die Leute, die die Pumpen austauschen, frühzeitig zu warnen. Ich habe historische Daten für den Pumpenprozess, wie Durchfluss, Druck, Flüssigkeitshöhe usw.

Ich habe nur wenig Erfahrung mit der Verwendung von Techniken des maschinellen Lernens zur Klassifizierung von Daten - im Grunde habe ich die Übungen von Andrew Ngs Kurs über maschinelles Lernen auf Coursera sowie Andrew Conways Statistics One befolgt und durchgeführt - und ich habe nie maschinelles Lernen verwendet Zeitreihen zu klassifizieren. Ich denke darüber nach, wie ich mein Problem transformieren kann, damit ich mein vorhandenes Wissen darauf nutzen kann. Mit meinem begrenzten Wissen werde ich keine sehr optimale Vorhersage erhalten, aber ich hoffe, daraus zu lernen, und für dieses Problem ist jede kleine Verbesserung der Vorhersage nützlich, anstatt nur auf das Auftreten der Fehler zu warten.

Mein vorgeschlagener Ansatz besteht darin, die Zeitreihen in ein normales Klassifizierungsproblem umzuwandeln. Die Eingabe wäre eine Zusammenfassung eines Zeitreihenfensters mit Mittelwert, Standardabweichung, Maximalwerten usw. für jeden Datentyp im Fenster. Für die Ausgabe bin ich mir nicht sicher, was am besten funktionieren würde. Ein Ansatz besteht darin, dass die Ausgabe eine binäre Klassifizierung wäre, ob die Pumpe innerhalb eines bestimmten Zeitraums ab dem Ende des Fensters ausgefallen ist oder nicht. Ein weiterer Grund ist, dass die Ausgabe die verbleibende Zeit ist, bevor die Pumpe ausfällt, also keine Klassifizierung, sondern eine Regression (im Sinne des maschinellen Lernens).

Glauben Sie, dass dieser Ansatz wahrscheinlich zu Ergebnissen führen wird? Ist es eine Frage von "hängt von der Domäne und den historischen Daten ab". Gibt es bessere Transformationen (sowohl der Eingabe als auch der Ausgabe), die ich nicht berücksichtigt habe, oder unterscheidet sich die Fehlervorhersage auf der Grundlage von Zeitreihendaten so stark von der Standardfehlervorhersage, dass meine Zeit besser für das Nachlesen des maschinellen Lernens mit Zeitreihen aufgewendet werden sollte? ?

Boris
quelle
Eine Echtzeit-Vibrations- / Geräuschmessung der Pumpen wäre hier ein echter Bonus.
image_doctor
@image_doctor: Vielleicht kann ich das bekommen. Meinen Sie damit, dass es gut wäre, weil Vibration / Lärm für den Problembereich relevant sind? Könnte ich es in diesem Fall nicht wie die anderen Daten zusammenfassen? Oder geht es inhärent darum, dass die Informationsverarbeitung in Echtzeit erfolgt? Ich möchte in der Lage sein, Fehler frühzeitig vorherzusagen, beispielsweise einen Tag oder (vorzugsweise) mehr. Ich weiß nicht, ob es mit der Domain und den Daten machbar ist. Aber diese Zeitskala legt mir nicht nahe, dass Echtzeitverarbeitung wirklich hilft. Wenn Sie meinen, dass die Echtzeit von Bedeutung ist, habe ich etwas falsch verstanden?
Boris
Es ist relevant für die Problemdomäne. Pumpen zeigen häufig Anzeichen eines Ungleichgewichts oder Änderungen der Schwingungsmodi vor dem Ausfall. Eine Echtzeit-Spektralanalyse oder zumindest stündliche Proben sollten eine sehr nützliche Funktion für die Fehlervorhersage sein.
image_doctor
Ich habe ein ähnliches Problem und prüfe derzeit das Potenzial der Verwendung von Cox Proportional Hazard Models. Konnten Sie dies in Ihrer Lösung verwenden? Könnten Sie uns bitte die endgültige Lösung mitteilen, mit der Sie das Ergebnis erzielt haben?

Antworten:

5

Vielleicht möchten Sie sich die Überlebensanalyse ansehen, mit der Sie die Überlebensfunktion (die Wahrscheinlichkeit, dass die Ausfallzeit größer als eine bestimmte Zeit ist) und die Gefährdungsfunktion (die augenblickliche Wahrscheinlichkeit, dass eine Einheit ausfällt, wenn dies nicht der Fall ist, abschätzen können bisher gescheitert). Bei den meisten Überlebensanalyse-Ansätzen können Sie zeitinvariante und zeitvariable Prädiktoren eingeben.

Es gibt verschiedene Ansätze zur Überlebensanalyse, darunter das semiparametrische Cox-Proportional-Hazards-Modell (auch bekannt als Cox-Regression) und das parametrische Modell. Bei der Cox-Regression müssen Sie die zugrunde liegende Basis-Hazard-Funktion nicht angeben. Möglicherweise benötigen Sie jedoch ein parametrisches Modell, um die Fehlermuster in Ihren Daten ordnungsgemäß zu erfassen. Manchmal sind parametrisch beschleunigte Ausfallzeitmodelle geeignet, bei denen die Ausfallrate mit der Zeit zunimmt.

Sie können versuchen, mit der Cox-Regression zu beginnen, da diese am einfachsten zu verwenden ist, und zu überprüfen, wie gut Sie einen Fehler in einem Holdout-Testsatz vorhersagen können. Ich vermute, dass Sie mit einer Überlebensanalyse, die Zeit und Zensur explizit berücksichtigt (Pumpen, die noch nicht ausgefallen sind), bessere Ergebnisse erzielen als mit dem Versuch, daraus ein nicht zeitbasiertes Klassifizierungsproblem zu machen.

Anne Z.
quelle
Ich habe ein ähnliches Problem und versuche auch, dies in einem Rahmen für die Überlebensanalyse zu erfassen: Ich habe im Grunde die gleiche Anlage, die immer wieder ausfällt und nach der Wartung wieder funktioniert. Ich möchte feststellen, wann und ob die Anlage ausfallen wird. In diesem Fall, wie mehrere Messungen über jedes Zeitintervall kombiniert werden, da die Überlebensanalyse eine Zeile pro Fehler enthält, ich jedoch vor dem Fehler stundenlang Daten gesammelt hätte.
Discipulus
1

Ich würde meine Entscheidung auf die Klassifizierung im Vergleich zur Regression stützen, basierend auf der Verfügbarkeit von Daten (letzteres erfordert die Kenntnis des genauen Zeitpunkts, zu dem der Fehler aufgetreten ist, der erstere nicht) und ob Schätzungen der Zeit bis zum Ausfall wirklich erforderlich sind Ihr Problem (meine Standardeinstellung wäre, zuerst die Klassifizierung zu versuchen).

Dave
quelle
Vielen Dank. Ja, in gewisser Weise dauert die Schätzung der Zeit bis zum Ausfall einen längeren Weg zum Ergebnis, aber es erspart das Problem, zu entscheiden, welche Fehlerperiode geschätzt werden soll: Ich weiß nicht, ob die Daten die Klassifizierung einer 10-tägigen Fehlerperiode besser unterstützen Als 5-Tage-Zeitraum muss ich bei der Klassifizierung viele Klassifizierer trainieren und dann die besten Ergebnisse erzielen, anstatt rechtzeitig zu warnen. Das Abschätzen der Zeit bis zum Versagen würde dies umgehen, aber die Schätzung selbst könnte schwieriger sein.
Boris