r - 从逻辑回归模型预测预测值的 CI
问题描述
所以我有一个使用逻辑回归计算的特定预测值,现在我需要找到该概率的 CI。这是我的代码:
cheese_out <- glm(taste~acetic+person,data=cheese,family = "binomial")
probabilities <- predict(cheese_out,newdata=cheese, type="response")
testdat <- data.frame(acetic = 6, person = "Child")
pred_accp <- predict(cheese_out, newdata=testdat, type="response")
我得到我的 pred_accp 值为 0.1206 但如何根据该值计算置信区间?
解决方案
您可以使用se.fit=TRUE
该predict
功能的选项。这为您提供了标准误差,您可以从中计算置信区间。例子:
out <- glm(I(Sepal.Length > 5.8) ~ Sepal.Width + Species, iris, family=binomial())
testdat <- data.frame(Sepal.Width=3, Species="versicolor")
pred_accp <- predict(out, newdata=testdat, type="response", se.fit=TRUE)
alpha <- .05 ## confidence level
cc <- -qt(alpha/2, df=Inf)*pred_accp$se.fit
setNames(
pred_accp$fit + cc * c(-1, 0, 1),
c("lower", "estimate", "upper"))
# lower estimate upper
# 0.5505699 0.7072896 0.8640093
请注意,这里假设数据是 z 分布的,即df=Inf
。对于 t 分布,您可能需要在此处指定正确的自由度。
推荐阅读
- oracle - Teradata 到 Oracle Query eaxdata 转换
- javascript - 响应式全宽 Wordpress 帖子图片
- java - java中.push()的等效函数?
- java - 为 java jersey 应用程序创建 docker 容器
- xamarin - 在 Xamarin 表单中打开另一个内容页面
- installation - 如何使用 Inno Setup 查找 HKLM 子文件夹的名称?
- java - 循环遍历多个数组 - 电话号码到单词生成器
- javascript - Ajax 请求有多少开销
- c++ - T*... 和 const T& 的部分排序
- php - PHPmailer 给我一个 504 网关超时错误