为什么执行逐步选择后 p 值会产生误导?

机器算法验证 多重回归 预测模型 数据挖掘 逐步回归
2022-02-03 05:08:37

例如,让我们考虑一个线性回归模型。我听说,在数据挖掘中,在基于 AIC 标准执行逐步选择之后,查看 p 值来检验每个真实回归系数为零的零假设是一种误导。我听说应该将模型中剩余的所有变量视为具有不同于零的真实回归系数。谁能解释我为什么?谢谢你。

2个回答

在基于 AIC 标准执行逐步选择之后,查看 p 值以检验每个真实回归系数为零的原假设会产生误导。

事实上,当原假设为真时,p 值表示看到一个检验统计量至少与你所拥有的一样极端的概率。如果H0为真,p 值应具有均匀分布。

但是在逐步选择之后(或者实际上,在模型选择的各种其他方法之后),保留在模型中的那些项的 p 值不具有该属性,即使我们知道原假设为真。

发生这种情况是因为我们选择了具有或倾向于具有较小 p 值的变量(取决于我们使用的精确标准)。这意味着模型中剩余变量的 p 值通常比我们拟合单个模型时要小得多。请注意,如果模型类别包括真实模型,或者模型类别足够灵活以接近真实模型,则选择平均会选择似乎比真实模型更好的模型。

[此外,出于基本相同的原因,剩余的系数偏离零,其标准误差偏低;这反过来也会影响置信区间和预测——例如,我们的预测会太窄。]

要查看这些影响,我们可以采用多元回归,其中一些系数为 0,而另一些则不是,执行逐步过程,然后对于那些包含系数为零的变量的模型,查看结果的 p 值。

(在同一个模拟中,您可以查看系数的估计值和标准差,并发现对应于非零系数的那些也会受到影响。)

简而言之,将通常的 p 值视为有意义是不合适的。

我听说应该将模型中留下的所有变量视为重要变量。

至于逐步之后模型中的所有值是否都应该被“视为重要”,我不确定这在多大程度上是一种有用的看待它的方式。那么“意义”是什么意思呢?


stepAIC这是在n=100 的 1000 个模拟样本和 10 个候选变量(均与响应无关)上使用默认设置运行 R 的结果。在每种情况下,都会计算模型中剩余的项数:

在此处输入图像描述

只有 15.5% 的时间选择了正确的模型;其余时间,该模型包含与零相同的项。如果候选变量集中确实有可能存在零系数变量,那么我们的模型中很可能有几个项的真实系数为零。因此,不清楚将它们全部视为非零是个好主意。

一个类比可能会有所帮助。当候选变量是表示互斥类别(如在 ANOVA 中)的指示(虚拟)变量时,逐步回归正好对应于通过找出哪些组的差异最小来选择要组合的组t-测试。如果对原始 ANOVA 进行了测试Fp1,np1但最终崩溃的组是针对Fq1,nq1在哪里q<p结果统计没有F分布和误报概率将失控。