Ich weiß , dass traditionelle statistische Modelle wie Cox Proportional - Hazards - Regression und einige Kaplan-Meier - Modelle verwendet werden können Tage bis zum nächsten Auftreten eines Ereignisses sagt Ausfall etc. dh zur Vorhersage überleben Analyse
Fragen
- Wie können Regressionsversionen von Modellen für maschinelles Lernen wie GBM, neuronale Netze usw. verwendet werden, um Tage bis zum Auftreten eines Ereignisses vorherzusagen?
- Ich glaube, nur Tage bis zum Auftreten als Zielvariable zu verwenden und einfach ein Regressionsmodell auszuführen, wird nicht funktionieren? Warum funktioniert es nicht und wie kann es behoben werden?
- Können wir das Problem der Überlebensanalyse in eine Klassifikation umwandeln und dann Überlebenswahrscheinlichkeiten erhalten? Wenn ja, wie wird die binäre Zielvariable erstellt?
- Welche Vor- und Nachteile hat der Ansatz des maschinellen Lernens im Vergleich zu Cox Proportional Hazards Regression und Kaplan-Meier-Modellen usw.?
Stellen Sie sich vor, die Eingabedaten haben das folgende Format
Hinweis:
- Der Sensor pingt die Daten in Intervallen von 10 Minuten, aber manchmal können Daten aufgrund von Netzwerkproblemen usw. fehlen, wie in der Zeile mit NA dargestellt.
- var1, var2, var3 sind die Prädiktoren und erklärenden Variablen.
- failure_flag gibt an, ob der Computer ausgefallen ist oder nicht.
- Wir haben die Daten der letzten 6 Monate alle 10 Minuten für jede der Maschinen-IDs
BEARBEITEN:
Die erwartete Ausgabeprognose sollte im folgenden Format vorliegen
Hinweis: Ich möchte die Ausfallwahrscheinlichkeit für jede Maschine für die nächsten 30 Tage auf Tagesebene vorhersagen.
machine-learning
classification
survival
cox-model
kaplan-meier
GeorgeOfTheRF
quelle
quelle
failure_flag
.Antworten:
Für neuronale Netze ist dies ein vielversprechender Ansatz: WTTE-RNN - Weniger Hacky Churn-Vorhersage .
Die Essenz dieser Methode besteht darin, ein wiederkehrendes neuronales Netzwerk zu verwenden, um Parameter einer Weibull-Verteilung zu jedem Zeitschritt vorherzusagen und das Netzwerk unter Verwendung einer Verlustfunktion zu optimieren, die die Zensur berücksichtigt.
Der Autor veröffentlichte auch seine Implementierung auf Github .
quelle
Schauen Sie sich diese Referenzen an:
https://www.stats.ox.ac.uk/pub/bdr/NNSM.pdf
http://pcwww.liv.ac.uk/~afgt/eleuteri_lyon07.pdf
Beachten Sie auch, dass traditionelle, auf Gefahren basierende Modelle wie Cox Proportional Hazards (CPH) nicht darauf ausgelegt sind, die Zeit bis zum Ereignis vorherzusagen, sondern vielmehr auf den Einfluss (die Korrelation) von Variablen auf i) Beobachtungen von Ereignissen und damit auf ii) eine Überlebenskurve abzuleiten . Warum? Schauen Sie sich die MLE der CPH an.
Wenn Sie also etwas wie "Tage bis zum Auftreten" direkter vorhersagen möchten, ist CPH möglicherweise nicht ratsam. Andere Modelle sind möglicherweise besser für Ihre Aufgabe geeignet, wie in den beiden obigen Referenzen angegeben.
quelle
Wie @dsaxton sagte, können Sie ein diskretes Zeitmodell erstellen. Sie haben es so eingestellt, dass es p vorhersagt (Fehler an diesem Tag, der bis zum vorherigen Tag überlebt hat). Ihre Eingaben sind der aktuelle Tag (in welcher Darstellung auch immer Sie möchten), z. B. eine heiße Kodierung, eine Ganzzahl, ... Spline ... sowie alle anderen unabhängigen Variablen, die Sie möchten
Sie erstellen also Datenzeilen für jede Stichprobe, die bis zum Zeitpunkt t-1 überlebt hat. Ist sie zum Zeitpunkt t (0/1) abgestorben?
Die Überlebenswahrscheinlichkeit bis zum Zeitpunkt T ist also das Produkt von p (sterben Sie nicht zum Zeitpunkt t, der nicht zum Zeitpunkt t-1 gestorben ist) für t = 1 bis T. Dh Sie machen T-Vorhersagen aus Ihrem Modell und dann zusammen multiplizieren.
Ich würde sagen, dass der Grund dafür, dass es keine solche Idee ist, die Zeit bis zum Versagen direkt vorherzusagen, in der verborgenen Struktur des Problems liegt. ZB was geben Sie für Maschinen ein, die nicht ausgefallen sind. Die zugrunde liegende Struktur sind effektiv die unabhängigen Ereignisse: Fehler zum gegebenen Zeitpunkt t scheiterten nicht bis zu t-1. Wenn Sie zB annehmen, dass es konstant ist, wird Ihre Überlebenskurve zu einer Exponentialkurve (siehe Gefahrenmodelle).
Beachten Sie in Ihrem Fall, dass Sie im 10-Minuten-Intervall modellieren oder das Klassifizierungsproblem auf Tagesebene aggregieren können.
quelle