여러 예측 변수로 로지스틱 회귀 모델 해석


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
하나의 결과 / 종속 변수 만 있으므로 "다변량"모델이 아닙니다. 여러 예측 변수로 모형을 피팅하는 것을 "다중"회귀라고합니다.
Gala

나는 의견과 답변을 정말 고맙게 생각합니다-나는 rms 패키지를 들여다 볼 것입니다. 그러나 내 질문은 여전히 ​​남아 있습니다-대부분의 확률 비율은 <1입니다.이 모델의 변수가 결과에 대해 예측하는 것이 더 낫다는 것을 암시합니까?
oort

답변:


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

2
@CanCeylan 내 그래프에는 0.3 주위의 선에 작은 곡선이 있습니다 (선이 이상적인 선 아래로 내려갑니다). 그래프 관련 : 다른 사람들도 볼 수 있도록 그래프를 원래 질문에 추가하십시오. 모델이 전체 공간에 대한 확률을 체계적으로 과소 평가하는 것처럼 보입니다.
COOLSerdash

@COOLSerdash 감사합니다. 내 질문도 업데이트했습니다. 그러나 거기에서 모델을 취소할지 또는 사용할지 어떻게 결정해야합니까? c 값이 나쁘지 않기 때문에 (0.7755), 평균 절대 오차 (0.002)와 평균 제곱 오차 (5e-05)는 너무 작지만 교정 그래프는 나빠 보입니다. \
CanCeylan

@CanCeylan 질문을 업데이트 해 주셔서 감사합니다. 흠, 확실하지 않다. 보정 플롯이 너무 좋지 않습니다. (Frank Harrell 또는 다른 사람들의) 더 많은 의견을 기다릴 것입니다. 확실하게 추천 할만한 자신감이 없습니다. 죄송합니다.
COOLSerdash

6

계수 해석에 대한 참고 사항 : 예측 변수가 숫자로 작성된 방식에 따라 달라집니다. 따라서 연속 변수의 경우 측정되는 단위에 따라 다릅니다. 범주 형 예측 변수의 경우 코딩 체계. 예를 들어, A9는 0.003453의 계수가 작기 때문에 '중요하지 않다'고 생각하지 마십시오. A9는 일부 관심 인구 집단에서 여러 자릿수 이상의 범위를 가질 수 있지만 다른 예측 변수는 약간 다를 수 있습니다. 매우 높거나 낮은 값으로 설정하기 쉬운 반면 다른 값은 많이 변경하기가 어렵습니다.

당사 사이트를 사용함과 동시에 당사의 쿠키 정책개인정보 보호정책을 읽고 이해하였음을 인정하는 것으로 간주합니다.
Licensed under cc by-sa 3.0 with attribution required.