分享

已经猴年马月了,你还不知道C

 井里的怪兽 2019-09-12


小编看到路边摆摊卜算的都倍感亲切,因为小编觉得咱们有时候也在做一些预测的工作,同行啊,当然咱们更高大上,科学预测,有data支持滴!


临床研究中,我们常采用各种模型预测病人的结局(比如常见的线性回归模型、logistic回归模型、COX回归模型)。很重要的一点是,咱们要保证预测模型是靠谱的。也就是说,预测的结果和实际结果应该是尽可能相符的。这样的预测模型才有意义,预测结果才有可能影响临床决策。


如何判断一个模型能否进行正确预测?这里给大家介绍一个通用的指标,既可以用于连续变量,也可以用于分类变量,尤其适用于生存资料。那就是江湖传说的C-index,是一个可以用于判断各种模型区分能力的指标。C-index在0.5-1之间。0.5为完全不一致,说明该模型没有预测作用;1为完全一致,说明该模型预测结果与实际完全一致。一般认为,C-index在0.50-0.70为较低准确度,在0.71-0.90之间为中等准确度,高于0.90则为高准确度。


C-index, 全称concordance index,也常写作Harrell’s C-index, concordance C,  C statistic等,最早是由范德堡大学生物统计教授Harrell在1996年提出的,主要用于反映预测模型的区分能力,考察模型是否进行正确预测。


C-index的定义很是简单,C-index=一致的对子数/有用的对子数。想象一下将所有研究对象随机的两两配对,n个研究对象,应该产生Cn2=n*(n-1)/2 个对子数,然后在这么多对子中找到有用的对子数作为分母。 


以生存分析COX回归为例,有用的对子数要求配对的两人中至少有一人发生了感兴趣的终点事件。也就是说,如果配对的两人在整个观察期内均未出现终点事件,则不计入分母。另外,有两种情况也需要排除:(1)若配对的两人中有一人发生了终点事件,另外一人因失访导致无法比较二人的生存时间,这种情况应该排除;(2)配对的两人在同一时间死亡,也应该排除。


找到了有用的对子数作为分母,那分子是?还是以生存分析为例,若实际生存时间较长的其预测的生存概率也较大,或者生存时间较短的其预测的生存概率也较小,即称为预测结果和实际结果一致,反之,则为不一致。找到一致的对子数作为分子。


随机两两配对,这若是大样本,工作量该是什么数量级啊。大家勿怕,实际工作中,有很可行的操作方法(文末提供了R软件的一段小程序,供大家参考)


最后,大家还记得江湖中那个传说吗?C-index就是ROC曲线下面积AUC?我们说过,C-index是一个可以用于判断各种模型区分能力的指标。针对二分类logistic回归模型,C-index可简化为:某疾病病人的预测患病概率大于对照的预测患病概率的可能性。经过证明,针对二分类logoistic回归的C-index等价于ROC曲线下面积(AUC)。AUC主要反映二分类logistic回归模型的预测能力,但C-index可以评价各种模型预测结果的准确性,可以简单这样理解:C-index是AUC的扩展,AUC是C-index的一种特殊情况。


COX回归为例,计算C-index:

#读入数据,以csv格式为例

mydata<-read.csv(file.choose())

#加载survival包,用于建立COX回归模型

library(survival)

#拟合COX模型,并汇总分析结果,输出结果中的Concordance即为C-index

summary(coxph(Surv(time,status) ~ x1+x2+x3, data=mydata))  

    本站是提供个人知识管理的网络存储空间,所有内容均由用户发布,不代表本站观点。请注意甄别内容中的联系方式、诱导购买等信息,谨防诈骗。如发现有害或侵权内容,请点击一键举报。
    转藏 分享 献花(0

    0条评论

    发表

    请遵守用户 评论公约

    类似文章 更多