作者:糖甜甜甜
来源:DataGo数据狗
1. 生存分析
生存分析主要用于医学研究,比如医疗方案对病人寿命的影响。后面用来探究所感兴趣的事件的发生的时间的统计方法。比如产品的寿命分析、工程中的失败时间分析等等。这里病人死亡、产品淘汰和工程失败等称为事件event。生存分析中有两个重要的概念,一是生存函数,二是风险函数。
生存函数的形式如下,表示为事件未发生的样本比例随时间变化的趋势,比如存活病人样本比例、可正常使用产品比例随时间的变化趋势等。
风险函数的形式如下,表示为事件发生概率的变化率。
两个函数之间的关系如下。
2. 用户行为
用户行为分析,特别是Customer Lifetime Value,对用户运营和用户增长工作尤为重要。了解用户在特定时间的行为程度更能帮助运营人员开展运营活动,提高用户价值。而常用的AB testing方法无法进行跨产品平台的定量分析,回归模型无法动态测量用户随时间变化的行为程度概率。因此借助生存分析可以进行用户留存、用户点击、用户购买等行为随时间变化的趋势。
比如以用户购买行为为例,一般的运营数据,直接进行用户分层查看其转化率,但是这样的数据无法知道用户的动态行为,比如在哪个时间点用户转化率会发生突变,产品的转化率会稳定在多少。生存分析以一个用户的单位,以用户注册时间为实验开始,数据采集截止时间(右删失)或用户转化时间为实验终止,用户最后是否发生购买行为为事件。
(1)数据集说明:
user_id:用户id
signup_time:注册时间
end_time:事件截止时间(购买时间,当购买时间为空时,以数据采集截止时间填充)
sex:性别
age:年龄
event:事件标志(用户有购买行为该值为1,否则为0)
duration:时间段(截止时间减去注册时间)
(2)转化率随时间变化趋势:
通过Kaplan-Meier无参估计方法绘制出生存估计量曲线发现,在50天前后转化率基本稳定在40%。即在注册后的50天内,这一批实验用户中大概有40%的用户有购买行为。再次减小时间间隔发现用户转化率在第10天基本无变化,因此运营需要在这个时间点开展运营或营销活动,促进用户转化。
图1 未转化率随时间的变化趋势
(3)转化率随时间变化的变化速率:
这里的生存分析是将转化率作为事件的发生标记,那么生存函数就描述了未转化率随时间的变化情况,所以转化率的变化率应该是风险率函数hazard rate function,即h(t)。这里用Nelson-Aalen无参估计方法绘制累积风险估计量曲线。可以发现转化率在前5天缓慢增大,但其后迅速减小。因此运营需要在用户注册后5天内采取措施提高用户满意度,促进转化,否则用户后期的购买意愿会减小。
图2 累积风险率随时间的变化趋势
(4)生存回归分析:
当需要了解一些例如性别、年龄等协变量是否影响生存时间时,可以用COX-PH回归分析变量的显著性,并且还可以根据回归模型预测用户是否会发生转化。通过建模结果发现年龄和性别均显著影响生存时间。结果中的coef就是公式中的回归系数,因此exp(coef)则是Cox模型中最主要的概念风险比(HR-hazard ratio):
HR = 1: No effect
HR < 1: Reduction in the hazard
HR > 1: Increase in Hazard
z值代表Wald统计量,其值等于回归系数coef除以其标准误se(coef),即z = coef/se(coef);有统计量必有其对应的假设检验的显著性P值,其说明coef是否与0有统计学意义上的显著差别。以性别变量举例,coef值小于0说明HR值小于1,而这里的Cox模型是group 1相对于group 0而言的,那么按照测试数据集来说:male=1,female=0,即男性的转化风险相比女性要低。exp(coef)等于0.9916,即风险比例等于0.9916,说明女性(female=0)增加了0.9916倍转化风险,将回归数据按性别分类指标进行分层发现,性别为女性的用户会更早做出购买行为。
n=10000, number of events=7683
coef exp(coef) se(coef) z p lower 0.95 upper 0.95
birth_year -0.0084 0.9916 0.0010 -8.7945 0.0000 -0.0103 -0.0066 ***
sex -0.1676 0.8457 0.0241 -6.9492 0.0000 -0.2149 -0.1203 ***
---
Signif. codes: 0 '***' 0.001 '**' 0.01 '*' 0.05 '.' 0.1 ' ' 1
Concordance = 0.528
Likelihood ratio test = 124.891 on 2 df, p=0.00000
图3 生存函数在性别上的差异
3. 学习资料
书籍推荐:John博士的 《survival analysis techniques for censored and truncated data》2E。该书可配合下面的视频一起使用,该书把入门的基本原理讲解得很透彻,并且有很多简单的例子帮助理解模型和推导。推荐只是使用生存分析做用户分析,看完前8章内容即可。
视频资料:饺子博士(B站)
第一章 生存函数、风险函数
https://www.bilibili.com/video/BV1WE411P78Z
第二章 删失数据
https://www.bilibili.com/video/BV1WE411N7dd
其余章节待更新。。。
第五章 Cox回归
https://www.bilibili.com/video/BV1N741117G3
个人笔记:糖甜甜甜(知乎)
https://app.yinxiang.com/fx/34f33a79-999a-4dc6-b104-490bc9671838
4. 附件
Kaplan-Meier估计生存估计量原理:
Nelson Aalen估计累积风险率估计量原理:
COX-PH回归:
Cox模型的基本假设为:
在任意一个时间点,两组人群发生时间的风险比例是恒定的;或者说其危险曲线应该是成比例而且是不能交叉的;也就是如果一个体在某个时间点的死亡风险是另外一个体的两倍,那么在其他任意时间点的死亡风险也同样是2倍。
Cox模型与Kaplan-Meier法比较:
Kaplan-Meier法是非参数法,而Cox模型是半参数法,一般来说在符合一定条件下,后者的检验效应要大于前者。
Kaplan-Meier法一般处理单因素对研究生存结局的影响,而Cox模型可以同时处理多个因素对生存结局的影响。
Cox model的形式:h0(t)和βk都是待估参数,Zk为协变量。
代码参考来源:
https://github.com/threecifanggen/lambda-and-tau/blob/master/%E7%94%9F%E5%AD%98%E5%88%86%E6%9E%90-%E4%B8%80%E4%B8%AA%E5%AE%9E%E4%BE%8B/survival_function_for_user_conversion.ipynb
◆ ◆ ◆ ◆ ◆
长按二维码关注我们
数据森麟公众号的交流群已经建立,许多小伙伴已经加入其中,感谢大家的支持。大家可以在群里交流关于数据分析&数据挖掘的相关内容,还没有加入的小伙伴可以扫描下方管理员二维码,进群前一定要关注公众号奥,关注后让管理员帮忙拉进群,期待大家的加入。
管理员二维码:
猜你喜欢