Home
Explore Uedu
Student Console
Register as Member/Login
(2) In future presentations of the research findings, in addition to the course project website and public presentations, your real name and personal information will not appear in this research report. If you are interested in the research results, we can provide you with an executive summary after the study is completed.
問卷中心
Teacher Console
Course Setup
Support & Messages
Uptime Data

UeduGPTs

--

Jupyters

0

Local AI

--

CISOSE26 本地 AI UG26
政治大學 AQI 19 29°C

AI Reply Desktop Notifications

Show a desktop notification when the AI TA finishes replying

Chat Message Notifications

Notify me when classmates post messages in the forum

Sound notification

Play an alert sound whenever there is a new notification

存活與事件史分析

存活分析進階:母數模型、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)等「對選擇性損耗較不敏感」的估計量,而非單一危險比。存活分析是描述事件時序的精密語言,但它的每個數字都帶著假設的指紋——讀懂這些指紋,才是進階的真正分野。

AI 共讀助教正在陪你讀:存活分析進階:母數模型、AFT、脆弱性與遞迴事件
嗨!我是這篇文章的共讀助教,只根據〈存活分析進階:母數模型、AFT、脆弱性與遞迴事件〉的內容回答。可以問我「解釋某段」「舉個例子」「出題考我」,或反白文中段落後點下方「解釋選取段落」。