r Доверительные интервалы для прогнозов от логистической регрессии
statistics glm (1)
Обычный способ - вычислить доверительный интервал на шкале линейного предсказателя, где вещи будут более нормальными (гауссовскими), а затем применить обратную функцию связи для отображения доверительного интервала из шкалы линейных предсказателей в шкалу откликов.
Для этого вам нужны две вещи;
- call
predict()
сtype = "link"
и - вызовите
se.fit = TRUE
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)
Теперь вы можете построить все три и данные.
preddata$lwr <- lwr2
preddata$upr <- upr2
ggplot(data=foo, mapping=aes(x=x,y=y)) + geom_point() +
stat_smooth(method="glm", method.args=list(family=binomial)) +
geom_line(data=preddata, mapping=aes(x=x, y=upr), col="red") +
geom_line(data=preddata, mapping=aes(x=x, y=lwr), col="red")
https://ffff65535.com
В R pred.lm вычисляются прогнозы на основе результатов линейной регрессии, а также предлагается вычислить доверительные интервалы для этих прогнозов. Согласно руководству, эти интервалы основаны на дисперсии ошибок при установке, но не на интервалах ошибок коэффициента.
С другой стороны, предсказание.glm, которое вычисляет прогнозы на основе логистической и регрессии Пуассона (среди нескольких других), не имеет возможности для доверительных интервалов. И мне даже трудно представить, как можно было бы вычислить такие доверительные интервалы, чтобы обеспечить осмысленное понимание Пуассона и логистической регрессии.
Существуют ли случаи, когда имеет смысл предоставлять доверительные интервалы для таких прогнозов? Как их можно интерпретировать? И каковы предположения в этих случаях?