R中具有回归样条的Logistic回归


12

我一直在根据英国颅脑损伤国家创伤数据库的回顾性数据开发逻辑回归模型。关键结果是30天死亡率(称为“生存”度量)。在以前的研究中,已公开证据表明对结果有重大影响的其他措施包括:

Year - Year of procedure = 1994-2013
Age - Age of patient = 16.0-101.5
ISS - Injury Severity Score = 0-75
Sex - Gender of patient = Male or Female
inctoCran - Time from head injury to craniotomy in minutes = 0-2880 (After 2880 minutes is defined as a separate diagnosis)

使用这些模型,给定二元因变量,我使用lrm建立了逻辑回归。

模型变量选择的方法是基于对相同诊断建模的现有临床文献。除ISS传统上通过分数多项式建模的ISS以外,所有模型均采用线性拟合建模。没有出版物确定上述变量之间的已知显着相互作用。

遵循弗兰克·哈雷尔(Frank Harrell)的建议,我着手使用回归样条对ISS进行建模(此方法的优点在下面的评论中突出显示)。该模型因此预先指定如下:

rcs.ASDH<-lrm(formula = Survive ~ Age + GCS + rcs(ISS) +
    Year + inctoCran + oth, data = ASDH_Paper1.1, x=TRUE, y=TRUE)

该模型的结果是:

> rcs.ASDH

Logistic Regression Model

lrm(formula = Survive ~ Age + GCS + rcs(ISS) + Year + inctoCran + 
    oth, data = ASDH_Paper1.1, x = TRUE, y = TRUE)

                      Model Likelihood     Discrimination    Rank Discrim.    
                         Ratio Test            Indexes          Indexes       
Obs          2135    LR chi2     342.48    R2       0.211    C       0.743    
 0            629    d.f.             8    g        1.195    Dxy     0.486    
 1           1506    Pr(> chi2) <0.0001    gr       3.303    gamma   0.487    
max |deriv| 5e-05                          gp       0.202    tau-a   0.202    
                                           Brier    0.176                     

          Coef     S.E.    Wald Z Pr(>|Z|)
Intercept -62.1040 18.8611 -3.29  0.0010  
Age        -0.0266  0.0030 -8.83  <0.0001 
GCS         0.1423  0.0135 10.56  <0.0001 
ISS        -0.2125  0.0393 -5.40  <0.0001 
ISS'        0.3706  0.1948  1.90  0.0572  
ISS''      -0.9544  0.7409 -1.29  0.1976  
Year        0.0339  0.0094  3.60  0.0003  
inctoCran   0.0003  0.0001  2.78  0.0054  
oth=1       0.3577  0.2009  1.78  0.0750  

然后,我在rms软件包中使用了校准函数,以便评估模型预测的准确性。获得了以下结果:

plot(calibrate(rcs.ASDH, B=1000), main="rcs.ASDH")

自举校正曲线因过度拟合而受到惩罚

模型设计完成后,我创建了以下图表,以连续变量的中位数和类别变量的中位数为基础,演示了事故年份对生存的影响:

ASDH <- Predict(rcs.ASDH, Year=seq(1994,2013,by=1),Age=48.7,ISS=25,inctoCran=356,Other=0,GCS=8,Sex="Male",neuroYN=1,neuroFirst=1)
Probabilities <- data.frame(cbind(ASDH$yhat,exp(ASDH$yhat)/(1+exp(ASDH$yhat)),exp(ASDH$lower)/(1+exp(ASDH$lower)),exp(ASDH$upper)/(1+exp(ASDH$upper))))
names(Probabilities) <- c("yhat","p.yhat","p.lower","p.upper")
ASDH<-merge(ASDH,Probabilities,by="yhat")
plot(ASDH$Year,ASDH$p.yhat,xlab="Year",ylab="Probability of Survival",main="30 Day Outcome Following Craniotomy for Acute SDH by Year", ylim=range(c(ASDH$p.lower,ASDH$p.upper)),pch=19)
arrows(ASDH$Year,ASDH$p.lower,ASDH$Year,ASDH$p.upper,length=0.05,angle=90,code=3)

上面的代码产生以下输出:

上下趋势

我剩下的问题如下:

1.样条解释 -如何为整体变量组合的样条计算p值?


4
辛苦了 为了显示Year的效果,建议将其他变量设置为默认值(中值表示连续,mode表示分类),并在x轴上更改Year,例如plot(Predict(rcs.ASDH, Year))。您可以通过做类似的操作来让其他变量变化,组成不同的曲线plot(Predict(rcs.ASDH, Year, age=c(25, 35)))
Frank Harrell 2014年

1
我不知道为什么-但是我在文献中没有看到许多经过偏差校正的校准曲线的例子。似乎是个好主意
查尔斯(Charles)2014年

1
要测试与多个df测试的整体关联,请使用anova(rcs.ASDH)
Frank Harrell 2014年

Answers:


8

如果您尚未预先指定模型但进行了大量测试并进行了模型修改,那么很难解释结果。而且我不建议您使用全局拟合优度检验,因为它具有简并的分布而不是分布。χ2

推荐两种评估模型拟合的方法:

  1. Bootstrap过度拟合校正的平滑非参数(例如*黄土)校准曲线,用于检查预测的绝对准确性
  2. 检查模型的各种概括,测试更灵活的模型规范是否更好地工作。例如,对额外的非线性项或交互项进行似然比或Wald检验。χ2

与分数多项式相比,回归样条有一些优点,包括:

  1. 预测变量的值可以为 ; 您无法记录FP要求的此类值的日志0
  2. 您不必担心预测变量的来源。FP假设零是预测变量的“魔术”原点,而回归样条对于将预测变量移动一个常数是不变的。

有关回归样条,线性和可加性评估的更多信息,请参见我的讲义,网址http://biostat.mc.vanderbilt.edu/CourseBios330,以及R rmsrcs功能。对于因过度拟合而受到惩罚的自举校准曲线,请参见该rms calibrate功能。


我试图在创建一个完整的模型时预先指定模型,该模型具有临床上可用的所有变量,包括初始变量以及与诊断和结果变量相关的已知变量。它们都是线性连续或二分变量,但ISS除外,以前的研究已经确定可以使用分数多项式来建模。我认为用于开发模型的方法与Willi Sauerbrei的“多元模型构建”是一致的。也许我可以在R中使用rms软件包来评估整体拟合优度?如果是这样,您会推荐什么公式?
丹·方丹2014年

我扩展了答案以解决其中的一些问题。
Frank Harrell

您是否可以推荐用于执行1和2的程序包来评估模型拟合度?我可以在rms中使用validate函数吗?关于回归样条,我阅读了您的讲义,当前正在尝试查找您的书的副本(如果可以的话,我会购买!)您是否能够推荐更多的R包/函数来构建回归样条该模型中的非线性连续变量?非常感谢您迄今为止提供的所有帮助。
丹·

也许基于弗里德曼多元自适应回归样条曲线的Earth包?
丹·

最后一个问题。伤害严重度评分(ISS)的公式为A ^ 2 + B ^ 2 + C ^ 2,其中A,B和C是不同的身体部位,独立的创伤严重程度评分为1-5。因此,此数据集中的最大值为75,最小值为1。给定该公式,与回归样条相比,分数多项式是否更接近于分数实际计算方式?
丹·
By using our site, you acknowledge that you have read and understand our Cookie Policy and Privacy Policy.
Licensed under cc by-sa 3.0 with attribution required.