使用中位数(而不是均值)进行递归分区

机器算法验证 r 大车 rpart
2022-03-19 18:06:36

因为我只熟悉有关决策树的基础知识,所以我想问一下,冒着提出愚蠢问题的风险:是否可以使用组中位数作为响应/目标执行递归分区?

例如,代替R'rpart()使用均值,可以用中位数创建类似的树吗?

我想这样做是因为我要检查的连续因变量有一系列明显影响平均值的异常值(尤其是当每个节点中的观察数变小时)。我是在正确的轨道上,还是应该使用其他类型的方法?预处理数据会是另一种选择(也许将值“限制”在上限)?

3个回答

您还可以使用空间符号变换或排序变换等变换对数据进行预处理,以最大限度地减少异常值的影响。

虽然我从未使用过它,但quantregForest包似乎可以满足您的需求。

这是描述:

分位数回归森林是一种基于树的集成方法,用于估计条件分位数。它特别适用于高维数据。可以处理混合类的预测变量。该包依赖于由 Andy Liaw 编写的包 randomForests。

quantregForest 包中还有一篇文章:

迈因斯豪森 N (2006)。“分位数回归森林。” 机器学习研究杂志,7, 983–999。

除了 Johannes 关于 quantregForest 的建议之外,还有一个名为 gbm(广义提升机)的 R 包,它使用树来计算条件分位数。