决策树回归以避免回归模型的多重共线性?

数据挖掘 回归 决策树 数据科学模型 共线性
2022-03-05 15:34:19

当数据集具有许多相关特征时,我在评论中阅读了对决策树而不是神经网络等线性模型的建议。因为要避免多重共线性。已经提出了类似的问题,但没有真正回答。 https://stats.stackexchange.com/questions/137573/do-classification-trees-need-to-consider-the-correlation-between-attributes

或者在这里 的监督学习中,为什么拥有相关特征是不好的?

https://www.quora.com/Is-multicollinearity-a-problem-in-decision-trees#:~:text=Decision%20trees%20follow%20the%20non%20parametric%20approach.&text=Though%20single%20tree %20leads%20to,robust%20to%20the%20multi%20collinearity%20

我的问题:我有一个大约 30 列的数据集。10 列与目标/因变量具有高度相关性。数据是数字的。如果可能,我想做一个预测(回归模型)包括所有变量?

一个大问题是避免多重共线性。

  • 当 10 个特征高度相关时,是否存在好的决策树回归模型?(如果我按照链接的答案进行操作,但对此没有很好的解释)。
  • 是否有科学或数学解释或建议(使用决策树回归)?
1个回答

要直接回答您的问题,首先:

当 10 个特征高度相关时,是否存在好的决策树回归模型?

当然是。但比决策树更好的是许多决策树(RandomForest、Gradient Boosting(xGBoost 很流行)。我认为通过了解决策树如何分裂以及它们如何自然地处理共线性,你会得到很好的服务。也许试试这个视频遵循逻辑直到第二层拆分,您将能够想象相关变量如何突然变得不重要,因为它们与它们上方的拆分相关。

是否有科学或数学解释或建议(使用决策树回归)?

为什么共线性对线性模型“不好”的数学解释归结为系数以及您如何解释它们。副作用之一是它们可能会破坏变量的统计显着性,并将其系数翻转到错误的方向。它通常不会对模型的准确性产生太大影响,但大多数人想要线性模型,以便他们可以解释系数(这完全与共线性混淆了)。我建议先阅读这篇文章。

你提到的一件事,include all variables if possible?并不是你真正应该关心的事情。模型的目标是用最少的解释最多。如果您将尽可能多的变量强加到模型中,那么您可能会被愚弄认为模型是好的,而实际上如果您要在新数据上对其进行测试则并非如此。事实上,有时更少的变量会给你一个更好的模型。这正是多重共线性在线性模型中引起的那种问题——你不能很好地判断哪些变量是重要的或不重要的。当存在相关特征时,逐步选择不能很好地工作。

总的来说,我认为决策树——尤其是随机森林——对你来说是一个好的开始。但请记住,不要仅仅为了模型而将所有变量都强加到模型中。尝试使用更少的变量并操纵树结构,例如叶子大小和最大深度。和往常一样 - 在验证数据和保留数据上测试你的模型,这样你就不会过度拟合模型并欺骗自己认为它是一个强大的模型。