存活分析進階:母數模型、AFT、脆弱性與遞迴事件
當比例危險、個體獨立、單次事件三條假設一起崩塌時,從 Weibull、加速失效時間、脆弱性到計數過程鞅理論的進階工具箱
當「比例危險」不再成立:你還有哪些武器
你已經會用 Kaplan–Meier 畫留存曲線、用 Cox 模型估危險比(hazard ratio)。但假設你拿到一份真實資料:某輔導方案在第一學期把輟學風險砍半,到第三學期效果幾乎消失;同一批學生又分屬十幾個不同科系,系內學生彼此「命運相關」;而且有些學生不是輟學一次就結束,而是反覆「休學—復學—再休學」。此時 Cox 模型的三條隱形假設——比例危險、個體獨立、單次事件——全都被現實踩破了。
入門篇教的是「在乾淨假設下怎麼估」。這篇進階文要回答的是:當假設崩塌時,存活分析的工具箱裡還有什麼? 我們會走過三條主線:用母數模型(parametric models)直接設定危險的形狀、用加速失效時間(AFT)改變看待時間的方式、用脆弱性模型(frailty)處理相關與異質、再以遞迴事件(recurrent events)收尾,最後用計數過程與鞅(counting process & martingale)理論把這些零件焊成一個統一框架。

母數模型:當你願意設定危險的形狀
Cox 模型的賣點是「不必假設基準危險 $h_0(t)$ 的形狀」。但這份自由有代價:它丟掉了「絕對時間尺度」的資訊,無法直接外推到觀測期之外,效率(小樣本下的估計精度)也常不如指定對的母數模型。當你對危險隨時間如何變化有合理的物理或制度先驗時,母數存活模型反而更強。
母數模型直接給定危險函數的封閉形式。最常見的三個族:
指數分布(exponential) 假設危險率恆定,$h(t)=\lambda$。這是「無記憶」的世界:已經在學三年和剛入學的人,下一刻輟學的瞬時風險一樣。對應的存活函數為 $S(t)=e^{-\lambda t}$。多數真實場景太僵硬,但它是一切的基準。
Weibull 分布 放寬為 $h(t)=\lambda p\,t^{p-1}$,由形狀參數 $p$ 決定危險是遞增($p>1$,老化/磨損)、遞減($p<1$,早夭/適應期)或恆定($p=1$,退回指數)。其存活函數為:
$$S(t)=\exp\!\left(-\lambda t^{p}\right)$$
Weibull 的迷人之處在於它同時可寫成比例危險形式與 AFT 形式——它是唯一橫跨兩種框架的連續分布,這讓它成為母數存活分析的主力。
對數常態(log-normal)與對數邏輯斯(log-logistic) 容許「先升後降」的非單調危險,適合描述「風險在中期達到高峰、之後緩降」的型態(例如某些術後復發、或學生在第二、三學期最易動搖的留存曲線)。
母數模型的參數用完整概似(full likelihood)估計。對第 $i$ 個觀測,設 $\delta_i=1$ 為事件、$\delta_i=0$ 為右設限,則它對概似的貢獻是:
$$L_i = f(t_i)^{\delta_i}\, S(t_i)^{1-\delta_i} = h(t_i)^{\delta_i}\, S(t_i)$$
直覺很清楚:觀測到事件的人貢獻密度 $f(t_i)$(事件恰好發生在 $t_i$),被設限的人只貢獻 $S(t_i)$(我們只知道他撐過了 $t_i$)。把所有觀測相乘取對數,再對參數最大化即可。這條公式是母數存活分析的心臟——它精確地把「設限只提供部分資訊」這件事編碼進概似裡。
加速失效時間模型:換一個看時間的方式
比例危險的世界觀是「共變數乘在危險率上」。加速失效時間模型(accelerated failure time, AFT) 提供了完全不同、而且常常更直觀的觀點:共變數直接拉伸或壓縮時間軸本身。
AFT 的核心方程把對數存活時間寫成線性模型:
$$\log T = \beta_0 + \beta_1 x_1 + \cdots + \beta_p x_p + \sigma\,\varepsilon$$
其中 $\varepsilon$ 是某個指定分布的誤差(取 extreme-value 分布就得到 Weibull AFT,取常態就得到 log-normal AFT)。等價地,它對存活函數的作用是:
$$S(t\mid \mathbf{x}) = S_0\!\big(t \cdot e^{-\boldsymbol{\beta}^\top \mathbf{x}}\big)$$
這裡 $e^{-\boldsymbol{\beta}^\top\mathbf{x}}$ 是加速因子(acceleration factor)。若某保護性介入讓 $\boldsymbol{\beta}^\top\mathbf{x}$ 變大,等於把這個人的「生命時鐘走得更慢」——他要花更久才達到別人在基準時間就達到的存活水準。
AFT 的解讀對非統計背景的決策者特別友善:「參加輔導方案的學生,平均能多撐 1.4 倍的時間才面臨輟學風險」,比「危險比 0.7」更貼近人的時間直覺。兩個框架的關係值得記住:
- PH(比例危險):共變數讓危險率「乘上一個常數」。
- AFT:共變數讓時間軸「乘上一個常數」。
- Weibull 是兩者的交集:它既是 PH 也是 AFT,兩套係數可互相換算($\beta^{\text{PH}} = -p\cdot\beta^{\text{AFT}}$)。
當比例危險假設被 Schoenfeld 殘差打臉時,改用 log-normal 或 log-logistic 的 AFT 模型,往往能更誠實地描述資料——因為它根本不要求危險比恆定。
動手算一下:Weibull 的兩種讀法
假設我們用 Weibull 配適學生留存資料,估得 $p=1.5$、$\lambda=0.01$(時間單位:學期),且某科系變數的 AFT 係數 $\beta^{\text{AFT}}=0.4$。
第一步,基準存活。 問「撐過 9 學期」的機率:
$$S_0(9)=\exp(-\lambda\, t^{p})=\exp(-0.01\times 9^{1.5})=\exp(-0.01\times 27)=\exp(-0.27)\approx 0.763$$
所以基準組約有 76.3% 能撐過 9 學期。形狀參數 $p=1.5>1$ 告訴我們危險率隨時間遞增——學生待越久、面臨的瞬時輟學風險反而越高(也許是高年級課業壓力)。
第二步,AFT 解讀。 該科系變數讓 $\log T$ 增加 0.4,加速因子 $e^{0.4}\approx 1.49$。意思是這個科系的學生「生命時鐘」慢了約 1.49 倍——他們要到約 $9\times 1.49\approx 13.4$ 學期才達到基準組在第 9 學期的留存水準。
第三步,換算成 PH 危險比。 用 Weibull 的橋樑關係:
$$\beta^{\text{PH}} = -p\cdot\beta^{\text{AFT}} = -1.5\times 0.4 = -0.6$$
$$\text{HR}=e^{\beta^{\text{PH}}}=e^{-0.6}\approx 0.549$$
同一份估計,既能說「危險率降為基準組的 0.55 倍」(PH 語言),也能說「存活時間被拉長約 1.5 倍」(AFT 語言)。兩種說法在 Weibull 下是同一件事的兩面——這正是它在母數模型中地位特殊的原因。
脆弱性模型:當個體不再彼此獨立
入門 Cox 模型假設每個個體的事件時間互相獨立。但現實裡,同一個系所、同一個導師、同一所醫院的個體,往往共享某些「看不見的共同風險」。忽略這種群聚(clustering)會低估標準誤、把雜訊當成顯著。
脆弱性模型(frailty model) 用一個乘法的隨機效果 $u$ 來捕捉這種未測量異質性:
$$h_{ij}(t) = u_i\, h_0(t)\, \exp(\boldsymbol{\beta}^\top \mathbf{x}_{ij})$$
其中 $i$ 索引群組(如科系)、$j$ 索引群內個體,$u_i$ 是該群共享的「脆弱性」——$u_i>1$ 表示這群人天生風險偏高,$u_i<1$ 表示偏低。脆弱性是潛在變數,我們不直接觀測,而是給它一個分布(最常用 Gamma 分布,因為它與危險函數共軛、數學上容易積分掉)。
這裡有一個極其重要、卻常被誤解的觀念——脆弱性會製造出虛假的「危險率下降」假象。即使每個個體的真實危險都隨時間遞增,在群體層次觀測到的「邊際危險率」卻可能隨時間下降。為什麼?因為高脆弱性的個體會先發生事件而離開風險集合,剩下的人是「天生強韌」的倖存者,於是群體平均危險被這種選擇效應往下拉。這稱為選擇性損耗(selective depletion),是解讀任何邊際存活曲線時必須警惕的陷阱:你看到的「整體風險下降」可能根本不是個體在變安全,而只是脆弱者被淘汰光了。這與入門篇「倖存者偏誤」的精神一脈相承,但在事件史框架下有了精確的數學刻畫。
當脆弱性結構是「每個個體自己一個 $u_i$、而個體會經歷多次事件」時,這套機制又自然延伸到下一個主題。
遞迴事件:當事件可以發生不只一次
標準存活分析在「第一次事件」就停止觀測。但很多歷程是遞迴的(recurrent):學生反覆休學復學、病人反覆住院、設備反覆故障。把每個人硬切成「只看第一次事件」會浪費大量資訊。
處理遞迴事件有幾套互補的模型,差別在於「風險集合如何定義」與「時間如何計算」:
Andersen–Gill(AG)模型 是最直接的推廣:它把每個人的歷程拆成多段 (start, stop] 區間,假設各次事件之間在給定共變數後彼此獨立,所有區間共用同一個基準危險。它本質上是把 Cox 偏概似搬到計數過程上,適合「事件之間沒有強烈相依」的場景。
PWP(Prentice–Williams–Peterson)模型 加入「事件階層(stratification by event number)」:第一次事件、第二次事件各有自己的基準危險。這反映「經歷過一次休學的人,第二次休學的機制可能不同」。它又分「總時間」與「間隔時間(gap time)」兩種時間尺度——前者從研究起點計時,後者每次事件後時鐘歸零。
WLW(Wei–Lin–Weissfeld)模型 則把每一次事件當成獨立的「邊際」存活問題分別配適,再用穩健(robust)變異數把它們黏起來。
不論用哪套,關鍵都在於變異數估計必須用 robust(sandwich)標準誤,因為同一個人的多次事件不可能真正獨立,樸素的標準誤會嚴重低估不確定性。這也是遞迴事件分析最常被忽略的雷區。
重點回顧
- 母數模型用完整概似:事件貢獻密度 $h(t)S(t)$、設限只貢獻 $S(t)$;Weibull 的形狀參數 $p$ 一眼看出危險遞增($p>1$)或遞減($p<1$),且能外推與生成絕對時間預測,效率常勝 Cox。
- AFT 換個世界觀:共變數拉伸/壓縮時間軸而非乘在危險上;當比例危險假設崩塌時,log-normal、log-logistic 的 AFT 是誠實的替代品。
- Weibull 是 PH 與 AFT 的唯一交集,兩套係數可互換($\beta^{\text{PH}}=-p\,\beta^{\text{AFT}}$)。
- 脆弱性模型用隨機效果處理群聚與未測量異質;務必警惕選擇性損耗——邊際危險下降可能只是脆弱者先離場的假象。
- 遞迴事件(AG/PWP/WLW)善用多次事件的資訊,但必須搭配 robust 標準誤,否則低估不確定性。
深入探討(研究所視角)
計數過程與鞅:把一切焊成一個框架
前面所有零件——KM、Cox、脆弱性、遞迴事件——其實能由計數過程(counting process)與鞅(martingale)理論統一導出。這是 Aalen(1978)與 Andersen–Gill(1982)奠定的現代存活分析基石。
對每個個體 $i$ 定義計數過程 $N_i(t)$=到時間 $t$ 為止它已發生的事件數(單次事件時它從 0 跳到 1),以及風險指示 $Y_i(t)$=在 $t$ 時刻是否仍在風險集合中(在學且未設限為 1)。則 $N_i(t)$ 的強度過程(intensity)為 $Y_i(t)\,h(t\mid\mathbf{x}_i)$。核心結構是 Doob–Meyer 分解:
$$M_i(t) = N_i(t) - \int_0^t Y_i(u)\,h\big(u\mid \mathbf{x}_i\big)\,du$$
其中 $M_i(t)$ 是一個鞅——直觀地說,是「實際發生的事件」減去「按目前已知資訊應該預期發生的累積量」,剩下的純粹是不可預測的隨機波動,其條件期望增量為零。
這個框架的威力在於:
- Nelson–Aalen 估計量 $\hat H(t)=\sum_{t_i\le t} d_i/n_i$ 直接從 $\int dN/Y$ 自然浮現,是累積危險的無母數估計(KM 是它透過 $S=e^{-H}$ 的對應物)。
- Cox 偏概似的 score 函數恰好是鞅的積分 $\int (\mathbf{x}_i-\bar{\mathbf{x}})\,dM_i(t)$,於是「為何 score 期望為零、為何估計量漸近常態」不再靠手工湊,而是鞅中央極限定理(martingale CLT)的直接結果。
- 鞅殘差(martingale residual) $\hat M_i = N_i(\infty)-\hat H_i$ 用來檢查共變數的函數形式(是否該取對數、加平方項);Schoenfeld 殘差則檢查比例危險——兩者都是這套理論的副產品。
換言之,入門篇看似各自獨立的工具,在研究所層次其實是同一棵樹上的枝葉:把「事件流」看成計數過程、把「估計誤差」看成鞅,整個存活分析就有了統一的漸近理論。
設限機制的識別性假設:被低估的前提
所有方法都默默假設非訊息性設限(non-informative / independent censoring):設限時間與事件時間在給定共變數下條件獨立。這個假設無法從資料本身檢驗,卻決定了一切結論的可信度。若輟學風險最高的學生「正好」也最容易在追蹤中失聯(被設限),那麼 KM 會系統性高估留存。
更深一層,存活分析其實踩在因果推論的識別性問題上。把「轉學」當設限來分析「輟學」,等於假設「假如不轉學,這人的輟學歷程不變」——這是一個反事實(counterfactual)假設,本質上不可驗證。處理這類訊息性設限的進階工具包括逆機率設限加權(inverse probability of censoring weighting, IPCW),它對「容易被設限」的觀測加權補償,在邊際結構模型(marginal structural models)中是估計時變處理因果效應的關鍵。
一個提醒:別把危險比當因果效應
最後重申入門篇的警示,並在進階層次補一刀:即使比例危險假設成立、即使設限非訊息性,Cox 危險比仍有一個微妙陷阱——它是「條件於存活到 $t$ 的人」的比較,而這個風險集合本身已被前述選擇性損耗扭曲。因此即使在隨機分派實驗中,危險比也不等於某種乾淨的因果風險比,兩組的危險比可能隨時間漂移,純粹因為兩組的脆弱性分布以不同速率被損耗。要做嚴謹的因果推論,當代文獻越來越傾向報告存活機率差、限制平均存活時間(restricted mean survival time, RMST)等「對選擇性損耗較不敏感」的估計量,而非單一危險比。存活分析是描述事件時序的精密語言,但它的每個數字都帶著假設的指紋——讀懂這些指紋,才是進階的真正分野。