现阶段用的最多的是肿瘤患者预后模型的预测精度。
C-index,C指数即一致性指数(index of concordance),用来评价模型的预测能力。c指数是资料所有病人对子中预测结果与实际结果一致的对子所占的比例。它估计了预测结果与实际观察到的结果相一致的概率。有点类似于ROC曲线下面积。
C-index的计算步骤为:
(1)产生所有的病例配对。若有n个观察个体,则所有的对子数应为Cn2(组合数)?
(2)排除下面两种对子:对子中具有较小观察时间的个体没有达到观察终点及对子中两个个体都没达到观察终点。剩余的为有用对子。
(3)计算有用对子中,预测结果和实际相一致的对子数,即具有较坏预测结果个体的实际观察时间较短。
(4)计算。C=一致对子数/有用对子数。
由上述计算方法可以看出,C-index在0.5-1之间。0.5为完全不一致,说明该模型没有预测作用,1为完全一致,说明该模型预测结果与实际完全一致。在实际应用中,很难找到完全一致的预测模型,既往研究认为,C-index在0.50-0.70为较低准确度:在0.71-0.90之间为中等准确度;而高于0.90则为高准确度。
C-index的R软件计算实现有两种实现方法,一种是用到Harrell本人的的R包Hmisc package;另一种是Le Kang, Weijie Chen 2014年12月18日发布的R compareC Package。
############################
#### Method 1.Hmisc code ###
############################
data <- read.csv("survivaldta.csv") ###读入csv格式数据####
library(Hmisc) ###加载Hmisc包
library(survival) ###加载survival包,主要用于建立模型###
f <- cph(Surv(time,death)~x1+x2+x3,data=survivldata) ###拟合cox模型
fp <- predict(f)###模型的预测值
cindex.orig=1-rcorr.cens(fp,Surv(time,death)) [[1]]###计算出的C-index
###############################
#### Method 2.compareC code ###
###############################
data <- read.csv("survivaldta.csv") ###读入csv格式数据####
library(compareC) ###加载compareC包
library(survival) ###加载survival包,主要用于建立模型###
cindex <- cindex(Surv(time,death) ~ x1+x2+x3,data=survivldata)###计算出的C-index