R中不给定区间的预测函数

ubof19bj  于 2023-01-18  发布在  其他
关注(0)|答案(1)|浏览(114)

我尝试使用R中的predict()来计算线性模型的预测区间。当我在只有一个协变量的简单模型上尝试时,它给出了具有置信区间的点估计值的期望输出。当我向模型添加分类预测值时,predict()的输出似乎是一个没有间隔的单点估计值。我在Google上搜索了一下,没有结果。有人能告诉我哪里做错了吗?

medcost <- data.frame(
  ID = c(1:100),
  charges = sample(0:100000, 100, replace = T),
  bmi = sample(18:40, 100, replace = T),
  smoker = factor(sample(c("smoker", "nonsmoker"), 100, replace = TRUE))
)

mod2 <- glm(charges ~ bmi + smoker, data = medcost)

predict(mod2, interval="predict",
        newdata = data.frame(bmi=c(29, 31.5), smoker=c("smoker", "smoker")))
vyswwuz2

vyswwuz21#

如果你想得到标准误差,你可以这样使用se.fit = TRUE

mod2 <- glm(charges ~ bmi + smoker, data = medcost)
predict(mod2, interval="predict",
        newdata = data.frame(bmi=c(29, 31.5), smoker=c("smoker", "smoker")),
        se.fit = TRUE)
#> $fit
#>        1        2 
#> 47638.66 47106.14 
#> 
#> $se.fit
#>        1        2 
#> 4304.220 4475.473 
#> 
#> $residual.scale
#> [1] 28850.85

创建于2023年1月17日,使用reprex v2.0.2
我建议你看看这个帖子:R: glm(...,family=poisson) plot confidence and prediction intervals

相关问题