画logistic_【R语言】logistic回归+nomogram绘制+c-index+校正曲线

大家新年快乐!!!!

我难得元旦有个假期,还来给各位录视频,各位不觉得感动吗。。。。。。

知乎视频​www.zhihu.com

这期视频主要是我之前帮助的那个同门非要我把上次给他做的回归的C-index弄出来,我跟他解释了说对现在做的这个二元logistic回归模型,我给你画的ROC曲线的曲线下面积AUC值的大小就可以评价了。

然鹅他不听

然鹅他之前请我吃了顿大餐

所以我还是给他把C-index弄出来了

顺带还送了一张calibration curve

以下是分步的代码

第一步:加载包,读取数据,数据修饰

library(openxlsx)
library(survival)
library(lattice)
library(Formula)
library(ggplot2)
library(Hmisc)
library(rms)
lxrdata<-read.xlsx("cknormo.xlsx", sheet =1)

dd=datadist(lxrdata)
options(datadist="dd") 

第二步:做logistic回归,绘制nomogram图

ckf <- lrm(type ~ age + gender +area+ sym ,data = lxrdata,x=T,y=T)

nom <- nomogram(ckf, fun=plogis, lp=F, funlabel="Risk")
plot(nom)

结果如下图

画logistic_【R语言】logistic回归+nomogram绘制+c-index+校正曲线_第1张图片

C-index直接在控制台输入ckf 就能看到

画logistic_【R语言】logistic回归+nomogram绘制+c-index+校正曲线_第2张图片

第三步:绘制calibration curve图

cal<-calibrate(ckf,method='boot',B=200)
plot(cal)

画logistic_【R语言】logistic回归+nomogram绘制+c-index+校正曲线_第3张图片

最后写几点关于我的理解:

  1. C-index, 全称concordance index,也常写作Harrell’s C-index, concordance C, C statistic等
    1. C-index在0.5-1之间。
    2. 0.5为完全不一致,说明该模型没有预测作用;
    3. 1为完全一致,说明该模型预测结果与实际完全一致。
    4. C-index在0.50-0.70为较低准确度,在0.71-0.90之间为中等准确度,高于0.90则为高准确度。
  2. AUC主要反映二分类logistic回归模型的预测能力,但C-index可以评价各种模型预测结果的准确性,可以简单这样理解:C-index是AUC的扩展,AUC是C-index的一种特殊情况。
  3. Calibration curve,直译过来就是校准曲线或校准图。
    1. 校准曲线就是实际发生率和预测发生率的散点图。
    2. 实质上,校准图曲线是把Hosmer-Lemeshow拟合优度检验的结果可视化。
    3. 目前校准曲线常用来评价logistic回归和cox回归模型。
  4. 横坐标为预测的事件发生率(Predicted Probablity),纵坐标是观察到的实际事件发生率(Actual Rate),范围均为0到1,可以理解为事件发生率(百分比)。对角线的虚线是参考线,即预测值=实际值的情况。

最后,我不是学统计的,也没系统学过生信,如果有理解不到位的地方,请大家多担待,谢谢

你可能感兴趣的:(画logistic)