在高度相关的变量中进行选择
数据挖掘
回归
相关性
2021-10-15 01:38:15
2个回答
我同意@peter 关于第 1 点到第 5 点的详细回答,并想补充一些更多细节:
对相关变量执行 PCA 或 MFA,并检查此步骤中有多少预测变量可以解释所有相关性。例如,高度相关的变量可能会导致 PCA 的第一个组件解释数据中 95% 的方差。然后,您可以简单地在模型中使用这第一个组件。
通过查看变量的特征重要性,随机森林也可以用于特征选择。然而,相关变量可能会导致误导性特征重要性。您可以使用排列特征重要性(https://scikit-learn.org/stable/modules/permutation_importance.html)
使用所有功能时,您可能会过度拟合。因此,必须使用验证集来检查过拟合。
您还可以通过添加具有随机值的特征并丢弃任何特征重要性低于该特征的特征来丢弃无用的特征。
对于这个主题,我强烈推荐这本书:特征工程和选择:预测模型的实用方法;在这里开源:http : //www.feat.engineering/ 也可以在亚马逊上找到。
关于您的任务的一些提示/想法:
- 我不会排除其他解释变量太早了。当我查看您的相关图表时,我怀疑所有变量(但序列号)对. 如果你踢掉这些变量,你可能会丢掉重要的信息。
- 万一有些 高度相关,你可能会面临多重共线性的问题。对于某些方法,例如线性回归和相关方法,这可能是一个真正的问题。其他方法,例如随机森林,不太容易过度拟合高度相关的特征,因为该算法只考虑了每个森林中的少数特征,因此高度影响或相关的特征在每棵树中都不会发挥很大的作用。
- 我建议您首先检查相关性,也可能检查线性回归的方差膨胀因子。这应该让您很好地了解特征是否过于强烈相关而无法联合考虑,例如在线性回归中。线性回归在这里也可能是一个很好的基线模型。
- 为了执行特征选择,您可以使用Lasso/Ridge 回归,它的工作原理类似于根据预测重要性选择特征的“自动”方式。
- 为了提高模型拟合度,您还可以检查广义加法模型 (GAM),它是一个线性系列,但允许您添加高度非线性的表示 无需太多调整,也无需长时间训练。
为了对 ML 有一个好的开始,我建议你看一看“统计学习简介”。这本书有 R和Python实验室。这将为您提供一个很好的开端,并对有关 ML 的最重要问题有一个全面的了解。
供未来阅读(如果您有兴趣):如果您将研究因果模型(用于统计推断),您的模型将受到内生性的影响。在这种情况下,您需要采用不同的方法来解决问题(工具变量或 IV估计)。但是由于您使用的是预测模型,所以这里没有问题。Wooldridge(“介绍计量经济学”)对于任何对因果建模感兴趣的人来说都是一个很好的起点。
其它你可能感兴趣的问题
