繁体   English   中英

glm model 预测的置信区间

[英]Confidence interval of prediction from glm model

我正在尝试从glm获得预测的 95% 置信区间。 下面是我的model

library(caret)
library(ISLR)
data(Smarket)
glm.fit <- glm(Direction ~ Lag1 + Lag2, data = Smarket, family = binomial)

现在我尝试使用以下代码来估计预测的 95% 置信区间

> head(predict(glm.fit, interval="confidence", level = 0.025))
          1           2           3           4           5           6 
 0.05554775 -0.01128128 -0.04222017  0.07288089  0.05806364  0.03169772 
> head(predict(glm.fit, interval="confidence", level = 0.975))
          1           2           3           4           5           6 
 0.05554775 -0.01128128 -0.04222017  0.07288089  0.05806364  0.03169772 

显然,这没有给我正确的间隔,因为在这两种情况下,值是相同的。

你能帮我得到正确的间隔吗?

predict.glm()不采用与 predict.lm 相同的predict.lm (请参阅?predict.glm ):您必须手动执行此操作(或查找具有辅助函数的 package)。 以下代码在 logit(log-odds)标度上构造了 95% Wald 置信下限和上限,然后使用plogis()反向转换为概率标度...

pp <- predict(glm.fit, se.fit = TRUE)
ci_lwr <- with(pp, plogis(fit + qnorm(0.025)*se.fit))
ci_upr <- with(pp, plogis(fit + qnorm(0.975)*se.fit))
> head(ci_lwr)
        1         2         3         4         5         6 
0.4842931 0.4596593 0.4451171 0.4780052 0.4796479 0.4759596 
> head(ci_upr)
        1         2         3         4         5         6 
0.5433766 0.5347319 0.5339426 0.5581846 0.5492351 0.5398233 

暂无
暂无

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM