假设我们有一个主要是分类特征的二元分类问题。我们使用一些非线性模型(例如 XGBoost 或随机森林)来学习它。
- 是否还应该担心多重共线性?为什么?
- 如果上述答案是正确的,考虑到使用这些类型的非线性模型,应该如何应对?
假设我们有一个主要是分类特征的二元分类问题。我们使用一些非线性模型(例如 XGBoost 或随机森林)来学习它。
对于某些模型,多重共线性不会成为问题。例如随机森林或决策树。例如,如果我们有两个相同的列,决策树/随机森林将在每次拆分时自动“删除”一列。而且该模型仍然可以正常工作。
此外,正则化是一种“修复”多重共线性问题的方法。我的回答Logistic regression 的正则化方法提供了详细信息。
迟到了,但无论如何这是我的答案,它是“是”,无论模型/方法是否线性,或者主要任务是预测或分类,都应该始终关注共线性。
假设数据集中存在许多线性相关的协变量/特征,并将随机森林作为方法。显然,每个节点的随机选择可能只选择(或大部分)共线特征,这可能/将导致分裂不良,并且这种情况可能反复发生,从而对性能产生负面影响。
现在,与其他(非共线)特征相比,共线特征对结果的信息量可能更少,因此无论如何都应该考虑从特征集中消除它们。但是,假设这些特征在 RF 生成的“特征重要性”列表中排名靠前。因此,它们将保留在数据集中,不必要地增加了维度。因此,在实践中,我总是作为探索性步骤(在许多相关中)检查特征的成对关联,包括线性相关。
如果非线性模型是基于树的模型,那么您不应该认为它很严重。不同的树模型会有不同的处理方法,例如随机森林会保留它们(因为它们独立构建树,并为每棵树随机选择特征),但它对预测性能没有影响,即使你删除了多余的一个。但是对于 xgboost,它会选择其中的任何一个,并使用它直到最后一个树构建。
只是解释意义,所以建议去掉高度相关的变量。
多重共线性总是一个可能的问题。模型中作为预测变量的变量在线性相关时(即存在共线性时)将影响预测。