【问题标题】:R: how to get prediction interval from gbm?R:如何从 gbm 获得预测区间?
【发布时间】:2023-11-08 01:24:01
【问题描述】:

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

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

【问题讨论】:

    标签: r prediction confidence-interval gbm


    【解决方案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% 置信区间内的预测值