Почему существует разница между ручным вычислением 95-процентного доверительного интервала и использованием функции confint () в R?


34

Дорогие, я заметил нечто странное, что не могу объяснить, не так ли? В итоге: ручной подход к вычислению доверительного интервала в модели логистической регрессии и функция R confint()дают разные результаты.

Я проходил Прикладную логистическую регрессию Хосмера и Лемешоу (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 предлагают следующую формулу:

е[β^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

Уолд КИ хороши в большинстве ситуаций, хотя основанные на вероятности профиля могут быть полезны при сложных стратегиях выборки. Если вы хотите понять идею того, как они работают, вот краткий обзор основных принципов: доверительные интервалы по методу вероятностного профиля, с приложениями в ветеринарной эпидемиологии . Вы также можете взглянуть на книгу MASS Venables и Ripley, §8.4, с. 220-221.


25

В результате: доверительные интервалы профиля являются более надежными (выбор подходящего предела для вероятности предполагает асимптотическое предположение (большая выборка), но это гораздо более слабое предположение, чем предположение о квадратичной вероятности поверхности, лежащее в основе доверительных интервалов Вальда). Насколько я знаю, нет никаких аргументов в пользу статистики Вальда по доверительным интервалам профиля, за исключением того, что статистика Вальда гораздо быстрее вычисляется и может быть «достаточно хорошей» во многих обстоятельствах (но иногда далеко: посмотрите на Хаука… Эффект Доннера).


2
Спасибо за это и за то, что предложили мне посмотреть на эффект Хаука-Доннера. Эффект не получает особого внимания в учебниках, но кажется довольно важным!
Андрей

18

Я полагаю, что если вы заглянете в файл справки для confint (), то обнаружите, что построенный доверительный интервал является «профильным» интервалом, а не доверительным интервалом Вальда (ваша формула из HL).


5
Ааа. Это отвечает на вопрос. Тем не менее, это приводит к следующему - какой из них предпочтительнее?
Андрей
Используя наш сайт, вы подтверждаете, что прочитали и поняли нашу Политику в отношении файлов cookie и Политику конфиденциальности.
Licensed under cc by-sa 3.0 with attribution required.