首页 > 解决方案 > prediction_summary() 中的置信区间长度

问题描述

我想使用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
  )

标签: r

解决方案


该问题与源代码有关

library(prediction)
prediction_summary
function (model, ..., level = 0.95) 
{
    predictions <- prediction(model, ...)
    summary(predictions, level = 0.95)
}

请注意,level是硬编码的,0.95summary. 我们可以通过修改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

推荐阅读