cox生存分析-从基本概念到参数求解

cox生存分析

第一次写分享,希望自己的工作对正在学习COX的你所有帮助,很多地方可能理解不到位,大家可以帮忙指正~互相学习

cox的基本概念

删失数据

在全面了解COX模型之前,我们要先知道,什么叫做删失数据(censored data)
在这里插入图片描述
1)event是什么?
在医学中,我们经常会将死亡看做一个event发生,因此很多资料都会以死亡作为例子,但是很多同学可能不是应用在医学领域,因此我们这里使用事件发生作为感兴趣的,客户违约可以看做一个"event"、发生某种疾病也是一个"event"…
2)删失数据是什么?
删失数据(censored data)和缺失数据(missing data) 有本质的区别,在上图里,我们整个观测期为2。
1.看第一个个体,该个体在时刻1的时候发生event,这时候我们就认为第一个个体在1时刻event发生,记作 T 1 = 1 T_{1}=1 T1=1
2.看第二个个体,在1.5这个时刻,该个体不见了,这种情况我们就认为发生了删失,记作 T 2 > 1.5 T_{2}>1.5 T2>1.5
3.看第三个个体,该个体在整个观测期都没有发生event,这种情况我们就认为发生了删失,记作 T 3 > 2 T_{3}>2 T3>2

COX基本概念

T:受试者的生存时间
S(T): 生存函数 S ( T ) = P ( T > t ) = ∫ t ∞ f ( x ) d x = 1 − F ( t ) S(T)=P(T>t)=\int_{t}^{\infty} f(x) d x=1-F(t) S(T)=P(T>t)=tf(x)dx=1F(t)
h(t): 风险函数,即这个人在t时刻瞬时死亡率
h ( t ) = lim ⁡ d t → 0 P ( T < t + d t ∣ T > t ) d t = lim ⁡ d t → 0 P ( t < T < t + d t ) P ( T > t ) d t = lim ⁡ d t → 0 P ( t < T < t + d t ) S ( t ) d t =  积分中值定理  f ( t ) S ( t ) h(t)=\lim _{d t \rightarrow 0} \frac{P(T<t+d t \mid T>t)}{d t}=\lim _{d t \rightarrow 0} \frac{P(t<T<t+d t)}{P(T>t) d t}=\lim _{d t \rightarrow 0} \frac{P(t<T<t+d t)}{S(t) d t} \stackrel{\text { 积分中值定理 }}{=} \frac{f(t)}{S(t)} h(t)=limdt0dtP(T<t+dtT>t)=limdt0P(T>t)dtP(t<T<t+dt)=limdt0S(t)dtP(t<T<t+dt)= 积分中值定理 S(t)f(t)
H(t): H ( t ) = ∫ 0 t h ( x ) d x H(t)=\int_{0}^{t} h(x) d x H(t)=0th(x)dx
我们的目的是得到出S(T)、h(t)、H(t),实际上求出三个中的一个,其他的也相应可以得到:
h ( t ) = f ( t ) S ( t ) = − S ′ ( t ) S ( t ) ⇒ H ( t ) = − ln ⁡ S ( t ) ⇒ S ( t ) = e − H ( t ) = e − ∫ 0 t h ( x ) d x \mathrm{h}(\mathrm{t})=\frac{\mathrm{f}(t)}{S(t)}=\frac{-S^{\prime}(t)}{S(\mathrm{t})} \Rightarrow H(t)=-\ln S(t) \Rightarrow S(t)=e^{-H(t)}=e^{-\int_{0}^{t} h(x) d x} h(t)=S(t)f(t)=S(t)S(t)H(t)=lnS(t)S(t)=eH(t)=e0th(x)dx

用kaplan-Meier method法估计生存函数

结论

假设现在的数据集有k个不同的生存时间, t 1 < t 2 … < t k \mathrm{t}_{1}<\mathrm{t}_{2} \ldots<\mathrm{t}_{k} t1<t2<tk ,
n i : \mathrm{n}_{i}: ni: t i t_{i} ti 时刻, n i \mathrm{n}_{i} ni 个受试者处于风险之中(event未发生, 且不是删失数据)
d i : t i \mathrm{d}_{i}: t_{i} di:ti 时刻发生event的人
那么有S(t)的估计值:
S ( t ^ ) = ∏ i : t i ≤ t ( 1 − d i n i ) \hat{S(t})=\prod_{i: t_{i} \leq t}\left(1-\frac{\mathrm{d}_{i}}{n_{i}}\right) S(t^)=i:tit(1nidi)

举例

举个例子:
一家生物技术公司进行了一项为期 2 年的临床试验,测试了新型心脏瓣膜的功效。 记录了 10 名植入心脏瓣膜的患者的存活时间(以月为单位)。 观察旁边的加号“+表示观察被删失。 数据是
24 + , 16 + , 8 , 19 , 10 , 8 + , 5 , 17 , 20 , 10 24+, \quad 16+, \quad 8, \quad 19, \quad 10,8+, 5, \quad 17, \quad 20, \quad 10 24+,16+,8,19,10,8+,5,17,20,10
因此,有八个不同的生存时间,按升序给出:
5 , 8 , 10 , 16 , 17 , 19 , 20 , 24 \begin{array}{llllllll} 5, & 8, & 10, & 16, & 17, & 19, & 20, & 24 \end{array} 5,8,10,16,17,19,20,24
那么其生存函数可以通过如下的估计给出:
 时刻  处于风险之中  死亡  删失数据   生存率   估计量  t i n i d i  at Time  t i ( 1 − d i n i ) S ^ ( t ) , t i < t < t i + 1 0 10 0 0 1 − 0 = 1.00 1.00 5 10 1 0 1 − 1 10 = 0.90 ( 1.00 ) ( 0.90 ) = 0.90 8 9 1 1 1 − 1 9 = 0.89 ( 0.90 ) ( 0.89 ) = 0.80 10 7 2 0 1 − 2 7 = 0.71 ( 0.80 ) ( 0.71 ) = 0.57 16 5 0 1 1 − 0 = 1.00 ( 0.57 ) ( 1.00 ) = 0.57 17 4 1 0 1 − 1 4 = 0.75 ( 0.57 ) ( 0.75 ) = 0.43 19 3 1 0 1 − 1 3 = 0.67 ( 0.43 ) ( 0.67 ) = 0.29 20 2 1 0 1 − 1 2 = 0.50 ( 0.29 ) ( 0.50 ) = 0.15 24 1 0 1 1 − 0 = 1.00 ( 0.15 ) ( 1.00 ) = 0.15 \begin{array}{rrrcrc} \hline \text { 时刻 } & \text {处于风险之中 } & \text {死亡} & \text { 删失数据 } & \text { 生存率 } & \text { 估计量 } \\ t_{i} & n_{i} & d_{i} & \text { at Time } t_{i} & \left(1-\frac{d_{i}}{n_{i}}\right) & \hat{S}(t), t_{i}<t<t_{i+1} \\ \hline 0 & 10 & 0 & 0 & 1-0=1.00 & 1.00 \\ 5 & 10 & 1 & 0 & 1-\frac{1}{10}=0.90 & (1.00)(0.90)=0.90 \\ 8 & 9 & 1 & 1 & 1-\frac{1}{9}=0.89 & (0.90)(0.89)=0.80 \\ 10 & 7 & 2 & 0 & 1-\frac{2}{7}=0.71 & (0.80)(0.71)=0.57 \\ 16 & 5 & 0 & 1 & 1-0=1.00 & (0.57)(1.00)=0.57 \\ 17 & 4 & 1 & 0 & 1-\frac{1}{4}=0.75 & (0.57)(0.75)=0.43 \\ 19 & 3 & 1 & 0 & 1-\frac{1}{3}=0.67 & (0.43)(0.67)=0.29 \\ 20 & 2 & 1 & 0 & 1-\frac{1}{2}=0.50 & (0.29)(0.50)=0.15 \\ 24 & 1 & 0 & 1 & 1-0=1.00 & (0.15)(1.00)=0.15 \\ \hline \end{array}  时刻 ti058101617192024处于风险之中 ni10109754321死亡di011201110 删失数据  at Time ti001010001 生存率 (1nidi)10=1.001101=0.90191=0.89172=0.7110=1.00141=0.75131=0.67121=0.5010=1.00 估计量 S^(t),ti<t<ti+11.00(1.00)(0.90)=0.90(0.90)(0.89)=0.80(0.80)(0.71)=0.57(0.57)(1.00)=0.57(0.57)(0.75)=0.43(0.43)(0.67)=0.29(0.29)(0.50)=0.15(0.15)(1.00)=0.15
跟着这个例子算一遍,你就知道 S ( t ^ ) = ∏ i : t i ≤ t ( 1 − d i n i ) \hat{S(t})=\prod_{i: t_{i} \leq t}\left(1-\frac{\mathrm{d}_{i}}{n_{i}}\right) S(t^)=i:tit(1nidi) 是怎么算的。

证明

下面对 S ( t ^ ) = ∏ i : t i ≤ t ( 1 − d i n i ) \hat{S(t})=\prod_{i: t_{i} \leq t}\left(1-\frac{\mathrm{d}_{i}}{n_{i}}\right) S(t^)=i:tit(1nidi) 进行证明:
S ( t i ) = P ( T > t i ) = P ( T > t i ∣ T > t i − 1 ) P ( T > t i − 1 ) = P ( T > t i ∣ T > t i − 1 ) S ( t i − 1 ) , S\left(t_{i}\right)=P\left(T>t_{i}\right)=P\left(T>t_{i} \mid T>t_{i-1}\right) P\left(T>t_{i-1}\right)=P\left(T>t_{i} \mid T>t_{i-1}\right) S\left(t_{i-1}\right), \quad S(ti)=P(T>ti)=P(T>tiT>ti1)P(T>ti1)=P(T>tiT>ti1)S(ti1), P ( T > t i ∣ T > t i − 1 ) = π i P\left(T>t_{i} \mid T>t_{i-1}\right)=\pi_{\mathrm{i}} P(T>t

  • 21
    点赞
  • 17
    收藏
    觉得还不错? 一键收藏
  • 2
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论 2
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值