Deep Learning in Customer Churn Prediction (二) (WTTE模型 ——what time to the next event)

来源:互联网 发布:初中试题软件下载 编辑:程序博客网 时间:2024/06/03 22:06

本文部分摘自

https://ragulpr.github.io/2016/12/22/WTTE-RNN-Hackless-churn-modeling/

 

相应github链接见

https://github.com/ragulpr/wtte-rnn/

由于该工程已经在git上开源,故实际的工程使用是可以期待的。

 

另一个描述流失客户的观点是使用,

相反的观点并不关注流失而关注“非流失”

其通过定义event(如充值)作为非流失的描述,

If a customer has a longer time to a future event that customer is more churned.

 

WTTE模型

what time to the next event

 

这个模型相当于使用时间序列的观点,

当然输入应当是截面的。

使用sawtooth-ware可以刻画出客户操作的流失问题。

 

Models for censored data

Sliding box model

将模型设定为若干宽度窗宽的事件发生问题(有点小波变换的感觉)

对于因变量的刻画大致上是这样的

这里对发生模型的刻画看成,有独立的伯努利分布生成,并具有时间相关的发生概率参数

而且这个概率参数可以使用某个机器学习模型估计到

故对下一步可能发生事件的概率的估计,可以看成模型要解决的问题

长时间得到小概率预测可以定义为客户流失。

上面仅仅是概念的介绍及约束,并没有提到使用什么算法估计 the probability of event

Occur

 

从算法设计上有一个要进行提升的目标,要进行估计的窗宽 tau,是希望越大越好,

已获得较有实际应用意义的结果,

但这有两个问题,首先对于最近观察到的流失现象,并不能根据最靠近现在的点的来进行估计,这是因为对于此后未观察的点的发生情况,我们是没有把握的,所以应当将从现在的时刻起到之前的tau长度的数据dropout掉,这在增大tau的情况下回造成较大的数据损失;

另外一个问题是,从估计的效果上来说,一个靠谱的估计会使得,当增大tau到一定程度的情况下,所有发生的因变量的值(或者大多数)变成1 ,因此降低了模型的刻画性,其造成的一个基本现象是label的非平衡问题,这一般是需要极力避免的。

 

上述使用窗宽进行刻画的模型,结果对窗宽敏感,并且对窗宽的选择实际也是一个awful的权衡工作。

 

故另外一种尝试基本上采取之前提到的  提升随机森林的方法,

Instead of defining churn and predict it we can predict whos churned than others.

其抽象出的定义流失的方法如下

其中y定义为event发生的可能天数,故上述指标取1时指出了j可能流失的表示。

使用估计后就可以得到一个序,考虑到指标的对称性,仅需要估计“一半”。

利用这种方法就可以使用其它的用户对某个特定的用户可能流失(即值取1)的情况进行累加之后排一个序就可以了(类似于提升平衡随机森林)

 

上面的叙述都是对求解问题的最后形式进行叙述,而对于求解的细节(使用的算法)并没有加以叙述。

 

要完成算法设计,需要对churn进行定义(下面是定义后应当满足的条件)

Minimize probability of resurrection(复兴)

使得被判定为流失的用户将来回到使用状态的概率最小。

Maximize the probability of detection

给出churn的明确定义,防止出现不能定义是否为churn的状态。

Maximize interpretability of your definition

 

对于这一类问题最可能的障碍(bottleneck)

Feature engineering

Cumbersome modeling loop

 

对于目标模型的要求是

Work with recurrent events

--刻画反复发生的事件

Can handle time varying covariates(协变)

--时不变

Can learn temporal(世俗的) patterns

--刻画实际问题

Handle sequences of varying length

--能处理不同输入长度的序列

Learn with censored data

--处理删失数据

Make flexible predictions

--灵活预测

上面的前4项可以借助RNNs来实现。

该文中指出RNNs并不需要类似上面第一个的窗模型进行复杂的特征工程。(个人认为这里的说法值得商榷,因为如果对于窗模型的估计概率模型是使用神经网络的话,也可以起到去掉特征工程的作用,而且当可以采集的自变量足够大时,如果不进行filter及相关的指标构建会使得训练时间拖得很长)

 

下面给出的具体处理形式是一种对于删失数据刻画的可能尝试

基本的意思是用威布尔分布来刻画发生事件(event)的情况,威布尔分布常用于生存分析(一般衡量寿命的指数分布属于威布尔分布),将客户事件类比于上述事件,当然也可以用于客户流失系统。

威布尔分布的时变参数由RNNs学习得到。

这里需要关注的是上述极大似然函数对于删失数据的刻画是使用生存函数,

其原因见下图

其基本思想是将删失数据事件可能发生的概率压缩到生存函数中。

阅读全文
0 0
原创粉丝点击