为什么需要变量选择?

机器算法验证 造型 特征选择
2022-02-02 23:15:19

常见的基于数据的变量选择程序(例如,向前、向后、逐步、所有子集)往往会产生具有不良属性的模型,包括:

  1. 系数偏离零。
  2. 标准误太小,置信区间太窄。
  3. 检验不具有宣传意义的统计量和 p 值。
  4. 模型拟合的估计过于乐观。
  5. 包含的可能无意义的术语(例如,排除低阶术语)。

然而,变量选择程序仍然存在。考虑到变量选择的问题,为什么这些程序是必要的?是什么促使他们使用?

开始讨论的一些建议......

  • 对可解释回归系数的渴望?(在具有许多 IV 的模型中被误导?)
  • 消除不相关变量引入的方差?
  • 消除自变量之间不必要的协方差/冗余?
  • 减少参数估计的数量(功率问题、样本量)

还有其他人吗?变量选择技术解决的问题比变量选择程序引入的问题更重要还是更不重要?什么时候应该使用它们?什么时候不应该使用它们?

3个回答

变量选择(没有惩罚)只会让事情变得更糟。变量选择几乎没有机会找到“正确”的变量,并导致剩余变量的影响被大量夸大和标准误差被严重低估。认为以通常方式完成的变量选择有助于解决“大 p 小 n”问题是错误的。底线是最终模型在各方面都具有误导性。这与我在一篇流行病学论文中读到的惊人陈述有关:“我们没有足够的样本量来开发多变量模型,因此我们对 2x2 表进行了所有可能的测试。”

任何时候使用手头的数据集来消除变量,同时使用 Y 来做出决定,所有的统计量都会被扭曲。典型的变量选择是海市蜃楼。

编辑:(复制下方隐藏的评论)

我不想自私自利,但我的《回归建模策略》一书深入探讨了这一点。包括讲义在内的在线资料可以在我的网页上找到。一些可用的方法是惩罚(岭回归)、惩罚(lasso)和所谓的弹性网(的组合)。或者在进行回归之前使用数据缩减(对响应我的书在这方面花费了更多的篇幅,而不是惩罚。L2L1L1L2Y

首先,你提到的缺点是特征选择做错的影响,即过拟合、未完成或过冲。

“理想”的FS有两个步骤;第一个是删除与 DV 无关的所有变量(所谓的所有相关问题,非常艰巨的任务,与使用的模型/分类器无关),第二个是将集合限制为仅可以由模型(例如在解释方面同样出色,但线性模型在一般情况下宁可不使用)——这个模型被称为最小最优eYYYeY

所有相关级别都可以深入了解真正驱动给定过程的因素,因此具有解释价值。最小最优水平(根据设计)提供了尽可能多地处理整洁数据的非过度拟合模型。

现实世界的 FS 只想实现其中一个目标(通常是后者)。

变量选择是必然的,因为大多数模型不能很好地处理大量不相关的变量。这些变量只会在您的模型中引入噪音,或者更糟糕的是,导致您过度拟合。从分析中排除这些变量是个好主意。

此外,您不能包含每个分析中存在的所有变量,因为它们的数量是无限的。在某些时候,您必须划清界限,并且以严格的方式这样做是件好事。因此,所有关于变量选择的讨论。

变量选择的大多数问题可以通过交叉验证或使用内置惩罚和特征选择的模型(例如线性模型的弹性网络)来处理。

如果您对与导致过度拟合的多个变量相关的一些经验结果感兴趣,请查看 Kaggle 上的Don't Overfit比赛的结果。