当前位置: 首页 > 知识库问答 >
问题:

R中随机森林时间序列的变重要度

梁丘经艺
2023-03-14

我的挑战是我不能使用随机森林的可变重要性特性,因为我的大多数特性都与它们最近的过去有高度的相关性。例如,一个移动平均数跨越了一个几天的窗口,这意味着它包含了我的数据集中的多个观察的信息。

这意味着随机森林生成的袋外样本将与随机森林用来训练我的模型的样本内特征相关联。因此,我从中得到的变量重要性将是高度乐观和过度适应的。

我看到的解决方案是以某种方式计算样本外测试集上的变量重要性,而不是使用OOB交叉验证。目标是确保与训练集绝对没有相关性。

共有1个答案

宰父俊彦
2023-03-14

哇,太好了,你想到了这些与示例中特性的相关性。

实际上,在测试集上运行变量重要性是一个更好的主意。我想你可以很容易地自己编程。这里有一些伪代码

check baseline performance metric
for variable in variables:
    random shuffle variable
    check performance metric
    save performance metric to disk
barplot(performance metrics)

您的性能度量可以是任何东西:交叉熵、精确度、ROC-AUC等等

 类似资料:
  • 主要内容:安装R包 - randomForest,语法,示例在随机森林方法中,创建了大量的决策树。每个观察结果都被送入每个决策树。 每个观察结果最常用作最终输出。对所有决策树进行新的观察,并对每个分类模型进行多数投票。 对于在构建树时未使用的情况进行错误估计。 这被称为OOB(Out-of-bag)错误估计,以百分比表示。 R中的软件包用于创建随机林。 安装R包 - randomForest 在R控制台中使用以下命令安装软件包,还必须安装其它依赖软件包(如

  • 我有一个随机森林,目前建立在100个不同的变量之上。我希望能够只选择“最重要”的变量来构建我的随机森林,以尝试提高性能,但我不知道从哪里开始,除了从rf$重要性中获得重要性。 我的数据只是由数字变量组成,这些变量都经过了缩放。 以下是我的射频代码:

  • 考虑一个数据集训练: 二元结果变量z和三个水平的分类预测因子a:1、2、3。 现在考虑一个数据集测试: 当我运行以下代码时: 我收到以下错误消息: 我假设这是因为测试数据集中的变量a没有三个级别。我该如何解决这个问题?

  • 我在加载随机森林模型并将其应用于带有的栅格时遇到问题。 通常,当我在R会话中创建随机森林模型时,键入其名称并点击回车,我会收到以下打印输出: 当我使用predict将此会话内模型应用于光栅时,我可以进行成功的预测。 当我改为使用readRDS加载保存的随机林模型并键入模型名称时,如下所示: 我收到rf_model中所有信息的完整打印件(即rf_model$call,rf_model$type...

  • 随机森林是集成学习中可以和梯度提升树GBDT分庭抗礼的算法,尤其是它可以很方便的并行训练,在如今大数据大样本的的时代很有诱惑力。 1. bagging的原理 在集成学习原理小结中,我们给Bagging画了下面一张原理图。 从上图可以看出,Bagging的弱学习器之间的确没有boosting那样的联系。它的特点在“随机采样”。那么什么是随机采样? 随机采样(bootsrap)就是从我们的训练集里面采

  • 在随机森林方法中,创建了大量决策树。 每个观察都被送入每个决策树。 每次观察的最常见结果用作最终输出。 一个新的观察结果被输入所有树木,并对每个分类模型进行多数投票。 对构建树时未使用的情况进行错误估计。 这称为OOB (Out-of-bag)错误估计,以百分比形式提及。 R包"randomForest"用于创建随机森林。 安装R包 在R控制台中使用以下命令安装程序包。 您还必须安装依赖包(如果有