我正在研究逻辑回归模型,我有 417 个自变量要尝试,但是使用所有这些变量运行模型太多了(对于 Rstudio 而言),事先丢弃一些变量的好标准是什么?
感谢您的回答!这项工作的目的是开发一种预测模型,以检测哪些客户更有可能成为公用事业公司无法收回的账户。
我正在研究逻辑回归模型,我有 417 个自变量要尝试,但是使用所有这些变量运行模型太多了(对于 Rstudio 而言),事先丢弃一些变量的好标准是什么?
感谢您的回答!这项工作的目的是开发一种预测模型,以检测哪些客户更有可能成为公用事业公司无法收回的账户。
正如@DemetriPananos 所提到的,理论论证将是最好的方法,特别是如果您的目标是推理。也就是说,凭借对实际数据生成过程的专业知识,您可以查看变量之间的因果路径,并从中选择重要的变量,哪些是混杂因素,哪些是中介因素。有时称为因果图的 DAG(有向无环图)可以在此过程中提供很大帮助。我个人遇到过包含多达 500 个变量的 DAG,这些变量可以减少到 20 个以下。
当然,这在您的特定情况下可能不切实际或不可行。
您可以使用的其他方法是:
主成分分析。PCA 是一种用于降维的数学技术,通过生成新的不相关变量(分量),这些变量是原始(相关)变量的线性组合,使得每个分量占总方差的减少部分。也就是说,PCA 计算一组新变量并根据这些新变量表示数据。一起考虑,新变量代表的信息量与原始变量相同,从某种意义上说,我们可以从转换后的数据集恢复原始数据集。总方差保持不变,但会重新分配,以便第一个分量占最大可能方差,同时与其余分量正交。第二个分量占剩余方差的最大可能,同时也与剩余分量保持正交,依此类推。这种解释是故意非技术性的。因此,PCA 在变量高度相关的情况下非常有用,并且通过仅保留前几个组件,可以显着降低数据集的维度。在 R 中,PCA 可使用基础prcomp
功能。
偏最小二乘法。PLS 类似于 PCA,除了它还考虑了每个变量与结果的相关性。当与二元(或其他分类)结果一起使用时,它被称为 PLS-DA(偏最小二乘判别分析)。在 R 中,您可以使用该caret
包。
值得注意的是,变量应该在 PCA 或 PLS 之前进行标准化,以避免在更大尺度上测量的变量占主导地位。这方面的一个很好的例子是分析田径比赛的结果——如果按原始规模分析变量,那么马拉松和 10,000 米等赛事将主导结果。
岭回归。也称为 Tikhonov 正则化,用于处理高度相关的变量,这在高维数据集中非常常见。在普通最小二乘法中,残差平方和被最小化,岭回归增加了一个惩罚,因此我们最小化一个数量,即残差平方和加上一个通常与总和成正比的项(或通常是加权总和)的平方参数。本质上,我们“惩罚”我们试图最小化的参数的大值。这在实践中意味着回归估计值缩小到零。因此,它们不再是无偏估计,但与 OLS 相比,它们的方差要小得多。正则化参数(惩罚)通常通过交叉验证来选择,然而,
套索回归。最小绝对收缩和选择算子 (LASSO) 与岭回归非常相似——它也是一种正则化方法。主要区别在于,在岭回归添加与平方参数(也称为 L2 范数)成比例的惩罚的情况下,LASSO 使用绝对值(L1 范数)。这意味着 Lasso 将不太重要的变量的系数缩小到零,从而完全删除了一些变量,因此这对于我们有大量变量的变量选择特别有效。如前所述,正则化引入了具有较低方差的偏差。还有一些方法可以减少或消除这种偏差,称为去偏。
弹性网。这是岭回归和 LASSO 之间的折衷,并产生了一个同时受到 L1 范数和 L2 范数惩罚的模型。这意味着一些系数被缩小(如在岭回归中)并且一些被设置为零(如在 LASSO 中)。在 RI 中建议使用glmnet
可以进行岭回归、LASSO 和弹性网络的包。
理论论证超越一切。除此之外,LASSO 或类似的惩罚方法将是我的下一个建议。
听起来正则化模型可能对您有用(特别是套索,因为您的问题似乎集中在选择变量上,而不是 Ridge 和 Elastic 网络)。
但是,这些可能很难设置。如果您可以访问它们,它们将包含在 Stata 15 中。在 R 中,它通常更方便一些,但希望有人能指出 R 是否以及如何通过正则化技术支持用户。
还有其他技术可以根据变量的行为手动挑选和选择变量,但是有超过 400 个变量(假设您对其中任何一个都没有先入为主的假设),我想说做理解正则化模型的工作可能比手动选择更容易.