Survival Analysis生存分析

原文Survival Analysis

定义:

市场营销当中,通常会对客户的行为进行建模,来预测客户是否下单或者是否购买某个具体产品,也就是大名鼎鼎的Propensity(购买倾向性)模型,下面的章节会着重讲解。由此可见分类方法在市场营销中是最基本的方法,也为估计消费者行为的概率提供了强大的工具包。例如,促销邮件的响应概率可以通过构建一个模型来估计,该模型使用客户属性(如购买次数)作为特征,并使用一个二进制变量作为响应标签,该标签指示客户是否对先前的促销邮件作出了响应。尽管这种方法在实践中被广泛使用,正如我们将在随后的章节中详细讨论的那样,但它也有一些缺点。首先,在许多营销应用中,估计事件发生前的时间比估计事件概率更方便、更高效。例如,对于营销系统来说,估计直到下一次购买的时间或直到订阅取消的时间可能比估计这些事件的概率更有用。其次,营销数据通常包括结果未知或遗漏的记录,这些记录无法在分类模型中正确解释。回到订阅取消的例子,通常无法区分未流失的客户和尚未流失的客户,因为我们在某个时间点建立了一个预测模型,不能无限期地等待,直到观察到所有客户的最终结果。因此,我们只知道流失客户的结果,当然可以将其标记为负样本;剩余的记录是不完整的,但这些客户将来不一定会出现流失,也有可能会购买,因此有人可以说,将这些样本标记为正样本或负样本实际上是无效的(简单来说,就是你搭建一个购买预测模型(Propensity),有些订单记录会在统计时间的后面发生,这些数据很难定义是正样本还是负样本,但是可以通过一些方法来解决,在讲解Propensity一节中再详细介绍)。这表明,使用基于当前观察到的结果确定二元结果变量的分类模型是不准确的,我们可能需要一个不同的统计框架来处理这类问题。

时间到事件建模和不完整数据处理的综合框架最初是为医学和生物学研究开发的。研究的主要焦点是个体在药物治疗后的生存,因此该框架被称为生存分析。让我们从基本术语开始描述这个框架的主要方法。生存分析的主要目标是预测感兴趣事件的发生时间,并定量解释这一时间如何取决于治疗、个体和其他自变量的性质。在营销应用中,治疗可以理解成是一种激励或触发,例如促销。事件通常是购买、促销兑换、订阅取消或营销人员可能关注的客户行为。注意,治疗的积极结果可以是事件的加速或减速,具体取决于应用。例如,广告旨在刺激早期购买;同时,保留优惠旨在抑制订阅取消事件。相比之下,医学研究通常测量从诊断到死亡的时间,因此在医学中的,生存分析里的的事件通常指的是一些负面结果。

正如我们之前所讨论的,一些事件可能是未知的,因为在研究时还没有观察到结果。这些未知结果可能是因为在分析时结果未知(客户尚未购买,但未来仍可能购买)或客户记录已丢失(例如,由于浏览器cookie过期)。未发生事件的记录被称为censored记录。在进行分析时,我们最初有一组观察结果,每个观察结果都有治疗的时间,以及感兴趣事件的时间。上述描述如下图所示:

治疗和事件之间的时间称为生存时间。我们可以调整原始观察结果以对齐所有治疗时间(上图所示),因此k个个体(客户)的观察数据是一个成对的序列:

如果该实例发生了我们感兴趣的事件,那么 ti 表示的是事件发生时间点到基准时间点之间的时间,同时 δ i = 1

如果该实例未发生我们感兴趣的事件,那么 ti 表示的是事件发生时间点到观察结束时间点的时间,同时 δ i = 0

生存分析有两个假设:

1. 假设在一个连续的时间尺度。

2. 两个客户可以有相同的事件时间

基于假设,我们可以将输入数据认定为 n 个独立事件;di 是在时间 ti 观察到的事件的总数:

我们还假设这些事件是不可重复的,也就是说,一个人不能经历不止一个事件。对于许多营销事件(如购买),这一假设并不完全正确,但我们通常可以通过为第一次、第二次和随后的事件创建单独的模型来解决这一问题,正如我们将在后面的章节中讨论的那样。在这一点上,我们只对事件的分布感兴趣,而不是试图解释生存时间与治疗或下单与客户性质之间的相关性。

删失(censored)

上面提到在生存分析研究中,对于某些实例,会出现在我们的研究期间,并没有出现任何感兴趣的事件,我们将这种情况称之为删失(censored)。

出现这种情况的可能原因有:

1)实例在研究阶段就是没有出现感兴趣的事件

2)在研究阶段,丢失了该实例

3)该实例经历了其他的事件导致无法继续跟踪

生存函数:

生存时间的分布可以用生存概率来描述,也被称为生存函数 S(t),它被定义为一个人从时间原点生存到时间 t 的概率。生存函数是描述客户群体动态的基本特征,如果生存函数急剧下降,大多数客户可能会很快体验到这一事件。如果功能下降缓慢,大多数客户可能会在未来相对较远的时间体验该事件。让我们将客户的生存时间表示为 T,将其概率密度函数表示为 f(t)。

生存时间的累积分布函数,即事件到时间 t 的概率。也就是,一个人一直活着,随着观察天数的增加,一直活着的概率,直到事件(死亡,购买)发生的一刻的累积概率:

在时间 T 时刻后,还活着的概率,即生存概率:

在时间点 t 的生存函数的值表示在该点还没有经历该事件的客户的分数。生存时间的统计特性,如平均值、中位数和置信区间,可以基于累积分布函数进行估计。因此,如果生存函数的估计可用,则可以估计这些性质。基于事件相互独立的假设,通过考虑删失和未删失的记录,可以从观察到的数据中估计生存函数。在这种情况下,可以通过从一个区间到下一个区间的生存概率相乘来获得累积生存概率。更确切的说,生存到时间 t 的概率可以直接估计为:

其中 nt 指的是在快要到时间点 t 时,尚未经历事件的个体的数量(还活着的人,未购买的人)。dt 是在时间点 t 时经历事件的个体的数量,假设我们以天为单位来统计,则 dt 是在第 t 天出现死亡(购买)的概率。

通过从时间原点到时间 t 的连乘概率,我们可以估计生存的累积概率,即生存函数(Kaplan-Meier survival estimate) :

以上生存函数被称为Kaplan–Meier生存估计,可以被证明是最大似然估计量。生存函数在时间零点等于1:S(0) = 1(全都活着呢,都没购买),然后随着时间的增加,每个样本都会被统计估计。让我们用一个小的数值例子来说明生存函数的估计。

让我们假设我们正在分析一组15名客户,他们每个人都收到了一封促销电子邮件。所有电子邮件都是在不同的时间发送的,同时在电子邮件发送后,记录第一次购买的时间,观察到的数据集如下所示:

其中集合 t 是每个客户以天为单位,从发送电子邮件以来到所观察到的事件的时间

其中集合 t 的第 i 个元素是自发送电子邮件以来以天为单位所统计的时间,测量的是第 i 位客户所观察到的事件时间。集合δ包含每个观测是否发生事件,购买=1,未购买=0。例如,第一位客户在收到电子邮件后的第二天进行了购买,第三位客户在分析时没有进行购买,4天表示他是在分析截止日期前4天才收到电子邮件。在这种情况下,生存的概率意味着在给定时间没有进行购买的概率。通过概率连乘公式,我们得到以下序列:

该结果对应于下图中绘制的逐步生存曲线,可以发现生存概率在0.19时(活着概率/未购买的概率),说明死亡/已购买概率是0.81,这时的时间是16天左右,从而可以得出下面的结论,在用药(或电子促销邮件)后,死亡(已购买)在16天左右可以达到0.81的概率。生存曲线总结了客户群体的动态,还可以比较不同群体的曲线。例如,可以将接受过促销的客户的生存曲线与未接受促销的客户曲线一起绘制,从而可以图形化地评估促销的效率。

详细的代码以及风险函数的应用,请参考原文“Survival Analysis

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 打赏
    打赏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

MLPlatform

你的鼓励将是我创作的最大动力

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值