Estoy buscando construir un modelo predictivo para predecir el abandono y buscar usar un modelo de supervivencia de tiempo discreto ajustado a un conjunto de datos de entrenamiento de período de persona (una fila para cada cliente y período discreto en que estuvieron en riesgo, con un indicador de evento - igual a 1 si la rotación se produjo en ese período, de lo contrario 0).
- Estoy ajustando el modelo usando regresión logística ordinaria usando la técnica de Singer y Willet.
- El abandono de un cliente puede ocurrir en cualquier lugar durante un mes, pero es solo a finales de mes cuando lo sabemos (es decir, en algún momento durante ese mes se fueron). Se están utilizando 24 meses para entrenamiento.
- La variable de tiempo que se utiliza es la hora de origen de la muestra: todos los clientes activos a partir del 31/12/2008: todos reciben t = 0 a partir de enero de 2009 (no es la forma clásica de hacerlo, pero creo que es la forma de construir un modelo predictivo versus uno estadístico tradicional). Una covariable utilizada es la tenencia del cliente en ese momento.
Se construyeron una serie de covariables, algunas que no cambian en las filas del conjunto de datos (para un cliente determinado) y otras que sí lo hacen.
Estas covariables de variante de tiempo son el problema y lo que me está causando cuestionar un modelo de supervivencia para la predicción de abandono (en comparación con un clasificador regular que predice el abandono en los próximos x meses en función de los datos actuales de la instantánea). Los invariantes en el tiempo describen la actividad del mes anterior y se espera que sean desencadenantes importantes.
La implementación de este modelo predictivo, al menos basado en mi pensamiento actual, es calificar la base de clientes al final de cada mes, calculando la probabilidad / riesgo de abandono en algún momento durante el próximo mes. Luego nuevamente durante los próximos 1,2 o 3 meses. Luego para los próximos 1,2,3,4,5,6 meses. Para la probabilidad de abandono de 3 y 6 meses, estaría usando la curva de supervivencia estimada.
El problema:
Cuando se trata de pensar en la puntuación, ¿cómo puedo incorporar predictores que varían en el tiempo? Parece que solo puedo puntuar con predictores invariantes en el tiempo o para incluir aquellos que son invariantes en el tiempo, tienes que hacer que sean invariantes en el tiempo: establece el valor "en este momento".
¿Alguien tiene experiencia o pensamientos sobre este uso de un modelo de supervivencia?
Actualización basada en el comentario de @JVM:
el problema no es estimar el modelo, interpretar los coeficientes, trazar las gráficas de riesgo / supervivencia de valores de covariables interesantes utilizando los datos de capacitación, etc. El problema está en usar el modelo para pronosticar el riesgo para un cliente determinado. Digamos que a fines de este mes, quiero calificar a todos los que todavía son clientes activos con este modelo. Quiero pronosticar esa estimación de riesgo a lo largo de x períodos (riesgo de cerrar la cuenta al final del próximo mes. Riesgo de cerrar la cuenta al final de dos meses a partir de ahora, etc.). Si hay covariables que varían en el tiempo, se desconocen sus valores en períodos futuros, entonces, ¿cómo utilizar el modelo?
Actualización final:
un conjunto de datos de período de persona tendrá una entrada para cada persona y cada período de tiempo que están en riesgo. Digamos que hay J períodos de tiempo (tal vez J = 1 ... 24 durante 24 meses) Digamos que construyo un modelo de supervivencia de tiempo discreto, donde por simplicidad solo tratamos el tiempo T como lineal y tenemos dos covariables X y Z donde X es el tiempo -invariante, lo que significa que es constante en cada período para la i-ésima persona y Z varía en el tiempo, lo que significa que cada registro para la i-ésima persona puede tomar un valor diferente. Por ejemplo, X puede ser el género de los clientes y Z puede ser cuánto valen para la empresa en el mes anterior. El modelo para el logit del peligro para la i-ésima persona en el enésimo período de tiempo es:
Las únicas soluciones que puedo pensar son:
- No utilice covariables que varían en el tiempo como Z. Esto debilitaría en gran medida el modelo para predecir el evento de agitación, ya que, por ejemplo, ver una disminución en Z nos indicaría que el cliente se está desconectando y tal vez se está preparando para irse.
- Use covariables que varían con el tiempo, pero las retrasa (como Z estaba arriba) lo que nos permite pronosticar sin importar cuántos períodos hayamos rezagado la variable (nuevamente, pensando en el modelo que anota nuevos datos actuales).
- Use covariables que varían en el tiempo, pero manténgalas como constantes en el pronóstico (por lo que el modelo se ajustó para datos variables, pero para la predicción los dejamos constantes y simulamos cómo los cambios en estos valores, si luego se observan realmente, afectarán el riesgo de agitación.
- Utilice covariables variables en el tiempo, pero impute sus valores futuros en función de un pronóstico a partir de datos conocidos. Por ejemplo, pronostique la para cada cliente.