用多个预测变量解释逻辑回归模型


12

我执行了多元逻辑回归分析,因变量Y是进入某特定时期内在疗养院中的死亡,并得到以下结果(请注意,变量开始于A连续值,而变量开始于连续值B):

Call:
glm(Y ~ A1 + B2 + B3 + B4 + B5 + A6 + A7 + A8 + A9, data=mydata, family=binomial)
Deviance Residuals: 
    Min       1Q   Median       3Q      Max  
-1.0728  -0.2167  -0.1588  -0.1193   3.7788  

Coefficients:
             Estimate Std. Error z value Pr(>|z|)    
(Intercept)  20.048631  6.036637   3.321 0.000896 ***
A1           0.051167   0.016942   3.020 0.002527 ** 
B2          -0.664940   0.304299  -2.185 0.028878 *  
B3          -2.825281   0.633072  -4.463 8.09e-06 ***
B4          -2.547931   0.957784  -2.660 0.007809 ** 
B5          -2.862460   1.385118  -2.067 0.038774 *  
A6          -0.129808   0.041286  -3.144 0.001666 ** 
A7           0.020016   0.009456   2.117 0.034276 *  
A8          -0.707924   0.253396  -2.794 0.005210 ** 
A9           0.003453   0.001549   2.229 0.025837 *  
---
Signif. codes:  0 ‘***’ 0.001 ‘**’ 0.01 ‘*’ 0.05 ‘.’ 0.1   1

(Dispersion parameter for binomial family taken to be 1)

    Null deviance: 485.10  on 2206  degrees of freedom
Residual deviance: 417.28  on 2197  degrees of freedom
AIC: 437.28

Number of Fisher Scoring iterations: 7

 (Intercept)           A1           B2           B3           B4           B5           A6           A7           A8           A9 
5.093426e+08 1.052499e+00 5.143045e-01 5.929197e-02 7.824340e-02 5.712806e-02 8.782641e-01 1.020218e+00 4.926657e-01 1.003459e+00 

                   2.5 %       97.5 %
(Intercept) 3.703525e+03 7.004944e+13
A1          1.018123e+00 1.088035e+00
B2          2.832698e-01 9.337710e-01
B3          1.714448e-02 2.050537e-01
B4          1.197238e-02 5.113460e-01
B5          3.782990e-03 8.627079e-01
A6          8.099945e-01 9.522876e-01
A7          1.001484e+00 1.039302e+00
A8          2.998207e-01 8.095488e-01
A9          1.000416e+00 1.006510e+00

如您所见,所有变量都是“显着的”,因为它们的p值低于通常的阈值0.05。但是,看这些系数,我不太确定如何得出这些结果。看起来,尽管这些变量对模型有所贡献,但从优势比上看,它们似乎并没有太大的预测能力。值得注意的是,当我计算AUC时,我得到大约0.8。

我可以说,与预测死亡率相比,该模型更擅长预测死亡率(例如,预测老年人将生活在规定的期限内)?


4
这不是“多变量”模型,因为您只有一个结果/因变量。将具有多个预测变量的模型拟合称为“多重回归”。
晚会

我非常感谢您的评论和回答-我一定会看到rms软件包的。但是,我的问题仍然存在-大多数比值比均小于1,这是否意味着该模型中的变量更易于根据结果进行预测?
13年

Answers:


18

0.8

#-----------------------------------------------------------------------------
# Load packages
#-----------------------------------------------------------------------------

library(rms)

#-----------------------------------------------------------------------------
# Load data
#-----------------------------------------------------------------------------

mydata <- read.csv("http://www.ats.ucla.edu/stat/data/binary.csv")

mydata$rank <- factor(mydata$rank)

#-----------------------------------------------------------------------------
# Fit logistic regression model
#-----------------------------------------------------------------------------

mylogit <- lrm(admit ~ gre + gpa + rank, x=TRUE, y=TRUE, data = mydata)
mylogit

                      Model Likelihood     Discrimination    Rank Discrim.    
                         Ratio Test            Indexes          Indexes       
Obs           400    LR chi2      41.46    R2       0.138    C       0.693    
 0            273    d.f.             5    g        0.838    Dxy     0.386    
 1            127    Pr(> chi2) <0.0001    gr       2.311    gamma   0.387    
max |deriv| 2e-06                          gp       0.167    tau-a   0.168    
                                           Brier    0.195                     

          Coef    S.E.   Wald Z Pr(>|Z|)
Intercept -3.9900 1.1400 -3.50  0.0005  
gre        0.0023 0.0011  2.07  0.0385  
gpa        0.8040 0.3318  2.42  0.0154  
rank=2    -0.6754 0.3165 -2.13  0.0328  
rank=3    -1.3402 0.3453 -3.88  0.0001  
rank=4    -1.5515 0.4178 -3.71  0.0002 

pC0.51DxyDxyDxyDxy=2(c0.5)Dxy0Dxy=10.693>0.8

如上所述,该模型可能过于乐观。现在,我们使用引导程序来量化乐观程度:

#-----------------------------------------------------------------------------
# Validate model using bootstrap
#-----------------------------------------------------------------------------

my.valid <- validate(mylogit, method="boot", B=1000)
my.valid

          index.orig training    test optimism index.corrected    n
Dxy           0.3857   0.4033  0.3674   0.0358          0.3498 1000
R2            0.1380   0.1554  0.1264   0.0290          0.1090 1000
Intercept     0.0000   0.0000 -0.0629   0.0629         -0.0629 1000
Slope         1.0000   1.0000  0.9034   0.0966          0.9034 1000
Emax          0.0000   0.0000  0.0334   0.0334          0.0334 1000
D             0.1011   0.1154  0.0920   0.0234          0.0778 1000
U            -0.0050  -0.0050  0.0015  -0.0065          0.0015 1000
Q             0.1061   0.1204  0.0905   0.0299          0.0762 1000
B             0.1947   0.1915  0.1977  -0.0062          0.2009 1000
g             0.8378   0.9011  0.7963   0.1048          0.7331 1000
gp            0.1673   0.1757  0.1596   0.0161          0.1511 1000

Dxy0.3857optimismindex.correctedDxyc=1+Dxy2=0.6749

我们还可以使用重采样来计算校准曲线:

#-----------------------------------------------------------------------------
# Calibration curve using bootstrap
#-----------------------------------------------------------------------------

my.calib <- calibrate(mylogit, method="boot", B=1000)

par(bg="white", las=1)
plot(my.calib, las=1)

n=400   Mean absolute error=0.016   Mean squared error=0.00034
0.9 Quantile of absolute error=0.025

LogReg校准

0.3

预测模型的建立是一个大话题,我建议阅读Frank Harrell的课程讲义


5
非常感谢您提供了出色的示例以及rms@COOLSerdash和Nick软件包的操作方法。
Frank Harrell

非常感谢您的回答,这对我也有很大帮助!我有一个快速的问题,您对0.3左右的系统过高估算是什么意思?您能看看我的图表吗? s23.postimg.org/9cucdg6e3/calibration_curve.png我应如何解释此输出
CanCeylan 2013年

2
@CanCeylan在我的图中,0.3左右的线有一条小曲线(该线位于理想线以下)。关于您的图表:请将您的图表添加到原始问题中,以便其他人也可以看到。您的模型似乎正在低估整个空间中的概率。
COOLSerdash

@COOLSerdash谢谢。我也更新了我的问题。但是从那里,我应该如何决定是取消模型还是使用模型?由于c值不错(0.7755),所以平均绝对误差(0.002)和均方误差(5e-05)很小,但是校准图看起来很差。\
CanCeylan

@CanCeylan感谢您更新问题。嗯,我不确定。校准图看起来不太好。我将等待更多观点(来自Frank Harrell或其他人)。对不起,我没有足够的信心提出明确的建议。
COOLSerdash

6

关于系数解释的注释:确实记得它们取决于预测变量如何以数字形式书写。因此,对于连续变量,它们取决于测量它们的单位。对于分类预测变量,则使用编码方案。不要试图仅仅因为A9的系数0.003453小就认为A9是“不重要的” —在某些感兴趣的人群中A9可能在几个数量级上变化,而其他预测变量的变化很小,或者容易设置为非常高或很低的值,而其他值很难改变很多。

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.