參考資料:ios
1. Competing Risks(Germ´an Rodr´ıguez)git
2. Competing Risks - What, Why, When and How? (Sally R. Hinchliffe)
ide
1. 簡介與例子引入函數
competing risks指形成failure的緣由有多種可能。spa
以放置節育環爲例,這裏的failure指的應該是節育環沒能在原按期限前一直髮揮好做用(即避孕做用)。致使failure的risk包括意外懷孕、節育環排出、醫學緣由移除、我的緣由移除等;由不一樣緣由形成的failure,視爲不一樣類的failure。blog
對於這類問題,研究的興趣點主要在於如下三項:ip
1) 研究變量向量$x$和特定failure的risk(指形成failure的爲特定緣由的風險risk)之間的關係;ci
2) 分析在某類failure高風險的人羣是否也存在另外一類failure的高風險;rem
3) 估計某類failure在排除其餘緣由的狀況下的risk。get
若是有不一樣類failure相互獨立的假設,問題3)能夠被回答被計算(獨立的話,條件機率和本身自己的機率是同樣的),而問題2)會所以獲得否認的回答。
2. 標記說明和基本公式
$T$: Survival Time(生存時間)
$J$: The type of failure(failure的類型,即由於何種緣由形成的failure).$j\in \{1,2,...,M\}$
$x$: A vector of covariate(協變量的向量)
整體風險比率(overall hazard rate)仍像通常情形的定義:
\[\lambda(t,x)=\lim_{\Delta t \to 0}\frac{P\{t\leq T < t+\Delta t|T\geq t, x\}}{\Delta t}\]
特定緣由致使failure的瞬時風險(cause-specific hazard rate)則爲:
\[\lambda_j(t,x)=\lim_{\Delta t \to 0}\frac{P\{t\leq T < t+\Delta t, J=j|T\geq t, x\}}{\Delta t}\]
這裏假設failure只能由其中一種緣由致使。若是存在兩種以上failure同時發生(同時有兩種最開始定義的緣由致使了failure),把這種狀況定義成新的一類failure(兩種緣由同時出現時,定爲新的緣由,和原來的兩種獨立形成failure的狀況區分開來),使假設依然成立。
這樣子,就有
\[\lambda(t,x)=\sum_{j=1}^{m} \lambda_j(t,x)\]
根據上式及生存函數的定義得整體生存函數(overall survival function)爲
\[S(t,x) = e^{-\Lambda(t,x)} = e^{-\int_0^t \lambda(u,x)du}\]
(當$x$爲time-varying變量時,函數形式會有變化)
相似地,定義
\[S_j(t,x) = e^{-\Lambda_j(t,x)},\]
\[\Lambda_j(t,x)=e^{-\int_0^t \lambda_j(u,x)du}\]
$*$當failure類型數$M>1$時,通常來講,$S_j(t,x)$不能被理解成生存函數survival function,但能夠推出$S_j(t,x)$和$S(t,x)$之間的關係:
\begin{eqnarray*}
S(t,x) & = & e^{-\int_0^t \lambda(u,x)du} \\
& = & e^{-\int_0^t \sum_j \lambda_j(u,x)du} \\
& = & e^{-\sum_j \int_0^t \lambda_j(u,x)du} \\
& = & \prod_j e^{-\int_0^j \lambda_j(u,x)du} \\
& = & \prod_j S_j(t,x)
\end{eqnarray*}
一樣地,定義cause-specific的t時刻密度函數:
\[f_j(t,x)= \lim_{\Delta t \to 0} \frac{P\{t\leq T \leq t+\Delta t, J=j|x\}}{\Delta t}\]
\[f_j(t,x)= \lambda_j(t,x)S(t,x).\]
這是衡量個體在t時刻因緣由$j$死亡的非條件機率風險,而且有
\[f(t,x) = \sum_{j=1}^M f_j(t,x)\]
3. 估計(one sample:同質樣本,無協變量,非參情形)
3.1 Kaplan-Meier
令$t_{j1} < t_{j2} < \cdots < t_{jk_j}$,表示的是第$j$類failure的failure time。
$n_{ji}$表示在$t_{ji}$因緣由$j$死亡的個體數。
用通常KM估計量的推導方式能夠獲得KM估計量
\[\hat{S_j}(t,x)=\prod_{i:t_{ji}} (1-\frac{d_{ji}}{n_{ji}})\]
能夠看到,對於某個$j$類failure,其餘類failure的個體的處理和出現右刪失的個體的處理結果是同樣的。
若是不一樣類failure之間沒有結(ties),則
\[\hat{S}(t) = \prod_{j=1}^{M} \hat{S_j}(t),\]
$S(t)$的估計量是cause-specific survivor-like functions(指$\hat{S_j(t)}$)的估計量的乘積。
3.2 Nelson-Aalen
cause-specific累積風險函數的估計:
\[\hat{\Lambda_j}(t)=\sum_{i:t_{ji}<t} \frac{d_{ji}}{n_{ji}}\]
對應着
\[\hat{\lambda_j}(t)=\frac{d_{ji}}{n_{ji}},t=t_{ji}.\]
基於K-M估計的另外一種估計:
\[\hat{\Lambda_j}(t)=-\log \hat{S_j}(t)\]
同理也能夠從$\hat{\Lambda_j}(t)$的估計獲得$\hat{S_j}(t)$的另外一種形式的估計。
4. 估計:引入迴歸模型
n個observation:$(t_i, d_i, j_i, x_i), i=1,2,\cdots,n$
$t_i$表示時間,
$$d_i=\left\{
\begin{aligned}
& 1 &, \text{if dead} \\
& 0 &, \text{if censored}.
\end{aligned}
\right.
$$
$j_i\in \{1,2,\cdots,M\}$,但對於$d_i=0$即刪失的狀況,$j_i$無定義。
4.1 似然函數The likelihood function
\[L=\prod_{i=1}^{n} \lambda_{j_i}(t_i,x_i)^{d_i} S(t_i,x_i):\]
當個體在$t_i$時刻刪失時,體現的是直到$t_i$仍存活的機率:
\[S(t_i,x_i).\]
當個體在$t_i$時刻因緣由$j_i$而死亡時,體現的是在$t_i$時刻因緣由$j_i$死亡的機率密度$f_{j_i}(t_i,x_i)$:
經過$\lambda_{j_i}(t_i,x_i)$的定義,進行簡單推導能夠展開爲
\[\lambda_{j_i}(t_i,x_i)\cdot S(t_i,x_i).\]
引入$d_i$,則將這兩個式子統一成同一個形式,獲得上面的似然函數
\[L=\prod_{i=1}^{n} \lambda_{j_i}(t_i,x_i)^{d_i} S(t_i,x_i)\]
又因爲$S(t_i,x_i)=\prod_j S_j(t_i,x_i)$,則
\begin{eqnarray*}
L & = & \prod_{i=1}^{n} \lambda_{j_i}(t_i,x_i)^{d_i} \prod_j S_j(t_i,x_i) \\
& = & \prod_{i=1}^{n} \lambda_{j_i}(t_i,x_i)^{d_i} \prod_j e^{-\Lambda_j(xt_i,x_i)}
\end{eqnarray*}
用$d_{ij}$表示個體$i$是否因緣由$j$而死亡。顯然$d_i=\sum_{j} d_{ij}$.(前面有作設定,個體只能因一種緣由死亡)。則有
\[L=\prod_{i=1}^n \prod_{j=1}^M \lambda_j(t_i,x_i)^{d_{ij}} e^{-\Lambda_j(t_i,x_i)}.\]
乘子的順序並不重要,由此還能夠引出兩個結論:
1) 整體似然函數是不一樣failure的似然函數的乘積。這意味着,當不一樣的$\lambda_j(t,x)$不依賴於相同的參數時,能夠對似然逐個求最大值來作估計。
2) 涉及某一類failure的似然函數,和將其餘全部failure視爲刪失狀況下獲得的似然函數是徹底同樣的。
4.2 Weibull Regression - 韋布爾迴歸
假設第j風險函數服從帶Weibull基準風險的比例模型(proportional model with Weibull baseline):
\[\lambda_j(t,x) = \lambda_{j0} e^{x^\mathrm{T} \beta_j}\]
Weibull基準風險爲
\[\lambda_{j0}(t) = \lambda_j p_j(\lambda_j t)^{p_j-1}\]
$*$用和前面分析相同的觀點來看,能夠一樣把非第j緣由形成的死亡視爲刪失,對參數$(\lambda_j, p_j,\beta_j)$進行估計。
這裏的參數都依賴於j有不一樣的值,若是有須要的話,對於每種failure,採用不一樣的x也是能夠的。
而若是想讓這些Weibull都有相同的index,好比說$p_j = p_{\forall j}$。那整體的似然函數裏會有一些項不能消掉,估計參數也不能用(*)所述的簡化版本了;一樣的,若是讓$\beta$們也共用,也會有這個問題。
(爲何會這樣,文章裏沒明講,我以爲是由於若是假設不一樣的failure裏採用的是同一套參數,這就違背了"不一樣failure之間是獨立的"這個假設。)
4.3 Cox Regression - Cox迴歸
若是對$\lambda_{j0}(t)$沒有假設,也能夠擬合PH模型(比例模型)。標準的Cox論述導出的偏似然函數以下:
\[L = \prod_{j=1}^m \prod_{i=1}^{k_j} \frac{e^{x^\mathrm{T} _{ji(j)} \beta_j}}{\sum_{k \in R(t_ji)} e^{x^\mathrm{T} _{jk} \beta_j}}\]
其中,$k_j$表示因爲緣由j致使死亡的次數(相同時間屢次的記一次:distinct),$t_{ji}$表示第i個這樣的時刻,$R(t_{ji})$表示$t_{ji}$時刻的風險集,$i(j)$表示在$t_{ji}$死亡的樣本下標/編號(index)。
若是想將m個基準風險函數都限制爲與一個super-baseline成比例,像$$\lambda_{j0}(t) = \lambda_0(t) e^{\gamma_j}.$$
則會獲得不一樣的偏似然(可見K-P中的公式8.15-8.16,不過不知道具體指的是什麼,文章沒給出參考文獻或相關連接)
4.4 Piece-wise Exponential Survival - 分段指數生存模型
根據Holford,或是Laird和Olivier的論述,用拐點(breakpoints) $0 = \tau_1<\tau_2<\cdots<\tau_k = \infty$定義各個區間,假設j類failure的基準風險服從階梯函數,在各區間中爲常數值:
\[\lambda_{j0} = \lambda_{jk}, \mbox{for } t \in [\tau_k, \tau_{k+1}).\]
則似然函數中對應j類failure的因子,和,假設在區間$k$因$j$類failure死亡的人數服從如下式爲均值的泊松分佈而獲得的泊松似然的核,是同樣的:
\[\mu_{ijk} = E_{ik} \lambda_{jk} e^{x_i^\mathrm{T} \beta_j}\]
$E_{ik}$指的是時間處在區間$k$中時,帶有協變量$x_i$的人羣裏暴露在風險中的數量(total exposure of people with covariates $x_i$ in interval k)
(個體處於風險時,是同時含有由於任何一個緣由死亡的風險的,這裏$E_{ik}$也即暴露於風險的數量,是不區分緣由的(is not cause-specific))
所以,咱們能夠用 以因爲各個緣由形成的死亡數做爲結果變量、以暴露於全部緣由的(數量)爲偏置的一系列泊松迴歸來擬合競爭風險模型。
(Thus, we can fit competing risk models by running a series of Poisson regressions where we treat the number of deaths due to each cause as the outcome and the exposure to all causes as the offset.)
這個模型的一個優勢在於考慮到了:在給定個體因某些緣由在時間t死亡的條件下,因緣由j而死亡的條件機率。
在給定存活到剛好在t時以前,因緣由j而死亡的機率爲:
\[\lambda_j(t,x) = \lambda_{j0}(t)e^{x^\mathrm{T} \beta_j} = e^{\alpha_{jk} + x^\mathrm{T} \beta_j},\]
也就是說,$\alpha_{jk} = \log \lambda_{jk}$是在區間k時緣由j對應的對數基準風險。
此時在該瞬間的整體風險爲
\[\lambda(t,x) = \sum_{j=1}^m \lambda_j(t,x) = \sum_{j=1}^m e^{\alpha_{jk}+x^\mathrm{T} \beta_j}.\]
而後能夠獲得上述的條件機率:
\[\pi_{jk} = \frac{e^{\alpha_{jk}+x^\mathrm{T}\beta_j}}{\sum_{r=1}^m e^{\alpha_{rk}+x^\mathrm{T} \beta_r}},\]
能夠看到這是服從一個以相同的$\beta_j$做爲參數的多項Logit模型來做爲競爭風險模型!
這意味着咱們能夠把競爭模型的分析分爲兩部分,用
1. 一個用於獲得總體風險的標準風險模型
2. 一個關於死亡緣由的多項Logit模型
這樣獲得的結果,會和直接對每類failure分別擬合泊松模型獲得的結果徹底同樣。
5. 可識別問題 The Identification Problem
用$T_1, T_2, \cdots, T_m$ 表示個體因$1,2,\cdots,m$緣由而死亡的時間。
但顯然對於每個個體,咱們都只能觀察到一個死亡時間點,最先的那一個。
嚴格來講,$T$和$J$都是隨機變量:
\[T = min\{T_1, T_2, \cdots, T_m\}\]
\[J = \{j:T_j\leq T_k \forall k\}\]
5.1 - 5.3 多元生存函數及邊緣分佈函數 Multivariate and Maginal Survival
引入聯合生存函數,也稱爲Multiple decrement function
\[S_M(t_1, t_2, \cdots, t_m) = Pr\{T_1\geq t_1, T_2 \geq t_2, \cdots, T_m \geq t_m\}.\]
則有
\[S(t) = S_M(t, t, \cdots, t).\]
咱們看到,$S(t)$意外地被定義得很穩當(incidentially, S(t) is well defined.)
而case-specific hazards能夠從$S_M$的對數偏導入手定義:
\begin{eqnarray*}
\lambda_j(t) & = & \lim_{\Delta t \to 0} \frac{Pr\{t \leq T_j < t+ \Delta t|T>t\}}{\Delta t} \\
& = & - \frac{\partial}{\partial t} \log S_M(t, t, \cdots, t).
\end{eqnarray*}
因爲\[Pr\{t\leq T_j < t+\Delta t|T>t\} = Pr\{t\leq t+\Delta t, J=j|T>t\},\]
因此$\lambda_j(t)$與前面部分獲得的結果是同樣的。
*要注意的是,由數據對應獲得的似然函數只依賴於$\lambda_j(t)$,則只有它們或其函數才能被估計。其餘的都是不可識別的(沒法估計出來)。
因此,隱藏的各個failure的時間,其邊緣分佈是不可識別的:
\[S_j^\ast (t) = Pr\{T_j\geq t\} = S_M(0,\cdots,0, t,0,\cdots,0).\]
$t$出如今第$j$項。
依次能夠定義邊緣風險函數:
\[\lambda^\ast (t) = \frac{\partial}{\partial t} \log S_j^\ast (t) \]
通常來講,\[\lambda_j^\ast (t) \neq \lambda_j(t)\]
但若是$T_j$之間互相獨立,則有
\[S_M(t_1,\cdots, t_m) = \prod_{j=1}^m S_j^\ast (t_j).\]
且\[S_j^\ast (t) = S_j(t)\]
此時會有\[\lambda_j^\ast (t) = \lambda_j(t)\]
可是,$S_M$沒法被估計,因此這裏的獨立性也是沒有辦法去檢驗的。
文章最後舉了一個例子,可能有人會以爲能夠經過$\lambda_j(t)$的形式來判斷是否各份量之間是獨立的,但事實上,在一個沒有獨立性假設情況下推導出的$\lambda_j(t)$,在假設獨立性存在時,仍然能夠獲得一個不一樣的$S(t,\cdots,t)$ ,而在這個$S(t,\cdots,t)$中,各份量間確實是獨立的。這意味着獨立性存不存在的兩種狀況,多是會推導出同一個$\lambda_j(t)$的表達式的,試圖由此判斷是不對的。
具體的例子以下:
若是能同時觀察到一個以上的"死亡"時間,那這個識別問題也許是能夠解決的。但從定義上看能夠知道,通常來講是不可行的。在Panel analysis中,把死亡和消耗都認爲是competind risk的一種,則是能夠的,由於這二者能夠同時被觀察到。(這個例外沒有接觸,不是很懂具體的情景是什麼樣的)
文章最後還有一點討論,關於獨立性(大體結論是 很難 )以及淨機率的定義(計算某類failure的機率時是否考慮了其餘failure)。