CTB11的个人博客分享 http://blog.sciencenet.cn/u/CTB11

博文

关于Cox回归模型你需要知道的数学

已有 36159 次阅读 2015-3-22 21:25 |系统分类:科研笔记

生物统计技术:Kaplan-Meier生存曲线与COX回归模型<返回文章列表

Kaplan-Meier生存曲线

Kaplan-Meier生存曲线适用于对某人群进行跟踪,直至出现一个特殊事件或终点,如死亡、癌症复发等。对所有研究对象从某特定时间点开始追踪,记录出现特殊事件的时间。通常当所有研究对象出现该事件时研究才结束,但由于研究时间有限,对于有些研究对象也可能出 现失访的情况(比如意外事件),这样就有一些对象的结局未知。这些事件构成了不完全数据或者说截尾值(censored data)。

Kaplan-Meier 法是一种非参数方法,其基本思想是:将生存时间由小到大依次排列,在每个死亡点上,计算其期初人数、死亡人数、死亡概率、生存概率和生存率。其中需要注意的是Kaplan-Meier法划分时间段的分割点是实际死亡发生的时间。

比如我们举下面一个例子:


那么对应的就有:

如果我们存在截尾数据可能就有区别了,比如下表:

有截尾和无结尾对应的生存曲线如下图所示:

可以看到相对于原始的数据集,由于有不完全数据(截尾值),导致生存曲线的估算是会更高的。这里在曲线的转弯处应该标记‘+’代表截尾数据。

Cox Proportional-Hazards Regression

Cox风险比例模型是一种针对生存数据的模型。其建模的对象主要是我们刚才计算的危险率(Hazard Rate),这里我们用一种更为连续的方法定义t时刻的危险率h(t):

如果我们认为h(t)是常数c,那么存活时间就满足参数为c的指数分布。如果认为logh(t) = a + bt,那么存活时间满足Gompertz分布,如果认为logh(t) = a + log(t)。那么存活时间满足Weibull分布。

Cox回归的假设是h满足这样的分布:

其中h0我们不要去管它(这是COX模型一个重要的假设)。对于两个对象,它们危险率的比值(Hazard Ratio)是和h0无关的,这也是为什么Cox模型是一种“比例”模型。这点在COX回归模型的学习中会用到,我们之后会介绍。

Cox 回归模型的学习

对于Cox模型,由于我们刚才提到h0我们是不管的,所以这是一个半参数模型,在对模型进行学习的时候,我们定义的是部分似然函数(partial likelihood)而非传统的似然函数。假设我们共有m个事件,部分似然函数定义式如下:

如果更具体地,我们有6个人,分别在时间1,3,4,10(+),12,18死亡(第四个个体数据不完全)。那么对应的部分似然函数表达式如下:

可以看到在这个表达式中起作用的是各个时间点每个个体危险率的比值。

我们就可以利用h的定义式对部分似然函数进行化简,得到

其中R(t)是t时刻的危险集,δj表示第j个对象是否是uncensored data (0 if uncensored)。进一步化简就可以得到:

然后我们就可以利用机器学习中常用的方法对参数β进行学习了。

Cox回归与似然比率检验(Likelihood ratio test)

以上我们谈到如何学习一个有效的Cox回归模型,那么有没有办法评判加入新的variable对模型的改善呢?这就需要用到假设检验的知识了。我们这里需要的是似然比率检验,我们的H0假设是新变量对预测死亡无效,然后我们就需要通过计算p值来进行判断了。

这里仍旧举一个例子,假设我们有一定数量的人群样本,我们知道这些人的性别和是否吸烟,我们也有他们的生存曲线。我们可以利用性别作为变量学习一个Cox回归模型,而且通过计算我们知道它的部分似然函数(取对数后)为-262.14。然后我们把吸烟的信息加进来,得到新的似然函数大小约为-259.35,似乎是提高了一点,但我们如何看新的抽烟变量是否显著呢?这里我们就要用到一个神奇的定理了,叫Wilks's theorem。该定理指出-2log(Lnew/L)满足自由度为新加入变量个数的卡方分布。所以我们有-2*(-262.14+259.35)=5.58,带入自由度为1的卡方分布中得到p值为0.018。如果以5%为限的话可知我们的H0假设不成立,新变量也就是是否吸烟具有统计显著性,应该加入模型。

更多

关于Cox模型我们之前没有考虑的一点是,假设同一个时间点有多个人死了,也就是出现了平局(tie)该怎么办。原则上我们数据的时间精度足够高的话是不会出现这个问题的,因为不可能有两个人精确地在同一时刻死去。但是实际数据往往精度不足,比如精度仅仅到月。这是很容易出现这种情况。解决的办法有几种,最直接的办法是所谓的Exact method,精确模型。这种方法原理很简单,就是把所有同时死去的样本做一个有先后顺序的排列组合,把所有可能的这种先后顺序都加到似然函数里。当然当数据规模比较大时这种办法计算代价过大,还是有一些替代性办法的,比如Breslow方法和Efron方法。




https://blog.sciencenet.cn/blog-927304-876450.html

上一篇:生物中的逆向工程技术(六):CellNet与细胞工程
下一篇:winter qbio会议掠影 1
收藏 IP: 124.205.77.*| 热度|

1 张海权

该博文允许注册用户评论 请点击登录 评论 (0 个评论)

数据加载中...
扫一扫,分享此博文

Archiver|手机版|科学网 ( 京ICP备07017567号-12 )

GMT+8, 2024-3-29 17:25

Powered by ScienceNet.cn

Copyright © 2007- 中国科学报社

返回顶部