Competing Risks (競爭風險)


參考資料:

1. Competing Risks(Germ´an Rodr´ıguez)

2. Competing Risks - What, Why, When and How? (Sally R. Hinchliffe)

1. 簡介與例子引入

competing risks指造成failure的原因有多種可能。

以放置節育環為例,這里的failure指的應該是節育環沒能在原定期限前一直發揮好作用(即避孕作用)。導致failure的risk包括意外懷孕、節育環排出、醫學原因移除、個人原因移除等;由不同原因造成的failure,視為不同類的failure。

對於這類問題,研究的興趣點主要在於以下三項:

1) 研究變量向量$x$和特定failure的risk(指造成failure的為特定原因的風險risk)之間的關系;

2) 分析在某類failure高風險的人群是否也存在另一類failure的高風險;

3) 估計某類failure在排除其他原因的情況下的risk。

如果有不同類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)。

 


免責聲明!

本站轉載的文章為個人學習借鑒使用,本站對版權不負任何法律責任。如果侵犯了您的隱私權益,請聯系本站郵箱yoyou2525@163.com刪除。



 
粵ICP備18138465號   © 2018-2025 CODEPRJ.COM