我想使用预测包的函数prediction_summary()
并调整置信区间长度。但是,似乎级别规范没有任何区别。我是不是做错了什么?
可重现的例子:
# Make data
DF <- data.frame(
x = rnorm(n= 100, 20,3),
y = rbinom(n = 100, size = 1, prob=0.4)
)
# Specify model
model <- glm(x ~ y, data = DF)
# Prediction
prediction::prediction_summary(
model = model,
level = 0.2
)
# Same result
prediction::prediction_summary(
model = model,
level = 0.9
)
发布于 2021-06-25 08:07:22
该问题与源代码有关
library(prediction)
prediction_summary
function (model, ..., level = 0.95)
{
predictions <- prediction(model, ...)
summary(predictions, level = 0.95)
}
请注意,level
在summary
中被硬编码为0.95
。我们可以通过修改summary
行来修正,将输入作为level = level
,即用户指定的级别
body(prediction_summary)[[3]] <- quote(summary(predictions, level = level))
现在,进行测试
> prediction_summary(
+ model = model,
+ level = 0.9
+ )
Prediction SE z p lower upper
19.96 0.3178 62.81 0 19.44 20.49
> prediction_summary(
+ model = model,
+ level = 0.2
+ )
Prediction SE z p lower upper
19.96 0.3178 62.81 0 19.88 20.04
https://stackoverflow.com/questions/68123838
复制相似问题