【发布时间】:2021-01-30 12:39:04
【问题描述】:
我正在为一门统计在线课程做练习。我需要使用 Titanic 数据集在 R 中创建逻辑回归。因此,我想应用 bootstrap 方法来创建和绘制 95% 置信区间来预测逻辑回归。
当我运行 bootstrap 命令并想要绘制它时,我收到错误消息:“t* 的所有值都等于 0.0159971772980342”。此外,我得到的偏差和标准误差为 0,这是不正确的。我猜在设置 bootstrap 命令时有错误,但很遗憾我找不到它。我可以尝试什么?
我的代码:
library(boot)
set.seed(50000)
logit_test <- function(data, indices) {
dt <- data[indices,]
fit <- glm(Clean_data$Survived ~ Fare, data = Clean_data, family = "binomial")
return(coef(fit))
}
boot_strap <- boot(
data = Clean_data,
statistic = logit_test,
R = 100)
boot.ci(boot.out = boot_strap,
type = c("basic"))
#Now we look at the results and plot them
boot_strap
plot(boot_strap, index=2)
我的输出:
> library(boot)
>
> set.seed(50000)
>
> logit_test <- function(data, indices) {
+ dt <- data[indices,]
+ fit <- glm(Clean_data$Survived ~ Fare, data = Clean_data, family = "binomial")
+ return(coef(fit))
+ }
> boot_strap <- boot(
+ data = Clean_data,
+ statistic = logit_test,
+ R = 100)
>
> boot.ci(boot.out = boot_strap,
+ type = c("basic"))
BOOTSTRAP CONFIDENCE INTERVAL CALCULATIONS
Based on 100 bootstrap replicates
CALL :
boot.ci(boot.out = boot_strap, type = c("basic"))
Intervals :
Level Basic
95% (-0.8968, -0.8968 )
Calculations and Intervals on Original Scale
Some basic intervals may be unstable
> boot_strap
ORDINARY NONPARAMETRIC BOOTSTRAP
Call:
boot(data = Clean_data, statistic = logit_test, R = 100)
Bootstrap Statistics :
original bias std. error
t1* -0.89682819 0 0
t2* 0.01599718 0 0
> plot(boot_strap, index=2)
[1] "All values of t* are equal to 0.0159971772980342"
【问题讨论】:
-
我在下面回答了您的问题,但以后请贴出代码本身,而不是代码的图片——这会让我们更容易提供帮助。
-
我有点不同意 Dave - 他们评论的实质是正确的,但我认为在修复代码之前这个问题是题外话。图像中的代码/日志不适用于剪贴板、屏幕阅读器或搜索引擎机器人。
标签: r logistic-regression non-linear-regression statistics-bootstrap