我认为这种方法是错误的,但如果我解释原因可能会更有帮助。在给定大量变量的一些信息的情况下,想知道最好的模型是可以理解的。此外,这是一种人们似乎经常发现自己的情况。此外,许多关于回归的教科书(和课程)都包含逐步选择方法,这意味着它们必须是合法的。然而不幸的是,它们并非如此,而且这种情况和目标的配对很难成功导航。以下是自动逐步模型选择过程的问题列表(归属于 Frank Harrell,并从此处复制):
- 它产生的 R 平方值严重偏高。
- 打印输出中每个变量旁边引用的 F 和卡方检验没有声称的分布。
- 该方法产生了错误狭窄的效果和预测值的置信区间;参见奥特曼和安徒生 (1989)。
- 它产生的 p 值没有正确的含义,对它们进行正确的校正是一个难题。
- 它给出了需要收缩的有偏回归系数(剩余变量的系数太大;参见 Tibshirani [1996])。
- 在存在共线性的情况下存在严重问题。
- 它基于旨在用于检验预先指定的假设的方法(例如,嵌套模型的 F 检验)。
- 增加样本量并没有太大帮助;参见 Derksen 和 Keselman (1992)。
- 它让我们不去思考问题。
- 它使用大量纸张。
问题是,这些程序有什么不好/为什么会出现这些问题?大多数上过基本回归课程的人都熟悉回归均值的概念,所以我用它来解释这些问题。(虽然一开始这似乎离题,请耐心等待,我保证它是相关的。)
想象一下选拔赛第一天的高中田径教练。三十个孩子出现了。这些孩子有一定程度的内在能力,教练和其他任何人都无法直接接触到这些能力。结果,教练做了他唯一能做的事情,那就是让他们都跑100m冲刺。时间大概是他们内在能力的衡量标准,因此被认为是这样的。但是,它们是概率性的;一个人的表现有一部分是基于他们的实际能力,而一部分是随机的。想象一下真实情况如下:
set.seed(59)
intrinsic_ability = runif(30, min=9, max=10)
time = 31 - 2*intrinsic_ability + rnorm(30, mean=0, sd=.5)
下图显示了第一场比赛的结果以及教练对孩子们的评价。
请注意,按比赛时间划分孩子会导致他们的内在能力重叠——这一事实至关重要。在表扬了一些人,并对一些人大喊大叫(就像教练经常做的那样)之后,他让他们再次跑步。以下是第二场比赛的结果以及教练的反应(根据上面的同一模型模拟):
请注意,他们的内在能力是相同的,但时间相对于第一场比赛有所反弹。从教练的角度来看,他大喊大叫的人往往会有所改善,而他称赞的人往往会变得更糟(我根据维基页面上列出的卡尼曼引文改编了这个具体的例子),尽管实际上回归均值是一个简单的数学教练根据部分随机的测量结果为球队选择运动员这一事实的结果。
现在,这与自动(例如,逐步)模型选择技术有什么关系?基于同一数据集开发和确认模型有时称为数据挖掘. 尽管变量之间存在一些潜在的关系,并且预计更强的关系会产生更高的分数(例如,更高的 t 统计量),但这些都是随机变量,实现的值包含错误。因此,当您根据具有更高(或更低)的已实现值来选择变量时,它们可能是因为它们的潜在真实值、错误或两者兼而有之。如果你以这种方式前进,你会像第二场比赛后的教练一样感到惊讶。无论您是根据高 t 统计量还是低相关性来选择变量,这都是正确的。的确,使用 AIC 比使用 p 值更好,因为它会降低模型的复杂性,但 AIC 本身就是一个随机变量(如果您多次运行研究并拟合相同的模型,AIC 会像其他一切)。很遗憾,
我希望这是有帮助的。