Подтвердить что ты не робот

Доверительные интервалы для прогнозов от логистической регрессии

In R pred.lm вычисляет прогнозы на основе результатов линейной регрессии, а также предлагает вычислить доверительные интервалы для этих прогнозов. Согласно руководству, эти интервалы основаны на дисперсии ошибок при установке, но не на интервалах ошибок коэффициента.

С другой стороны, предсказание .glm, которое вычисляет прогнозы на основе логистической и регрессии Пуассона (среди нескольких других), не имеет возможности для доверительных интервалов. И мне даже трудно представить, как такие доверительные интервалы могут быть рассчитаны, чтобы обеспечить осмысленное понимание Пуассона и логистической регрессии.

Существуют ли случаи, когда имеет смысл предоставлять доверительные интервалы для таких прогнозов? Как их можно интерпретировать? И каковы предположения в этих случаях?

4b9b3361

Ответ 1

Обычный способ - вычислить доверительный интервал на шкале линейного предиктора, где вещи будут более нормальными (гауссовскими), а затем применить обратную функцию связи для отображения доверительного интервала от линейной предсказательной шкалы до шкала отклика.

Для этого вам нужны две вещи:

  • вызов predict() с помощью type = "link" и
  • вызов predict() с помощью se.fit = TRUE.

Первый производит прогнозы на шкале линейного предиктора, второй возвращает стандартные ошибки предсказаний. В псевдокоде

## foo <- mtcars[,c("mpg","vs")]; names(foo) <- c("x","y") ## Working example data
mod <- glm(y ~ x, data = foo, family = binomial)
preddata <- with(foo, data.frame(x = seq(min(x), max(x), length = 100)))
preds <- predict(mod, newdata = preddata, type = "link", se.fit = TRUE)

preds - это список с компонентами fit и se.fit.

Тогда доверительный интервал для линейного предиктора

critval <- 1.96 ## approx 95% CI
upr <- preds$fit + (critval * preds$se.fit)
lwr <- preds$fit - (critval * preds$se.fit)
fit <- preds$fit

critval выбирается из t или z (нормального) распределения по мере необходимости (я забываю, что именно сейчас для использования какого типа GLM и каковы свойства) с требуемым покрытием. 1.96 - это значение гауссовского распределения, обеспечивающего 95% -ный охват:

> qnorm(0.975) ## 0.975 as this is upper tail, 2.5% also in lower tail
[1] 1.959964

Теперь для fit, upr и lwr нам нужно применить к ним функцию обратной связи.

fit2 <- mod$family$linkinv(fit)
upr2 <- mod$family$linkinv(upr)
lwr2 <- mod$family$linkinv(lwr)

Теперь вы можете построить все три и данные.