Як обчислюються стандартні помилки для пристосованих значень з логістичної регресії?


29

Коли ви прогнозуєте відповідне значення з логістичної регресійної моделі, як обчислюються стандартні помилки? Я маю на увазі для пристосованих значень , а не для коефіцієнтів (що включає інформаційну матрицю Фішера).

Я дізнався лише, як отримати числа за допомогою R(наприклад, тут на r-help або тут на переповнення стека), але не можу знайти формулу.

pred <- predict(y.glm, newdata= something, se.fit=TRUE)

Якщо ви могли б надати джерело в Інтернеті (бажано, на веб-сайті університету), це було б фантастично.

Відповіді:


35

Прогноз - це лише лінійна комбінація розрахункових коефіцієнтів. Коефіцієнти є асимптотично нормальними, тому лінійна комбінація цих коефіцієнтів також буде асимптотично нормальною. Отже, якщо ми можемо отримати матрицю коваріації для оцінок параметрів, ми можемо легко отримати стандартну помилку для лінійної комбінації цих оцінок. Якщо я позначаю матрицю коваріації як і записую коефіцієнти для моєї лінійної комбінації у векторі як C, то стандартна помилка просто ΣCCΣC

# Making fake data and fitting the model and getting a prediction
set.seed(500)
dat <- data.frame(x = runif(20), y = rbinom(20, 1, .5))
o <- glm(y ~ x, data = dat)
pred <- predict(o, newdata = data.frame(x=1.5), se.fit = TRUE)

# To obtain a prediction for x=1.5 I'm really
# asking for yhat = b0 + 1.5*b1 so my
# C = c(1, 1.5)
# and vcov applied to the glm object gives me
# the covariance matrix for the estimates
C <- c(1, 1.5)
std.er <- sqrt(t(C) %*% vcov(o) %*% C)

> pred$se.fit
[1] 0.4246289
> std.er
          [,1]
[1,] 0.4246289

Ми бачимо, що метод «від руки», який я показую, дає таку саму стандартну помилку, як і повідомлення через predict


2
У мене є одне пов'язане питання. Коли ми прогнозуємо інтервал значення та довіри на лінійній регресії (не логістичній), ми включаємо дисперсію помилок / стандартну помилку. Але логістична регресія ні. Чи виникає ця різниця у тому, що спостережувані значення логістичної регресії дорівнюють 0 або 1 і що немає сенсу оцінювати відхилення помилок? Я відчуваю, що нам потрібно хоч щось зробити, але я можу чогось бракувати.
user2457873

3
Старе запитання, але ця тема допомогла мені тільки зараз, так що далі: logit зауважує 0 або 1, але це прогнозує ймовірність. Коли ви отримуєте стандартну помилку пристосованого значення, вона знаходиться в шкалі лінійного предиктора. Ви отримаєте інтервал довіри щодо ймовірності, розмовляючи logit (fit +/- 1.96 * se.fit)
generic_user

Тільки майте на увазі, що для цього використовується асимптотика нормального прибл., Що може бути дуже погано для логістичної моделі (пошукайте на цьому сайті явище Хаусса-Доннера). Для коефіцієнтів, які можуть бути виправлені, наприклад, ймовірністю профілювання (використовується функцією conint в MASS). Це неможливо для лінійних
прогнокторів

2
Це невірно для того, що просила ОП; GLM, який вам підходить, використовує функцію посилання ідентичності, а не функцію посилання logit. Ви повинні o <- glm(y ~ x, data = dat, family = binomial)замість цього підходити . Не могли б ви переглянути? Ваше пояснення працює для оцінки коефіцієнтів SE-журналу (використовуючи type = "link"опцію), але не SE, коли predictвикористовується type = "response"варіант.
Чже Чжан
Використовуючи наш веб-сайт, ви визнаєте, що прочитали та зрозуміли наші Політику щодо файлів cookie та Політику конфіденційності.
Licensed under cc by-sa 3.0 with attribution required.