CART 模型可以变得健壮吗?
不,不是现在的形式。问题是不能使凸损失函数对异常值的污染具有鲁棒性(这是自 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 估计量的稳健回归树。统计学,LXVII,173-190。
您可以考虑使用Breiman 的bagging 或random forests。Breiman 的“Bagging Predictors”(1996 年)是一个很好的参考。也在统计手册中 Clifton Sutton 的“分类和回归树、Bagging 和 Boosting”中进行了总结。
您还可以查看Andy Liaw 和 Matthew Wiener R News对 randomForest 包的讨论。
如果您查看 R(广义梯度提升)中的“gbm”包,“提升”使用不一定是均方误差的损失函数。这显示在函数 'gbm()' 的 'distribution' 参数中。因此,通过提升对树的细化将抵抗异常值,类似于 M 估计器的工作方式。
你可以从这里开始。
另一种方法是以通常的方式构建树(基于 SSE 的分区),但使用具有稳健拟合度量的交叉验证来修剪树。我认为 rpart 中的 xpred 将提供交叉验证的预测器(针对各种不同的树复杂性),然后您可以应用自己的误差度量,例如平均绝对值。