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
點擊“在看”可收藏隨時查看↘↘↘