bootstrap自采样目前广泛应用与统计学中,其原理很简单就是通过自身原始数据抽取一定量的样本(也就是取子集),通过对抽取的样本进行统计学分析,然后继续重新抽取样本进行分析,不断的重复这一过程N(大于500次以上)次,然后得到N个统计结果,然后进行区间分析,得到最终结果。
我们在上一篇文章《Boot重抽样获取logistic回归内部验证AUC可信区间》已经介绍了通过bootstrap自采样获取logistic回归内部验证AUC可信区间,当时我介绍到对数据进行重抽样,然后算出每个数据的AUC然后求出可信区间,这种方法是不能绘制ROC的可信区间图的,事实证明是我肤浅了,后面一位粉丝的投稿创意让我获得了灵感,突破了最关键的地方,成功绘制了曲线,今天来介绍一下bootstrap自采样获取logistic回归内部验证AUC可信区间并绘制ROC曲线,本文高度原创,而且创作十分不易,要收一点辛苦费。
继续使用我们的不孕症数据进行演示(回复:不孕症,可以获得数据),我们先导入数据和R包
library(pROC)
library(tidyverse)
bc<-read.csv("E:/r/test/buyunzheng.csv",sep=',',header=TRUE)
数据有8个指标,最后两个是PSM匹配结果,我们不用理他,其余六个为:
Education:教育程度,age:年龄,parity产次,induced:人流次数,case:是否不孕,这是结局指标,spontaneous:自然流产次数。
有一些变量是分类变量,我们需要把它转换一下
bc$education<-ifelse(bc$education=="0-5yrs",0,ifelse(bc$education=="6-11yrs",1,2))
bc$spontaneous<-as.factor(bc$spontaneous)
bc$case<-as.factor(bc$case)
bc$induced<-as.factor(bc$induced)
bc$education<-as.factor(bc$education)
建立模型
fit<-glm(case ~ age + parity +spontaneous,
family = binomial(link = logit), data =bc)
本文为转载文章,原文地址如下:https://mp.weixin.qq.com/s?__biz=MzI1NjM3NTE1NQ==&mid=2247486634&idx=1&sn=986f9f70a6d2dd84b2dbca1387f84c36&chksm=ea26ecb6dd5165a0a12c6e089c1144606ec4370076444ec09f5cc1259310587835cc6d899495#rd