栏目分类
热点资讯
测试夹
你的位置:东北运阶汽车服务有限公司 > 测试夹 > R话语——Logistic追念
R话语——Logistic追念

发布日期:2024-06-30 22:45    点击次数:108

R话语——Logistic追念

1.数据The birthwt data frame has 189 rows and 10 columns. The data were collected at Baystate Medical Center, Springfield, Mass during 1986.variablelabellowindicator of birth weight less than 2.5 kg.agemother's age in years.lwtmother's weight in pounds at last menstrual period.racemother's race (1 = white, 2 = black, 3 = other).smokesmoking status during pregnancy.ptlnumber of previous premature labours.hthistory of hypertension.uipresence of uterine irritability.ftvnumber of physician visits during the first trimester.bwtbirth weight in grams.加载MASS包中的birthwt数据#加载MASS包中的birthwt数据data(birthwt,package = 'MASS')#寻查数据的结构str(birthwt)

图片

图片

左证数据的结构进行数据责罚,原始变量的race、smoke、ht、ui齐是数值型变量,在分析前需要升沉成因子。另外ptl暗意先前早产次数、变量ftv暗意怀胎前三个月造访医师次数,不错先寻查两个变量的频数散播。#将数据框添加到搜索旅途attach(birthwt)#加载epiDisplay包library(epiDisplay)#寻查ptl和ftv的频数散播tab1(ptl)tab1(ftv)

图片

图片

纵容发现,84.1%的妊妇莫得早产史,早产次数稀疏一次的妊妇也很少,是以有必要将ptl升沉为二分类的因子(0:莫得早产史,1 :有早产史)。同理咱们也不错将ftv升沉为一个三分类的因子(0:未造访医师,1造访医师1次,2 :造访医师大于1次)。具体代码操作如下,并将整理好的数据定名为birthweight。#加载dplyr包library(dplyr)birthweight <- birthwt %>%mutate(race=factor(race,labels = c('white','black','other')),smoke=factor(smoke,labels = c('no','yes')),ptl=ifelse(ptl>0,'1 ',ptl),ptl=factor(ptl,labels = c('no','yes')),ht=factor(ht,labels = c('no','yes')),ui=factor(ui,labels = c('no','yes')),ftv=ifelse(ftv>1,'2 ',ftv),ftv=factor(ftv,labels = c('no','1次','>1次')))#寻查数据结构str(birthweight)

图片

2.模子的缔造试验上变量low变量是由bwt生成的,咱们将其四肢纵容变量(取0和1),缔造二元logistic追念模子探索重生儿低体重的影响成分。在R话语中,函数glm()用于拟合包括Logistic追念在内的广义线性模子。#缔造二元Logistic追念模子glm1 <-glm(low~age lwt race smoke ptl ht ui ftv,family = binomial,data = birthweight)#使用summary()函数索要模子的汇总纵容summary(glm1)

图片

图片

上头输出第一部分展示了模子调用的公式。第二部分给出了残差的散播。第三部分给出了追念悉数的估量、圭臬误和显耀性检会纵容。咱们每每对第三部分最感爱慕。接着给出的是两个残差平淡和,Null deviance暗意只包含常数项的模子的残差平淡和,Residual deviance暗意现模子的残差平淡和。咱们感爱慕的是两个残差平淡和的差值,这里是234.67-195.48=39.19,这个值不错用来检会模子的显耀性。残差平淡和渐进征服卡方散播,咱们不错用pchisq()函数获取。纵容的临了部分还包括了模子的AIC值和模子的拟合经由中迭代次数。AIC值将模子中参数的个数接洽进来,度量模子拟合的蛮横,不错用于相比模子。迭代次数是算法成见,一般不关心,然而这个值如若太大,比如25,暗意对现存数据而言模子太复杂。3.自变量的筛选与多重线性追念模子肖似,当自变量的个数较多时,为了使缔造的Logistic追念模子相比矫健和便于诠释,应尽量将追念成果显耀的自变量筛选入模子,将成果不显耀的变量剔除在外。咱们不错使用drop1()函数获取剔除一个自变量后的模子的AIC值。#drop1()函数获取剔除一个自变量后的模子的AIC值。drop1(glm1)

图片

从上头数据不错看出,第一步需要在模子中剔除变量ftv,因为剔除该变量后,模子的AIC值最小。第二步不错对剔除ftv之后的模子使用drop1()函数,依此类推。不错使用step()函数一次性自动完成这个经由。#逐渐追念,direction不错界说是上前向后、前进法、后退法,trace=T暗意走漏筛选闪耀经由glm2 <- step(glm1,direction='both',trace=T)summary(glm2)

图片

4.模子的相比#将上述两个模子进行相比anova(glm1,glm2,test = 'Chisq')

图片

anova()函数中的test参数不错设为LRT,获取的纵容与上头沟通。纵容走漏P=0.4981>0.05,标明glm1和glm2两个模子拟合的通常好。也便是说年齿和孕早期造访医师的次数不会显耀普及模子的瞻望精度,咱们更倾向于使用更苟简的模子。函数AIC也不错相比模子。#使用AIC函数相比模子AIC(glm1,glm2)

图片

5.追念悉数的诠释#寻查追念悉数coef(glm2)

图片

在logistic追念中,模子拟合的是反应变量y=1时对数上风比(log(odds))。因此,追念悉数的含义是当其他变量保合手不变时,一个单元瞻望变量的变化可引起的反应变量对数上风比的变化,为了便于诠释,不错将纵容指数化调换成上风比。exp(coef(glm2))

图片

纵容标明,lwt(母亲怀胎期体重)每加多1磅,重生儿体重的上风将乘以0.9842(保合手其他变量不变)。对于畅达变量,一个单元的变化可能并不太好诠释。如若lwt加多10磅,上风将乘以0.9842^10,即约为0.817。黑东说念主坐褥低体重儿的上风约为白东说念主妊妇的3.67倍,其他种族坐褥低体重儿的上风约为白东说念主妊妇的2.35倍。肖似,抽烟、有早产史、高血压、子宫应激症的妊妇坐褥低体重儿的上风齐将加多。#追念悉数的置信区间confint(glm2)#把上头悉数的置信区间指数化exp(confint(glm2))

图片

图片

6.瞻望对于大大量东说念主来说概率比上风更好知道。给定一组自变量的值,咱们不错使用缔造的模子获取瞻望值。举例,缔造如下假造的妊妇样本。newdata <- data.frame(lwt=120,race='black',smoke='yes',ptl='no',ht='yes',ui='no')#使用函数predict()获取模子的瞻望值predict(glm2,newdata = newdata,type = 'response')

图片

7.模子的查验在评价模子时,Hosmer-Lemeshow检会不错用于判断不雅测值和瞻望值之间各异的显耀性。ResourceSelection包中的函数hoslem.test()不错扩充该检会。#Hosmer-Lemeshow检会library(ResourceSelection)hoslem.test(low,fitted(glm2))

图片

Hosmer-Lemeshow原假定是不雅测值和瞻望值之间的各异无统计学爱慕。上头的纵容标明各异莫得统计学爱慕,p=0.3593,因此不行拒却对于模子很好地拟合了模子的假定。8.模子纵容的汇总输出使用epiDisplay包中的函数logistic.display()函数不错用于汇总Logistic追念模子的主要纵容。#模子纵容汇总logistic.display(glm2)

图片

上述输出纵容包含了各个自变量妥洽前和妥洽后的上风比和95%置信区间,以及针对追念悉数的Wald检会的P值和针对自变量的似然比检会的P值,这是大大量论文讲明的Logistic追念的纵容。咱们不错将输出纵容导出到一个.csv范例的文献中。write.csv(logistic.display(glm2)$table,file='D:/model.csv')

图片

参考:《R话语医学数据分析实战》 本站仅提供存储职业,统统内容均由用户发布,如发现存害或侵权内容,请点击举报。

测试设备电源线 测试夹 测试点 杯凸仪