显着性测试或交叉验证?

机器算法验证 交叉验证 特征选择
2022-01-26 05:12:41

选择相关变量的两种常用方法是显着性检验和交叉验证。每个人都试图解决什么问题,我什么时候更喜欢一个而不是另一个?

2个回答

首先,让我们明确一点,将问题置于多元线性回归的背景下,我们对响应变量进行回归,y, 在几个不同的变量上x1,,xp(相关与否),带参数向量β=(β0,β1,,βp)和回归函数

f(x1,,xp)=β0+β1x1++βpxp,
这可以是给定观察的响应变量的平均值的模型x1,,xp.

问题是如何选择一个子集βi是非零的,特别是显着性检验交叉验证的比较。

为了清楚地了解术语,重要性测试是一个通用概念,在不同的上下文中以不同的方式进行。例如,它取决于检验统计量的选择。交叉验证实际上是一种估计预期泛化误差的算法,这是一个重要的通用概念,取决于损失函数的选择。

预期的泛化误差在正式定义方面有点技术性,但换句话说,它是用于预测独立数据集时拟合模型的预期损失,其中预期超过用于估计的数据以及独立数据用于预测的集合。

为了进行合理的比较,让我们关注是否β1可以取等于 0 或不取。

  • 对于零假设显着性检验β1=0主要过程是计算一个p-值,这是在原假设 下,选择的检验统计量大于我们的数据集观察到的概率,也就是说,当假设β1=0. 解释是一个小p-value 是反对原假设的证据。对于“小”在绝对意义上的含义,有一些常用的规则,例如著名的 0.05 或 0.01 显着性水平。
  • 对于我们计算的预期泛化误差,可能使用交叉验证,在假设下对预期泛化误差的估计:β1=0. 这个数量告诉我们模型与我们使用的方法的拟合程度,以及β1=0,用于预测独立数据时的平均性能。一个大的预期泛化误差是不好的,但是没有关于它需要多大的绝对值是坏的规则。我们将不得不估计模型的预期泛化误差,其中β1也允许不为0,然后我们可以比较两个估计的误差。哪个最小对应我们选择的模型。

使用显着性检验,我们并不直接关注在零假设下模型与其他模型的“性能”,但我们关心的是记录零是错误的。这在验证设置中(对我来说)最有意义,其中主要目标是确认和记录一个事先明确指定的科学假设,可以表述为β10.

另一方面,预期泛化误差仅与预期预测损失方面的平均“性能”有关,并得出结论,最好允许β1在预测方面与 0 不同并不是试图记录β1是“真的”不同于 0不管它是什么意思。

我个人从未处理过正式需要显着性测试的问题,但是p-values 在我的工作中找到了它们的方式,并为变量选择提供了明智的指导和第一印象。然而,我主要使用像套索这样的惩罚方法与任何形式模型选择的泛化错误相结合,我正在慢慢地试图抑制我什至计算的倾向p-价值观。

对于探索性分析,我认为没有支持显着性检验和p-values,我肯定会建议关注变量选择的预期泛化误差之类的概念。在其他可能考虑使用p- 记录的价值β1不是 0,我会说报告一个估计值几乎总是一个更好的主意β1而是一个置信区间。

简单地使用显着性检验和逐步过程来执行模型选择可以让您相信您有一个非常强大的模型,具有重要的预测变量,而实际上您并没有;您可能会偶然获得强相关性,并且当您删除其他不必要的预测变量时,这些相关性似乎会得到增强。

当然,选择过程只保留那些与结果相关性最强的变量,并且随着逐步过程的推进,犯第一类错误的概率变得比你想象的要大。这是因为没有调整标准误差(以及因此的 p 值)以考虑变量不是随机选择包含在模型中的事实,并且进行了多个假设检验来选择该集合。

David Freedman 有一篇可爱的论文,他在其中演示了这些点,名为“ A Note on Screening Regression Equations ”。摘要:

考虑在实体理论薄弱的情况下开发回归模型。为了关注一个极端情况,假设事实上因变量和解释变量之间没有关系。即便如此,如果有很多解释变量,R2会很高。如果删除t统计量较小的解释变量 并重新拟合方程,则R2将保持高位,整体F将变得非常重要。这通过模拟和渐近计算得到证明。

正如您所提到的,这个问题的一个潜在解决方案是使用交叉验证的变体。当我没有良好的经济(我的研究领域)或统计理由来相信我的模型时,这是我选择合适模型和执行推理的首选方法。

其他受访者可能会提到使用 AIC 或 BIC 的逐步过程渐近等效于交叉验证。然而,这只适用于相对于预测变量数量的观察数量变大。在相对于观察数量有许多变量的情况下(弗里德曼说每 10 个或更少的观察有 1 个变量),以这种方式选择可能会表现出上面讨论的不良特性。

在功能强大的计算机时代,我认为没有任何理由不使用交叉验证作为模型选择过程而不是逐步选择。