模型评价——C-index
作者:互联网
二、C-index计算
在很多临床文章中经常看见统计方法里面描述模型的区分能力(Discrimination ability)用C-Statistics来度量,下面我们就用R语言为大家演示这个所谓的C-Statistics如何计算?本文先讲解Cox回归中的C-Statistics (一般称为C-index)的计算,Logistic回归C-Statistics计算将在后续文章中介绍。严格说来C-index包括以下几种,我们仅介绍临床上较为常用的第一种。
1.Harrell’s C
2.C-statistic by Begg et al.(survAUC::BeggC)
3.C-statistic by Uno et al.(survC1::Inf.Cval; survAUC::UnoC)
4.Gonen and Heller Concordance Index forCox models (survAUC::GHCI, CPE::phcpe, clinfun::coxphCPE)
方法1: 直接从survival包的函数coxph结果中输出,需要R的版本高于2.15.需要提前安装survival包可以看出这种方法输出了C-index (对应模型参数C),也输出了标准误,95%可信区间就可以通过C加减1.96*se得到。并且这种方法也适用于很多指标联合。
方法2: 利用rms包中的cph函数和validate函数,可提供un-adjusted和bias adjusted C指数两种。
代码及代码解读,结果解读如下:
> # 模拟一组数据并设置为数据框结构
> age
> bp
> d.time
> cens
> death
> os
> sample.data
> head(sample.data) # 展示数据框sample.data的前6行
> # 方法1. {survival}包
> library(survival) # 载入survival包
> fit
> sum.surv
> c_index
> c_index
C se(C)
0.53318557 0.02741619
> #方法2. {rms}包
> library(rms)
> set.seed(1) # 这里设置种子,目的是为了能重复最后的结果,因为validate函数的校正结果是随机的。
> dd
> options(datadist='dd')
> fit.cph
> fit.cph # 模型参数 Dxy*0.5+0.5 即是c-index
> # Get the Dxy
> v
> Dxy = v[rownames(v)=="Dxy", colnames(v)=="index.corrected"]
> orig_Dxy = v[rownames(v)=="Dxy", colnames(v)=="index.orig"]
> # The c-statistic according to Dxy = 2(c-0.5)
> bias_corrected_c_index
> orig_c_index
> bias_corrected_c_index
[1] 0.5152632
> orig_c_index
[1] 0.5331856
来源:http://www.jintiankansha.me/t/iBEg0ZCeDU
标签:index,Statistics,Dxy,模型,评价,data,survival,orig 来源: https://www.cnblogs.com/precious-hui/p/10675368.html