Überlebensmodell zur Vorhersage der Abwanderung - Zeitvariable Prädiktoren?


17

Ich möchte ein Vorhersagemodell für die Vorhersage der Abwanderung erstellen und ein diskretes Zeitüberlebensmodell verwenden, das an ein Personentrainings-Dataset angepasst ist (eine Zeile für jeden Kunden und für jeden Zeitraum, für den ein Risiko besteht, mit einem Ereignisindikator von 1) wenn die Abwanderung in diesem Zeitraum stattgefunden hat, sonst 0).

  • Ich passe das Modell unter Verwendung einer gewöhnlichen logistischen Regression unter Verwendung der Technik von Singer und Willet an.
  • Die Abwanderung eines Kunden kann irgendwo im Laufe eines Monats vorkommen, aber erst am Ende des Monats wissen wir davon (dh irgendwann in dem Monat, in dem er abgereist ist). 24 Monate werden für das Training verwendet.
  • Die verwendete Zeitvariable ist die Ursprungszeit der Stichprobe - alle Kunden, die zum 31.12.2008 aktiv waren - sie erhalten ab Januar 2009 alle t = 0 (nicht die klassische Methode, aber ich glaube die Methode beim Bauen) ein Vorhersagemodell im Vergleich zu einem herkömmlichen statistischen Modell). Eine verwendete Kovariate ist die Amtszeit des Kunden zu diesem Zeitpunkt.
  • Es wurden eine Reihe von Kovariaten erstellt - einige davon ändern sich nicht in den Zeilen des Datasets (für einen bestimmten Kunden), andere nicht.

  • Diese zeitvarianten Kovariaten sind das Problem und das, was mich veranlasst, ein Überlebensmodell für die Abwanderungsvorhersage in Frage zu stellen (im Vergleich zu einem regulären Klassifikator, der die Abwanderungsrate in den nächsten x Monaten basierend auf aktuellen Schnappschussdaten prognostiziert). Die zeitinvarianten beschreiben die Aktivität im Vormonat und werden voraussichtlich wichtige Auslöser sein.

Die Implementierung dieses Vorhersagemodells, zumindest auf der Grundlage meiner derzeitigen Überlegungen, besteht darin, den Kundenstamm am Ende eines jeden Monats zu bewerten und die Wahrscheinlichkeit / das Risiko einer Abwanderung im Laufe des nächsten Monats zu berechnen. Dann nochmal für die nächsten 1,2 oder 3 Monate. Dann für die nächsten 1,2,3,4,5,6 Monate. Für die 3- und 6-monatige Abwanderungswahrscheinlichkeit würde ich die geschätzte Überlebenskurve verwenden.

Das Problem:

Wie kann ich zeitvariable Prädiktoren einbeziehen, wenn ich über Scoring nachdenke? Es sieht so aus, als ob ich nur mit zeitinvarianten Prädiktoren punkten kann oder wenn ich die zeitinvarianten Prädiktoren mit einbeziehe, müssen Sie sie zeitinvariant machen - setzen Sie sie auf den Wert "sofort".

Hat jemand Erfahrungen oder Gedanken zu diesem Einsatz eines Überlebensmodells?

Aktualisierung basierend auf @JVM-Kommentar:

Das Problem besteht nicht darin, das Modell zu schätzen, die Koeffizienten zu interpretieren, die Gefahren- / Überlebensdiagramme mit interessanten Kovariatenwerten unter Verwendung der Trainingsdaten usw. zu zeichnen . Das Problem besteht darin, mithilfe des Modells das Risiko für einen bestimmten Kunden vorherzusagen. Sagen wir Ende dieses Monats, ich möchte alle bewerten, die mit diesem Modell noch ein aktiver Kunde sind. Ich möchte diese Risikoschätzung auf x Perioden genau vorhersagen (Risiko der Schließung des Kontos zum Ende des nächsten Monats. Risiko der Schließung des Kontos zum Ende der nächsten zwei Monate usw.). Wenn es zeitlich veränderliche Kovariaten gibt, sind deren Werte in zukünftigen Perioden nicht bekannt. Wie kann das Modell verwendet werden?

Endgültige Aktualisierung:

Ein Datensatz für Personenperioden enthält einen Eintrag für jede Person und jeden Zeitraum, in dem sie gefährdet sind. Nehmen wir an, es gibt J Zeitperioden (vielleicht J = 1 ... 24 für 24 Monate). Nehmen wir an, ich konstruiere ein diskretes Zeitüberlebensmodell, bei dem wir der Einfachheit halber nur die Zeit T als linear behandeln und zwei Kovariaten X und Z haben, bei denen X die Zeit ist -invariant, was bedeutet, dass es in jeder Periode für die i-te Person konstant ist und Z zeitlich variiert, was bedeutet, dass jeder Datensatz für die i-te Person einen anderen Wert annehmen kann. Beispielsweise kann X das Geschlecht des Kunden und Z sein, wie viel es dem Unternehmen im Vormonat wert war. Das Modell für die Protokollierung der Gefahr für die i-te Person im j-ten Zeitraum lautet:

lÖGicht(h(tichj))=α0+α1Tj+β1Xich+β2Zichj

Das Problem ist also, dass bei Verwendung von zeitvariablen Kovariaten und Prognosen (in die noch ungesehene Zukunft) mit neuen Daten die unbekannt sind.Zj

Die einzigen Lösungen, an die ich denken kann, sind:

  • Verwenden Sie keine zeitvariablen Kovariaten wie Z. Dies würde das Modell erheblich schwächen, um das Ereignis der Abwanderung vorherzusagen, da uns beispielsweise ein Rückgang von Z mitteilen würde, dass sich der Kunde abmeldet und sich möglicherweise auf den Abflug vorbereitet.
  • Verwenden Sie zeitvariable Kovariaten, aber verzögern Sie sie (wie Z oben war), wodurch wir prognostizieren können, wie viele Zeiträume wir hinter der Variablen liegen (auch diesmal, wenn wir daran denken, dass das Modell neue aktuelle Daten bewertet).
  • Verwenden Sie zeitvariable Kovariaten, aber behalten Sie sie als Konstanten in der Prognose bei (daher wurde das Modell für variierende Daten angepasst, aber zur Vorhersage lassen wir sie konstant und simulieren, wie sich Änderungen dieser Werte, wenn sie später tatsächlich beobachtet werden, auf das Risiko einer Abwanderung auswirken.
  • Verwenden Sie zeitlich veränderliche Kovariaten, aber unterstellen Sie ihre zukünftigen Werte auf der Grundlage einer Vorhersage aus bekannten Daten. ZB Prognostizieren Sie das für jeden Kunden.Zj

Ein paar Fragen: Sind Sie erstens mit einem diskreten Zeitmodell verbunden? Was Sie tun möchten, kann in einem parametrischen Überlebensmodell einfacher sein. Zweitens könnten Sie ein Beispiel dafür geben, was Sie unter Abwanderung verstehen. Wie sehen Ihre Daten aus?
Jason Morgan

@JWM. Abwanderung bedeutet, dass der Kunde sein Konto aufgelöst hat. Da ich nur den Monat kenne, in dem der Kunde storniert hat, halte ich diskrete Zeiten für angemessen. Ich glaube, dass das gleiche Problem mit zeitvariablen Prädiktoren besteht, wenn das Modell eine diskrete oder kontinuierliche Zeit ist (Cox oder AFT) Nein?
B_Miner

Ich entschuldige mich, dass ich Ihre Besorgnis immer noch nicht richtig verstanden habe. Sie sollten Ihr Modell gut genug einschätzen können. Da Sie wahrscheinlich einen Messfehler in Ihrer TVC und der abhängigen Variablen haben werden, sollten Sie wahrscheinlich eine Verzögerung der TVC im Modell verwenden. Andernfalls riskieren Sie die Verwendung eines Kovariatenwerts, der nach dem Auftreten des Ereignisses als Prädiktor für dieses Ereignis gemessen wird. Sie können das Problem mit der Zeitkonsistenz sehen. Obwohl ich weiß, dass Ihr Ziel die Vorhersage ist, werden Sie (zumindest) robuste Standardfehler schätzen wollen, wenn Sie vernünftige Konfidenzintervalle wünschen.
Jason Morgan

@JVM anscheinend habe ich mich nicht gut erklärt. Ich habe der Frage eine Antwort hinzugefügt.
B_Miner

@B_Miner zu Ihren vier Lösungsvorschlägen. Gibt es kein Problem mit dir t=0? Ich nehme an, Sie stehen zur Zeit und möchten . Mit anderen Worten, Sie suchen nach den bedingten Überlebenswahrscheinlichkeiten und nicht nach der anfänglichen Überlebenskurve. Habe ich recht oder vermisse ich etwas? Ich habe gerade hier eine Frage dazu vorgeschlagen: stats.stackexchange.com/questions/346338/…P ( T i > s + x | F s )s>0P(Tich>s+x|Fs)
mr.bjerre

Antworten:


1

Vielen Dank für die Klarstellung, B_Miner. Ich prognostiziere nicht viel selbst, nehmen Sie das Folgende mit einer Prise Salz. Hier ist, was ich als erstes tun würde, um die Daten zu schneiden.

  • Formulieren und schätzen Sie zunächst ein Modell, das Ihre TVCs erklärt. Führen Sie alle Überprüfungen, Fehlerprüfungen usw. durch, um sicherzustellen, dass Sie ein anständiges Modell für die Daten haben.
  • Zweitens formulieren und schätzen Sie ein Überlebensmodell (von welchem ​​Geschmack auch immer). Führen Sie alle Kreuzvalidierungen und Fehlerprüfungen durch, um sicherzustellen, dass auch dieses Modell angemessen ist.
  • Drittens entscheiden Sie sich für eine Methode, mit der Sie die Prognosen aus dem TVC-Modell als Grundlage für die Prognose des Abwanderungsrisikos und anderer gewünschter Faktoren verwenden können. Vergewissern Sie sich anhand Ihrer Stichprobe erneut, dass die Vorhersagen angemessen sind.

Sobald Sie ein Modell haben, das Sie für sinnvoll halten, würde ich vorschlagen, die Daten zu booten, um den Fehler im ersten TVC-Modell in das zweite Modell zu integrieren. Wenden Sie die Schritte 1 bis 3 N-mal an, wobei Sie jedes Mal ein Bootstrap-Beispiel aus den Daten entnehmen und eine Reihe von Vorhersagen erstellen. Wenn Sie eine angemessene Anzahl von Prognosen haben, fassen Sie diese so zusammen, wie Sie es für Ihre Aufgabe für angemessen halten. Geben Sie z. B. das mittlere Abwanderungsrisiko für jedes interessierende individuelle oder kovariate Profil sowie 95% -Konfidenzintervalle an.


@JVM. Habe ich Sie richtig gelesen, dass Ihr Vorschlag meine letzte obige Lösungsoption ist (in der endgültigen Aktualisierung)? Dass Sie Modelle entwickeln, um jedes Z (TVC) für das tatsächliche Überlebensmodell vorherzusagen?
B_Miner

2

Aus meiner Sicht gibt es zwei Überlebensanalyse-Paradigmen, die verwendet werden könnten. Der Cox-Regressionsrahmen erlaubt zeitlich variierende Kovariaten und würde eine Schätzung des Stornorisikos liefern, die von einer bestimmten Menge von Kovariaten im Verhältnis zum mittleren Storno-Level abhängig ist. Das glm-Framework mit Poisson-Fehlern ist auch ein proportionales Gefährdungsmodell und eignet sich besonders für diskrete Intervalle. JVM hat darauf hingewiesen, dass die Verwendung unvollständiger Daten im aktuellen Monat möglicherweise fehlerhaft ist. Ich habe jedoch den Eindruck, dass Sie eine Schätzung wünschen, die vom neuesten Wert einer Co-Variate oder einer Gruppe von Kovariaten abhängig ist. Eine bessere Beschreibung der Datenlage könnte zu besser ausgearbeiteten Beispielen führen.

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.