Wie können maschinelle Lernmodelle (GBM, NN usw.) für die Überlebensanalyse verwendet werden?


13

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

  1. 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?
  2. 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?
  3. Können wir das Problem der Überlebensanalyse in eine Klassifikation umwandeln und dann Überlebenswahrscheinlichkeiten erhalten? Wenn ja, wie wird die binäre Zielvariable erstellt?
  4. 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

Bildbeschreibung hier eingeben

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 Bildbeschreibung hier eingeben

Hinweis: Ich möchte die Ausfallwahrscheinlichkeit für jede Maschine für die nächsten 30 Tage auf Tagesebene vorhersagen.


1
Ich denke, es wäre hilfreich, wenn Sie erklären könnten, warum dies Zeit-zu-Ereignis-Daten sind. Was genau ist die Antwort, die Sie modellieren möchten?
Cliff AB

Ich habe die Tabelle mit den erwarteten Ausgabevorhersagen bearbeitet und hinzugefügt, um dies zu verdeutlichen. Lassen Sie mich wissen, wenn Sie weitere Fragen haben.
GeorgeOfTheRF

1
In einigen Fällen gibt es Möglichkeiten, Überlebensdaten in binäre Ergebnisse umzuwandeln, z. B. in diskrete Zeitrisikomodelle: statistichorizons.com/wp-content/uploads/Allison.SM82.pdf . Einige maschinelle Lernmethoden wie zufällige Gesamtstrukturen können Zeit- und Ereignisdaten modellieren, indem sie beispielsweise die Protokollrangstatistik als Aufteilungskriterium verwenden.
DSAXTON

@dsaxton Danke. Können Sie erklären, wie die obigen Überlebensdaten in binäre Ergebnisse umgewandelt werden können?
GeorgeOfTheRF

Bei näherer Betrachtung scheinen Sie bereits binäre Ergebnisse mit dem zu haben failure_flag.
DSAXTON

Antworten:


6

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 .


2

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.


1

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.

Durch die Nutzung unserer Website bestätigen Sie, dass Sie unsere Cookie-Richtlinie und Datenschutzrichtlinie gelesen und verstanden haben.
Licensed under cc by-sa 3.0 with attribution required.