Чому існує різниця між ручним обчисленням логістичної регресії 95% довірчого інтервалу та використанням функції conint () в R?


34

Дорогі всі - я помітив щось дивне, чого я не можу пояснити, чи не так? Підсумовуючи: ручний підхід до обчислення довірчого інтервалу в моделі логістичної регресії та функції R confint()дають різні результати.

Я пережив прикладну логістичну регресію Hosmer & Lemeshow (2-е видання). У 3-й главі є приклад обчислення коефіцієнта шансів та 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 пропонують таку формулу:

e[β^1±z1α/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% КІ на основі ймовірності профілю отримують за допомогою

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

Це часто за замовчуванням, якщо MASSпакет завантажується автоматично. У цьому випадку я отримую

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

Тепер, якби я хотів порівняти з 95% КЗ Вальда (на основі асимптотичної нормальності), як той, який ви обчислили вручну, я б застосував confint.default()замість цього; це дає

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

Ідентифікаційні програми Wald в більшості ситуацій хороші, хоча на основі ймовірності профілю можуть бути корисні складні стратегії вибірки. Якщо ви хочете зрозуміти, як вони працюють, ось короткий огляд основних принципів: Інтервали довіри методом імовірності профілю, із застосуванням у ветеринарній епідеміології . Ви також можете поглянути на книгу MASS Venables and Ripley, § 8.4, стор. 220-221.


25

Слідкуючи за тим: довірчі інтервали профілю є більш надійними (вибір відповідного обрізання для ймовірності передбачає асимптотичне (великий зразок) припущення, але це набагато слабше припущення, ніж припущення квадратичної ймовірності поверхні, що лежить в основі довірчих інтервалів Вальда). Наскільки мені відомо, для аргументації статистики Wald немає інтервалів довірчих інтервалів, за винятком того, що статистичні дані Wald обчислюються набагато швидше і можуть бути «досить хорошими» у багатьох обставинах (але іноді так: шукайте Hauck- Ефект Доннера).


2
Дякую за це, і за те, що ви запропонували шукати ефект Хока-Доннера. Ефект не отримує особливого лікування в підручниках, але здається досить важливим!
Андрій

18

Я вважаю, що якщо ви подивитесь у файл довідки для conint (), то виявите, що побудований інтервал довіри є інтервалом "профілю" замість довірчого інтервалу Wald (ваша формула з HL).


5
А-а-а. Це відповідає на питання. Однак це веде до наступного - якому саме віддати перевагу?
Андрій
Використовуючи наш веб-сайт, ви визнаєте, що прочитали та зрозуміли наші Політику щодо файлів cookie та Політику конфіденційності.
Licensed under cc by-sa 3.0 with attribution required.