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? ?
Antworten:
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.
quelle
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).
quelle