R:如何从 gbm 获得预测区间?

Posted

技术标签:

【中文标题】R:如何从 gbm 获得预测区间?【英文标题】:R: how to get prediction interval from gbm? 【发布时间】:2019-04-28 21:08:51 【问题描述】:

我正在使用 R 中的 gbm 包运行增强回归树,但无法弄清楚如何获得预测区间。我有 10 个特征,我想改变一个特征 X1 的值(它有 4 个离散值:A, B, C, D),看看预测值 Y(因变量)在4 个离散值(同时保持其他 9 特征不变)。例如,A5% 级别上与比 B 更高的预测值相关联,同时保持所有其他特征不变

有没有人可以分享任何代码来计算 R 中的预测区间?

【问题讨论】:

【参考方案1】:

您可以通过使用插入符号包函数“train()”来做到这一点。但首先需要有一个训练数据集,所以我们可以通过使用“createDataPartition()”函数来做到这一点,然后创建训练和测试数据集,然后使用训练数据集训练模型并预测测试数据集,然后验证“confusionmatrix()”函数

data<-data #contains the data of 10 variables 
intrain<- createDataPartition(y = data$X1, p = 0.8, list = F)
training<- data[intrain,]
testing<- data[-intrain,]

relation<- train(form = X1~., data = training, method = "gbm")
result<- predict(relation, testing)

confusionMatrix(testing$X1, result)

希望这能解决您的问题

【讨论】:

我查看了 train() 的文档,没有看到预测区间的选项(例如,95% 的预测区间)。您能否更具体地了解如何使用此函数来获取预测区间? 它将为您提供 80% 至 95% 置信区间内的预测值

以上是关于R:如何从 gbm 获得预测区间?的主要内容,如果未能解决你的问题,请参考以下文章

如何创建预测数据预测区间带

如果我从 randomforest、gbm、svm、nnet 生成预测以获得更准确的预测,如何组合结果(预测)?

在 gbm 多项式分布中,如何使用预测来获得分类输出? [复制]

R中具有置信区间图的线性回归预测

区间内的 R 预测

R - 对每组数据使用不同的模型进行预测和置信区间