- 數(shù)據(jù)科學工程實踐:用戶行為分析與建模、A/B實驗、SQLFlow
- 謝梁 繆瑩瑩 高梓堯 王子玲等
- 3436字
- 2021-06-24 11:29:39
2.2 生存分析的理論框架
生存分析包括4個主要過程,如圖2-2所示,本節(jié)將逐一進行介紹。

圖2-2 生存分析的4個主要過程
2.2.1 生存分析基本概念界定
1. 事件
事件分為起始事件和終點事件。起始事件即生存分析的起點事件,所有研究對象的起始事件均相同;終點事件指研究關注的具體事件,生存分析中部分研究對象可以觀察到關注事件發(fā)生,能夠獲取準確的發(fā)生時間,為分析提供完全信息,本章后續(xù)討論中提到的“事件”均指“終點事件”。
在二手車定價案例中,起始事件是平臺發(fā)布車輛出售信息,終點事件是用戶下單購買二手車。
2. 生存時間
生存時間不關注事件發(fā)生的客觀時間,只關注從起始事件開始到終點事件發(fā)生之間的時間間隔。例如,病人治愈所花費的時間;首婚人群的婚姻持續(xù)時間;某個系統(tǒng)在故障前良好運轉(zhuǎn)的時間等。生存時間不呈正態(tài)分布,因此不能用生態(tài)分布假設對生存時間分布參數(shù)進行估計。
在二手車定價案例中,車輛生存時間是從平臺發(fā)布信息到車輛被售出的時間間隔,也代表了車輛在庫存存放的時長。
3. 刪失
某些研究對象在觀察時間窗內(nèi)無法獲取事件發(fā)生時間,我們將這種情況稱為刪失,其中以右刪失最為常見,右刪失是指已知研究對象的觀察起始時間,但無法獲取終點事件發(fā)生的具體時間,這一現(xiàn)象是由以下幾個原因?qū)е碌摹?/p>
- 研究對象在觀察時間窗內(nèi)還未發(fā)生有效事件。
- 研究對象在觀察時間窗內(nèi)由于某些原因被丟失。
- 研究對象在事件發(fā)生前由于非事件原因脫離有效觀測。
在二手車定價案例中,因調(diào)價導致原始價格下車輛后續(xù)銷售狀況不明就是一種右刪失,其原因可以歸納為第三類。二手車案例數(shù)據(jù)刪失舉例如圖2-3所示。

圖2-3 二手車案例中數(shù)據(jù)刪失舉例
針對車輛3,有效的處理方式是將數(shù)據(jù)拆分為調(diào)價前與調(diào)價后兩段,調(diào)價前時間段由于受調(diào)價影響,無法追蹤車輛最終是否出售,因此定義為刪失,調(diào)價后在新價格階段能夠有效追蹤銷售情況,具體說明如圖2-4所示。

圖2-4 二手車案例中調(diào)價信息處理
除右刪失外,還有左刪失與區(qū)間刪失。左刪失是指確定研究對象在某一時刻之前發(fā)生了有效事件,但發(fā)生具體時間不詳;區(qū)間刪失是指已知某一研究對象在某一時間段內(nèi)發(fā)生了有效事件,但發(fā)生具體時間不詳。
4. 風險中數(shù)量
風險中數(shù)量指在觀察時間窗內(nèi)可追蹤其狀態(tài)且未發(fā)生事件的對象數(shù)量,但不包括如下兩項。
- 截止到當前時間已經(jīng)發(fā)生了事件/流失的對象。
- 截止到當前時間已經(jīng)右刪失的對象(由于非事件原因脫離觀測的對象)。
在二手車定價案例中,假設在初始價格下,100輛車在信息發(fā)布后的20天內(nèi),有40輛車被售出,有4輛車在售出前進行了調(diào)價,那么在第20天末,風險中數(shù)量是100-40-4=56個。
5. 生存函數(shù)
對于觀察時間窗內(nèi)的任意時刻t(t>0),生存函數(shù)反映的是研究對象到該時刻仍未發(fā)生事件的概率。生存函數(shù)是每個時刻生存概率的乘積,故也稱為累積生存概率函數(shù)。
生存函數(shù)的公式表示為
S(t) = P(T > t) = 1 ? F(t)
其F(t)代表生存時間的累積分布函數(shù),表示事件發(fā)生時間未超過時刻t的概率。
生存函數(shù)具備以下3個特性。
- S(t)∈[0,1],且S(t)單調(diào)遞減。
- 在起始時刻t=0時,所有對象均處于存活狀態(tài),此時S(t)=1。
- 當t趨于無窮大時(t=∞),生存概率趨近于0,S(t)=S(∞)=0。
當生存時間t為連續(xù)型隨機變量時,生存函數(shù)表示為

其中,f(t)為概率密度函數(shù),是F(t)的導數(shù)。
基于生存函數(shù)可以繪制生存曲線。生存函數(shù)對應一條從1到0下降的曲線。曲線越靠左越陡峭,代表生存率越低或生存時間越短,一般的生存曲線如圖2-5所示。

圖2-5 生存曲線示意圖(非案例數(shù)據(jù))
在二手車定價案例中,利潤函數(shù)中的P(t,p)即為生存函數(shù),代表在價格等于p的條件下,車輛存放到第t日仍然沒有賣出去的概率。每個時刻生存概率越大,代表車輛出售的速度越慢。基于P(t,p)可繪制出不同價格條件下的生存曲線,而對應的是曲線下的面積,即車輛的平均出售時長。我們的目標就是通過繪制不同價格、不同參數(shù)條件下車輛的生存曲線,求解車輛平均出售時長,進而制定出最優(yōu)價格策略。
6. 風險函數(shù)與累積風險函數(shù)
風險函數(shù)也可以稱為條件死亡率,指的是在時間t之前未發(fā)生任何事件而恰好在時間t發(fā)生事件的概率。
風險函數(shù)的公式表示為

當生存時間t為連續(xù)型隨機變量時,風險函數(shù)表示為

累積風險函數(shù)公式為

生存函數(shù)與風險函數(shù)的關系表示為

7. 半衰期
半衰期也可以稱為中位生存時間,指恰好一半個體未發(fā)生終點事件的時間。由于刪失的存在,無法直接以平均時間反應事件發(fā)生的時間水平,因此生存分析在描述生存時間時一般以半衰期,也就是存活概率50%時對應消耗的時間來表述。同理,也可以基于需要計算存活概率到其他百分位數(shù)量的消耗時間,半衰期示例如圖2-6所示。

圖2-6 半衰期(中位生存時間,非案例數(shù)據(jù))
在二手車定價案例中,半衰期指恰好還有50%的車輛沒有賣出去對應的時間,由于生存概率是一個隨時間變化的值,無法直接進行對比,因此通常可以采用半衰期作為反映生存概率高低的基礎指標,通過對半衰期的監(jiān)控及對比反映銷售情況。
2.2.2 生存函數(shù)刻畫及簡單對比
2.2.1節(jié)介紹了生存函數(shù)與風險函數(shù)的定義及公式,本節(jié)將介紹對兩個函數(shù)進行刻畫的具體方法。目前,對生存函數(shù)及風險函數(shù)的刻畫方法分為非參數(shù)和參數(shù)兩類。其中,最常用的是非參數(shù)方法中對生存函數(shù)進行刻畫的KM曲線法和對累積風險函數(shù)進行刻畫的Nelson-Aalen曲線法。本小節(jié)會著重介紹KM曲線法,然后對其他方法做簡要說明。
1. KM曲線法
KM曲線法作為一種非參數(shù)方法,不對數(shù)據(jù)分布做任何假設,而是直接用概率乘法定理估計生存率。這一方法的優(yōu)勢在于能夠直觀地觀察生存曲線,便于不同生存曲線之間進行簡單對比,但無法建立數(shù)學模型對多個影響因素進行分析。
假設我們有(t1<t2<…<tk)共k個觀測時刻及N個樣本,dj代表在tj時刻發(fā)生事件的人數(shù),mj表示在(tj,tj+1)時間段內(nèi)刪失的人數(shù),那么tj時刻依然處于風險中的人數(shù)可以表示為
nj = (mj + dj) + … + (mk + dk)
tj時刻的風險率為dj/nj,KM曲線對應生存函數(shù)的估計表示為

KM曲線的估計可以用經(jīng)典Greenwood公式進行計算,從而得到生存函數(shù)的置信區(qū)間,具體計算公式為

2. KM曲線對比
我們可以通過對研究對象進行分組,繪制多條生存曲線,但只通過直接觀察無法確定曲線之間是否具有顯著性差異,還需要引入嚴謹?shù)慕y(tǒng)計檢驗方法。其中,對數(shù)秩檢驗在生存曲線的比較中應用最為廣泛。
對數(shù)秩檢驗是一種非參數(shù)檢驗方法,檢驗的原假設是不同分組之間的生存率沒有顯著差異。在原假設為真的條件下,對數(shù)秩檢驗以整體的風險概率作為理論風險概率計算理論事件數(shù),通過將真實事件數(shù)與理論事件數(shù)進行對比,判斷生存曲線之間是否存在顯著差異。以兩個分組下的生存曲線對比為例,對數(shù)秩檢驗的具體步驟如下。
- 將兩組數(shù)據(jù)混合后按照生存時間排序,通過KM曲線法計算合并后數(shù)據(jù)的整體風險率及生存率。
- 以整體風險率作為理論風險率,計算每組數(shù)據(jù)在原假設成立的情況下,各時刻的理論事件數(shù)(期望事件數(shù))。
- 對各組的理論事件數(shù)進行求和,并計算檢驗統(tǒng)計量量,在原假設成立時,統(tǒng)計量服從自由度為組數(shù)減1的卡方分布,具體檢驗公式表示為
-
- 依據(jù)P值判斷原假設是否成立,p-value≤0.05代表不同組生存曲線之間存在顯著差異,反之則沒有顯著差異。
由此可見,對數(shù)秩檢驗實際上是一種單因素分析,該方法能夠有效實現(xiàn)單因素分類后的組間比較,但無法有效實現(xiàn)多因素分析。
3. Nelson-Aalen累積風險曲線
與KM曲線相同,Nelson-Aalen累積風險曲線法也是一種非參數(shù)方法。該方法適用于對刪失數(shù)據(jù)的處理,曲線基于觀測數(shù)據(jù)對風險函數(shù)及累積風險函數(shù)進行刻畫。
其中,累積風險函數(shù)的估計表示為

4. 生存函數(shù)的參數(shù)估計
參數(shù)方法假定生存時間符合某種分布,根據(jù)樣本觀測值來估計假定分布模型中的參數(shù),以獲得生存時間的概率密度模型。通常,假定生存時間服從的分布主要有指數(shù)分布、威布爾分布、對數(shù)正態(tài)分布及對數(shù)logistic分布等,下面對指數(shù)分布及威布爾分布做簡要介紹。
指數(shù)分布的生存函數(shù)表示為
S(t) = e-λt
風險函數(shù)表示為
h(t) = λ
可見,指數(shù)分布假設時事件發(fā)生時間完全隨機,風險函數(shù)與時間無關。
威布爾分布的生存函數(shù)表示為
S(t) = e(-λtα),λ>0,α>0
風險函數(shù)表示為
h(t) = λα(λt)α-1
其中,λ為尺度參數(shù),決定分布的分散度;α為形狀參數(shù),決定分布的形態(tài)。α=1時為指數(shù)分布,威布爾分布允許風險函數(shù)單調(diào)遞增或遞減。
2.2.3 生存函數(shù)回歸及個體生存概率的預測
1. Cox比例風險回歸模型
前文提到,KM曲線之間的對比只能在單一分類變量之間進行,并且KM曲線只描述了該單變量和生存時間之間的關系而忽略了其他變量的影響。為了解決這個問題,Cox比例風險回歸模型誕生了。Cox比例風險回歸模型通過對風險率進行估計,實現(xiàn)了對包含分類變量及連續(xù)變量的多變量回歸,并控制了其他變量下,單個變量對生存概率的影響。此外,基于回歸的結(jié)果可以實現(xiàn)在給定條件下個體生存概率的預測。
Cox比例風險模型公式為
h(t;x)=h0(t)eβx
與其他回歸分析相同,生存回歸模型可以包括多個自變量,假設有一個影響風險率的自變量,則公式可具體表述為
h(t;x1,x2,…xp)=h0(t)eβ1x1+β2x2+…+βpxp
對于風險函數(shù)而言,基準風險率h0(t)是所有自變量取值均為0的風險率,(β1,β2,…,βp)是模型的偏回歸系數(shù),是一組帶估計的參數(shù),反應了自變量對風險率的影響。模型基于恒定比例風險假設,在不同時刻,相同水平下風險率相對基準風險率的比例固定,不隨時間變化,模型采用指數(shù)函數(shù)形式可以確保風險率大于0。與一般的回歸分析不同,Cox模型不是直接用生存時間作為回歸方程的因變量,自變量對生存時間的影響通過風險函數(shù)與基準函數(shù)的比值來表示,其中模型中h0(t)為非參數(shù)部分,β為需要估計的參數(shù),因此Cox比例風險回歸模型是一種半?yún)?shù)模型。
我們對模型進行解讀:當自變量xp為連續(xù)型變量時,偏回歸系數(shù)βp可表示為,在除xp之外其他變量均不變的情況下,xp每增加一個單位,風險率變化eβp倍;當自變量xp為離散型變量時,假設xp有0和1兩個分類,則偏回歸系數(shù)βp可表示為,在除xp之外其他變量均不變的情況下,類別1相對于類別0的風險率是eβp倍。
總體來說,對于影響因子的解讀可以分為以下3類。
- 當β > 0時,風險率隨著x的增加而增加,我們稱之為危險因素。
- 當β < 0時,風險率隨著x的增加而減少,我們稱之為保護因素。
- 當β = 0時,風險率不隨x的變化而變化,我們稱之為無關因素。
2. Cox比例風險回歸模型的估計
Cox比例風險回歸模型中的偏回歸系數(shù)采用部分似然函數(shù)進行估計。假設我們有一個研究對象,生存時間按照由大到小排序:
t1 ≤ t2 ≤ … ≤ tn
將在時刻ti依然處于風險中的所有對象構(gòu)成危險集,記為R(ti)。隨著ti的增大,危險集里的數(shù)量逐漸減少直到消失,部分似然函數(shù)表示為

對于研究對象i,其在ti時刻發(fā)生事件的概率是兩部分的乘積:一部分是在ti時刻之前依然處于風險中的概率;另一部分是在ti時刻的風險集中,恰好第i個研究對象發(fā)生事件的概率。PL(β)沒有考慮前者,因此成為部分似然函數(shù)。假設對象i在ti時刻發(fā)生事件,則記δi=1,否則δi=0,對PL(β)取對數(shù)得到:

求關于βj(j=1,2,…,p)的一階偏導,并求其等于0的解,即可得到βj的最大似然估計值。
在估計出模型中的β值之后,將每個個體的自變量取值帶入公式,就可以得到每個個體的生存函數(shù)取值,繪制個體的生存函數(shù)曲線,從而實現(xiàn)對個體生存概率的預測。
- 數(shù)據(jù)庫技術(shù)與應用教程(Access)
- 卷積神經(jīng)網(wǎng)絡的Python實現(xiàn)
- 新型數(shù)據(jù)庫系統(tǒng):原理、架構(gòu)與實踐
- R數(shù)據(jù)科學實戰(zhàn):工具詳解與案例分析(鮮讀版)
- 大數(shù)據(jù):從概念到運營
- 數(shù)據(jù)革命:大數(shù)據(jù)價值實現(xiàn)方法、技術(shù)與案例
- Remote Usability Testing
- Python數(shù)據(jù)分析與挖掘?qū)崙?zhàn)(第3版)
- Chef Essentials
- SAS金融數(shù)據(jù)挖掘與建模:系統(tǒng)方法與案例解析
- 企業(yè)級大數(shù)據(jù)項目實戰(zhàn):用戶搜索行為分析系統(tǒng)從0到1
- 基于數(shù)據(jù)發(fā)布的隱私保護模型研究
- ORACLE 11g權(quán)威指南
- 數(shù)據(jù)產(chǎn)品經(jīng)理寶典:大數(shù)據(jù)時代如何創(chuàng)造卓越產(chǎn)品
- Learn Selenium