可以使CART模型健壮吗?


14

我办公室的一位同事今天对我说:“树模型不好,因为它们被极端的观察所捕获”。

此处的搜索导致该线程基本上支持该声明。

这就引出了我的问题-在什么情况下CART模型可以保持稳健,如何显示?

Answers:


15

不,不是目前的形式。问题在于,不能使凸损失函数对离群值的污染具有鲁棒性(这是自70年代以来众所周知的事实,但是会定期重新发现,例如,有关最近的这种重新发现,请参阅本文):

http://www.cs.columbia.edu/~rocco/Public/mlj9.pdf

现在,在使用回归树的情况下,可以使用CART使用边际(或单变量投影)这一事实:人们可以想到一种CART版本,其中的sd标准被更强大的副本(MAD或更优, Qn估算器)。

编辑:

最近,我碰到了一份较旧的论文,该论文实现了上述建议的方法(使用健壮的M估计量而不是MAD)。这将使CART / RF的“ y”离群值具有鲁棒性(但不会赋予位于设计空间上的离群值,这会影响模型超参数的估计值)请参阅:

Galimberti,G.,Pillati,M.和Soffritti,G.(2007)。基于M估计的稳健回归树。Statistica,LXVII,173-190。


谢谢你。本文似乎在谈论增强方法。他们呈现的结果是否适用于CART模型的简单分类器情况?(从表面上看,听起来像是这样,但我对文章的了解不足以真正了解)
Tal Galili 2010年

他们提出的结果适用于任何凸损失函数,最初由Tukey讨论。综上所述,用于量化节点质量的传播量度(基尼或熵)对异常值(即在数据集中未正确标注的观测值)的污染敏感。此问题会影响构建和试打阶段。通过观察错误地标注标签而污染数据集通常会导致生成的树过于复杂(您可以自己轻松地对此进行检查)。
user603 2010年

谢谢郭国!!并没有健壮的损失函数吗?
Tal Galili 2010年

1
损功能。有关使用非凸损失函数可以执行的操作的示例,请参见本文“最小协方差估计器的快速算法”(尽管与分类无关,但值得一读)。
user603 2010年

2
@Tal CART等同于增强“枢轴分类器”(位于每个树节点中的标准,例如,某些属性比某物更重要,或者某些属性值设置某物)。

6

您可能会考虑使用Breiman的套袋或随机森林。一个很好的参考书是Breiman的“装袋预测器”Bagging Predictors)(1996年)。在统计手册中克利夫顿·萨顿(Clifton Sutton)的“分类和回归树,装袋和增强”中也进行了总结。

您还可以查看Andy Liaw和Matthew Wiener R News对randomForest软件包的讨论


2
不破坏政党,但是随机森林如何为异常值污染提供鲁棒性是一个谜。
user603 2010年

3
@kwak仍然是一个很好的答案;RF中的树木看不到整个树木,因此其中许多树木不会受到污染。更好的是-跟踪OOB情况下在哪片叶子上进行跟踪,可用于查找标签错误的对象并消除它们。(正如我现在所记得的,这在Breiman关于RF的论文中已经提到)。

4
问题在于,离群值会使某些“坏”(即受污染)的树看起来好于好(未受污染)的树。这就是所谓的掩盖效果,并且很容易与模拟数据一起复制。之所以会出现问题,是因为您用来评估树的标准本身对异常值不具有鲁棒性。我知道我开始听起来像是一个原教旨主义者,但是除非您使用的每一个工具都健壮,否则您的程序可能会(在一个或另一个层次上)对异常值敏感(因此不健壮)。
user603 2010年

3

如果您在R(通用梯度增强)中检出“ gbm”软件包,则“增强”使用的损失函数不一定是平方误差。这显示在函数'gbm()'的'distribution'参数中。因此,类似于M估计器的工作原理,通过增强对树进行细化将抵抗异常值。

您可能从这里开始。

另一种方法是按常规方式构建树(基于SSE的分区),但是使用交叉验证和健壮的拟合度来修剪树。我认为rpart中的xpred将提供交叉验证的预测变量(针对各种不同的树复杂性),然后您可以应用自己的误差度量,例如平均绝对值。

By using our site, you acknowledge that you have read and understand our Cookie Policy and Privacy Policy.
Licensed under cc by-sa 3.0 with attribution required.