로지스틱 회귀 95 % 신뢰 구간을 수동으로 계산하는 것과 R에서 confint () 함수를 사용하는 것 사이에 차이가있는 이유는 무엇입니까?


34

사랑하는 여러분, 제가 설명 할 수없는 이상한 것을 발견했습니다. 요약 : 로지스틱 회귀 모델에서 신뢰 구간을 계산하는 수동 방법과 R 함수 confint()는 다른 결과를 제공합니다.

Hosmer & Lemeshow의 Applied Logistic Regression (2 판)을 진행했습니다. 세 번째 장에는 승산 비와 95 % 신뢰 구간을 계산하는 예가 있습니다. R을 사용하면 모델을 쉽게 재현 할 수 있습니다.

Call:
glm(formula = dataset$CHD ~ as.factor(dataset$dich.age), family = "binomial")

Deviance Residuals: 
   Min      1Q  Median      3Q     Max  
-1.734  -0.847  -0.847   0.709   1.549  

Coefficients:
                             Estimate Std. Error z value Pr(>|z|)    
(Intercept)                   -0.8408     0.2551  -3.296  0.00098 ***
as.factor(dataset$dich.age)1   2.0935     0.5285   3.961 7.46e-05 ***
---
Signif. codes:  0 ‘***’ 0.001 ‘**’ 0.01 ‘*’ 0.05 ‘.’ 0.1   1 

(Dispersion parameter for binomial family taken to be 1)

    Null deviance: 136.66  on 99  degrees of freedom
Residual deviance: 117.96  on 98  degrees of freedom
AIC: 121.96

Number of Fisher Scoring iterations: 4

그러나 매개 변수의 신뢰 구간을 계산하면 텍스트에 지정된 것과 다른 구간이 나타납니다.

> exp(confint(model))
Waiting for profiling to be done...
                                 2.5 %     97.5 %
(Intercept)                  0.2566283  0.7013384
as.factor(dataset$dich.age)1 3.0293727 24.7013080

Hosmer & Lemeshow는 다음 공식을 제안합니다.

이자형[β^1±1α/2×SE^(β^1)]

신뢰 구간을 as.factor(dataset$dich.age)1(2.9, 22.9)로 계산합니다 .

이것은 R에서 간단하게 보입니다.

# upper CI for beta
exp(summary(model)$coefficients[2,1]+1.96*summary(model)$coefficients[2,2])
# lower CI for beta
exp(summary(model)$coefficients[2,1]-1.96*summary(model)$coefficients[2,2])

책과 같은 대답을합니다.

그러나 왜 confint()다른 결과를 얻는 것처럼 보이는가? 나는를 사용하는 사람들의 많은 예를 보았습니다 confint().


1
Hosmer & Lemeshow에 대한 정확한 문헌 참조를 추가 하시겠습니까? 나는 그들의 간구와 책에서 꽤 오랫동안 제안을 찾고 있었지만 아직 찾지 못했습니다.
DavidR

답변:


36

함께 제공되는 웹 사이트 에서 데이터를 가져온 후 다음 같이하십시오.

chdage <- read.table("chdage.dat", header=F, col.names=c("id","age","chd"))
chdage$aged <- ifelse(chdage$age>=55, 1, 0)
mod.lr <- glm(chd ~ aged, data=chdage, family=binomial)
summary(mod.lr)

프로파일 가능성에 기초한 95 % CI는

require(MASS)
exp(confint(mod.lr))

MASS패키지가 자동으로로드되는 경우 종종 기본값 입니다. 이 경우에 나는

                2.5 %     97.5 %
(Intercept) 0.2566283  0.7013384
aged        3.0293727 24.7013080

자, 직접 계산 한 것과 같은 95 % Wald CI (점근선 정규성 기준)와 비교하고 싶다면 confint.default()대신 사용할 것입니다. 이 결과

                2.5 %     97.5 %
(Intercept) 0.2616579  0.7111663
aged        2.8795652 22.8614705

Wald CI는 대부분의 상황에서 우수하지만 프로파일 우도 기반은 복잡한 샘플링 전략에 유용 할 수 있습니다. : 당신은 그들이 작동하는 방법의 개념을 이해하려면, 여기에 주요 원칙에 대한 간략한 개요입니다 프로파일 우도 방법으로 신뢰 구간, 수의학 역학 응용 프로그램은 . Venables and Ripley 's MASS book, §8.4, pp. 220-221을 볼 수도 있습니다.


25

후속 조치 : 프로파일 신뢰 구간이 더 안정적입니다 (가능성에 대한 적절한 컷오프를 선택하면 점근 적 (대표 본) 가정이 포함되지만 이것은 Wald 신뢰 구간의 기본이되는 2 차 우도 표면 가정보다 훨씬 약한 가정입니다). 내가 아는 한, Wald 통계는 계산이 훨씬 빠르며 많은 상황에서 "충분히 좋을"수 있다는 점을 제외하고 프로파일 신뢰 구간에 대한 Wald 통계에 대한 논쟁은 없습니다. 도너 효과).


2
이것에 감사하고 Hauck-Donner 효과를 찾도록 제안 해 주셔서 감사합니다. 이 효과는 교과서에서 많이 다루지 않지만 매우 중요해 보입니다!
앤드류

18

confint ()에 대한 도움말 파일을 살펴보면 생성되는 신뢰 구간이 Wald 신뢰 구간 (HL 공식) 대신 "프로파일"구간임을 알 수 있습니다.


5
아 그 질문에 대답합니다. 그러나 다음 단계로 이어집니다. 어느 것이 선호됩니까?
Andrew
당사 사이트를 사용함과 동시에 당사의 쿠키 정책개인정보 보호정책을 읽고 이해하였음을 인정하는 것으로 간주합니다.
Licensed under cc by-sa 3.0 with attribution required.