Modèle de survie pour prédire le taux de désabonnement - Des prédicteurs variant dans le temps?

17

Je cherche à construire un modèle prédictif pour prédire le taux de désabonnement et à utiliser un modèle de survie à temps discret adapté à un ensemble de données de formation personne-période (une ligne pour chaque client et période discrète à risque, avec un indicateur d'événement - égal à 1 si le taux de désabonnement s'est produit pendant cette période, sinon 0).

  • J'ajuste le modèle en utilisant une régression logistique ordinaire en utilisant la technique de Singer et Willet.
  • Le taux de désabonnement d'un client peut se produire n'importe où pendant un mois, mais ce n'est qu'à la fin du mois que nous le savons (c'est-à-dire au cours de ce mois, il est parti). 24 mois sont utilisés pour la formation.
  • La variable de temps utilisée est l'heure d'origine de l'échantillon - tous les clients actifs au 31/12/2008 - ils reçoivent tous t = 0 à partir de janvier 2009 (pas la manière classique de le faire, mais je crois que la façon lors de la construction un modèle prédictif par rapport à un modèle statistique traditionnel). Une covariable utilisée est la tenure du client à ce moment-là.
  • Il existe une série de covariables qui ont été construites - certaines qui ne changent pas entre les lignes de l'ensemble de données (pour un client donné) et d'autres qui le font.

  • Ces covariables variant dans le temps sont le problème et ce qui m'amène à remettre en question un modèle de survie pour la prédiction du taux de désabonnement (par rapport à un classificateur régulier qui prédit le taux de désabonnement au cours des x prochains mois sur la base des données instantanées actuelles). Les variables invariables dans le temps décrivent l'activité du mois précédent et devraient être des déclencheurs importants.

La mise en œuvre de ce modèle prédictif, au moins sur la base de ma pensée actuelle, consiste à noter la base de clients à la fin de chaque mois, en calculant la probabilité / le risque de désabonnement au cours du mois suivant. Puis à nouveau pour les 1,2 ou 3 prochains mois. Puis pour les 1,2,3,4,5,6 prochains mois. Pour la probabilité de désabonnement de 3 et 6 mois, j'utiliserais la courbe de survie estimée.

Le problème:

Quand il s'agit de penser au scoring, comment puis-je intégrer des prédicteurs variant dans le temps? Il semble que je ne puisse marquer qu'avec des prédicteurs invariants dans le temps ou pour inclure ceux qui sont invariants dans le temps, vous devez les rendre invariants dans le temps - définis sur la valeur «dès maintenant».

Quelqu'un a-t-il de l'expérience ou des réflexions sur cette utilisation d'un modèle de survie?

Mise à jour basée sur le commentaire de @JVM:

le problème n'est pas d'estimer le modèle, d'interpréter les coefficients, de tracer les graphiques de danger / survie des valeurs de covariables intéressantes en utilisant les données de formation, etc. Le problème est d'utiliser le modèle pour prévoir le risque pour un client donné. Disons qu'à la fin de ce mois, je veux marquer tous ceux qui sont toujours un client actif avec ce modèle. Je veux prévoir ce risque sur x périodes (risque de fermeture de compte à la fin du mois prochain. Risque de fermeture de compte dans deux mois, etc.). S'il existe des covariables variant dans le temps, leurs valeurs ne sont pas connues pour les périodes futures, alors comment utiliser le modèle?

Mise à jour finale:

Un ensemble de données sur la période-personne aura une entrée pour chaque personne et pour chaque période de temps à risque. Disons qu'il y a J périodes (peut-être J = 1 ... 24 pendant 24 mois) Disons que je construis un modèle de survie temporelle discrète, où pour plus de simplicité nous traitons simplement le temps T comme linéaire et avons deux covariables X et Z où X est le temps -invariant, ce qui signifie qu'il est constant à chaque période pour la ième personne et Z varie dans le temps, ce qui signifie que chaque enregistrement pour la ième personne peut prendre une valeur différente. Par exemple, X peut être le sexe du client et Z peut-être combien il valait pour l'entreprise au cours du mois précédent. Le modèle pour le logit du danger pour la ième personne dans la jième période est:

logjet(h(tjej))=α0+α1Tj+β1Xje+β2Zjej

Zj sont inconnus.

Les seules solutions auxquelles je peux penser sont:

  • N'utilisez pas de covariables variant dans le temps comme Z. Cela affaiblirait considérablement le modèle pour prédire l'événement de barattage, car, par exemple, une diminution de Z nous indiquerait que le client se désengage et se prépare peut-être à partir.
  • Utilisez des covariables variant dans le temps, mais décalez-les (comme Z était au-dessus), ce qui nous permet de prévoir combien de périodes nous avons retardé la variable (encore une fois, en pensant au modèle notant les nouvelles données actuelles).
  • Utilisez des covariables variant dans le temps, mais conservez-les comme constantes dans les prévisions (le modèle a donc été ajusté pour des données variables, mais pour les prévisions, nous les laissons constantes et simulons comment les changements de ces valeurs, s'ils sont effectivement observés ultérieurement, auront un impact sur le barattage.
  • Zj
B_Miner
la source
Quelques questions: Tout d'abord, êtes-vous prêt à utiliser un modèle temporel discret? Ce que vous voulez faire peut être plus simple dans un modèle de survie paramétrique. Deuxièmement, seriez-vous en mesure de fournir un exemple de ce que vous entendez par désabonnement; ow peut-être juste un exemple de l'apparence de vos données?
Jason Morgan
@JWM. Le désabonnement signifie que le client a annulé son compte. Comme je ne connais que le mois où le client a annulé, je pense que le temps discret est approprié. Je crois que le même problème avec les prédicteurs variant dans le temps existe si le modèle est à temps discret ou continu (Cox ou AFT) Non?
B_Miner
Je m'excuse de ne pas encore tout à fait comprendre votre préoccupation. Vous devriez être en mesure d'estimer suffisamment votre modèle. Cependant, comme vous aurez probablement une erreur de mesure dans votre TVC et une variable dépendante, vous devez probablement utiliser un décalage du TVC dans le modèle. Sinon, vous risquez d'utiliser une valeur de covariable qui est mesurée après l'occurrence de l'événement comme prédicteur de cet événement. Vous pouvez voir le problème de cohérence temporelle. Bien que je sache que votre objectif est la prédiction, si vous voulez des intervalles de confiance raisonnables, vous voudrez estimer des erreurs standard robustes (au moins).
Jason Morgan
@JVM apparemment, je n'ai pas réussi à bien m'expliquer. J'ai ajouté une réponse à la question.
B_Miner
t=0s>0P(Tje>s+X|Fs)

Réponses:

1

Merci pour la clarification, B_Miner. Je ne fais pas beaucoup de prévisions moi-même, alors prenez ce qui suit avec une pincée de sel. Voici ce que je ferais comme au moins une première coupure aux données.

  • Tout d'abord, formulez et estimez un modèle qui explique vos TVC. Faites toutes les validations croisées, vérifications d'erreurs, etc., pour vous assurer d'avoir un modèle décent pour les données.
  • Deuxièmement, formuler et estimer un modèle de survie (quelle qu'en soit la saveur). Faites toutes les validations croisées, vérifications d'erreurs, pour vous assurer que ce modèle est également raisonnable.
  • Troisièmement, choisissez une méthode d'utilisation des prévisions du modèle TVC comme base de prévision des risques de désabonnement et de tout ce que vous voulez. Encore une fois, vérifiez que les prévisions sont raisonnables en utilisant votre échantillon.

Une fois que vous avez un modèle que vous jugez raisonnable, je suggérerais d'amorcer les données comme moyen d'incorporer l'erreur dans le premier modèle TVC dans le deuxième modèle. Fondamentalement, appliquez les étapes 1 à 3 fois N, en prenant chaque fois un échantillon d'amorçage à partir des données et en produisant un ensemble de prévisions. Lorsque vous disposez d'un nombre raisonnable de prévisions, résumez-les de la manière qui vous semble appropriée pour votre tâche; Par exemple, fournir un risque moyen de désabonnement pour chaque profil individuel ou covariable d'intérêt ainsi que des intervalles de confiance à 95%.

Jason Morgan
la source
@JVM. Dois-je vous lire correctement que votre suggestion est ma dernière option de solution ci-dessus (dans la mise à jour finale). Que vous développez des modèles pour prévoir chaque Z (TVC) à utiliser dans le modèle de survie réel?
B_Miner
2

Selon moi, il existe deux paradigmes d'analyse de survie qui pourraient être utilisés. Le cadre de régression de Cox permet des covariables variant dans le temps et produirait une estimation du risque d'annulation conditionnée à tout ensemble particulier de covariables par rapport au niveau moyen d'annulation. Le cadre glm avec erreurs de Poisson est également un modèle à risques proportionnels et est particulièrement adapté aux intervalles discrets. JVM a souligné qu'il y avait une erreur potentielle dans l'utilisation de données incomplètes au cours du mois en cours, mais j'ai l'impression que vous voulez une estimation qui soit conditionnelle à la dernière valeur d'une co-variée ou d'un ensemble de covariables. Une meilleure description de la situation des données pourrait donner des exemples plus efficaces ....

DWin
la source