是否有一个反例来说明丢弃“无关紧要”的预测变量通常不会损害模型?

机器算法验证 统计学意义 p 值 特征选择 模型
2022-03-17 13:08:08

我从这个站点(请参阅此处的问题)和 Frank Harrell 的回归建模策略中了解到,一般来说,不应该删除变量,因为它们微不足道。我将这种智慧传递给另一个模型,他声称除非存在显着的多重共线性,否则删除无关紧要的变量几乎不会影响 RMSE 或模型的性能,尤其是当人们有很多观察时。

我提出我不认为可以只查看所有 p 值并丢弃高值,因为会遇到多重比较时遇到的 p 值问题。但是我很难想出一个具体的例子,丢弃“微不足道的预测因子”会导致灾难。有很好的反例吗?

1个回答

我认为您的问题总共有四个答案:

1) 删除不显着的预测变量会增加均方根误差吗?是的,几乎总是,以同样的方式和同样的原因,它总是会增加 R 平方:一个模型只会使用一个预测器来改进它的预测(或者,更确切地说,它的追溯,我将回到不久)。如果具有因变量的预测变量的回归系数恰好为零,到无限小数位,那么包括它对错误没有影响,并且丢弃它也不会,但这与抛硬币并拥有它一样现实降落在它的边缘。所以一般来说,当你删除一个预测器时,误差总是会增加。

2)即使你放弃的预测因子微不足道,它是否能增加到某种实质性的意义?是的,尽管下降总是比你放弃一个重要的预测指标要少。作为说明/证明,这里有一些 R 代码将(在某种程度上)快速生成变量,其中一个预测变量显着而另一个不显着,使用相同的因变量,但无关紧要的变量的 RMSE 只比无关紧要的差一个可以说是微不足道的程度(增加不到半个百分点)。

# Package that has the rmse function
require(hydroGOF)
# Predefine some placeholders
pvalx1 <- 0 
rmsex1 <- 0 
pvalx2 <- 0 
rmsex2 <- 1
# Redraw these three variables (x1, x2, and y) until x1 is significant as a predictor of y 
#and x2 is not, but x2's RMSE is less than 0.5% higher
while(pvalx1 > 0.05 | pvalx2 < 0.05 | rmsex2/rmsex1 > 1.005) {
  y <<- runif(100, 0, 100)
  x1 <<- y + rnorm(100, sd=300)
x2 <<- y + rnorm(100, sd=500)
pvalx1 <- summary(lm(y ~ x1))$coefficients[2,4]  # P-value for x1
pvalx2 <- summary(lm(y ~ x2))$coefficients[2,4]  # P-value for x2
rmsex1 <<- rmse(predict(lm(y ~ x1)), y)
rmsex2 <<- rmse(predict(lm(y ~ x2)), y)
}
# Output the results
summary(lm(y ~ x1))
summary(lm(y ~ x2))
print(rmsex1, digits=10); print(rmsex2, digits=10)

您可以将 1.005 更改为 1.001 并最终生成一个示例,其中 RMSE 比非显着预测变量高出不到百分之一。当然,这主要是因为“显着性”是使用某个任意 P 值切点定义的,因此 RMSE 的差异通常很小,因为这两个变量几乎相同,并且几乎不位于 0.05 显着性阈值的不同侧.

这让我想到了一个重要的观点,即多重共线性与删除预测变量对整体预测误差/模型质量的影响之间的关系:这种关系是相反的,而不是你暗示的直接关系。也就是说,当存在高度多重共线性时,删除任何变量对预测误差的影响较小,因为与删除的变量高度相关的其他预测变量将填补空缺,就像以前一样,并且很高兴地相信他们现在拥有的额外预测能力,无论它们是 DV 的因果因素,还是仅仅作为未测量和/或包括的实际因果因素的测量值。误差仍然会增加,但如果丢弃的预测变量与剩余的一个或多个预测变量密切相关,那么很多,甚至大部分,由于一个或多个剩余预测器现在将表现出的预测能力的增加,将防止否则会发生的误差增加。我认为,这一切都通过对包括百龄坛图(基本上是维恩图)的多元变量的介绍而变得最清楚,例如麦克伦登的精彩书中的那个:https://books.google.com/books/about/Multiple_Regression_and_Causal_Analysis.html?id=kSgFAAAACAAJ

3)如果我们只关心预测而不关心因果推理,这有什么关系吗?是的,如果只是因为它总是完全有可能 - 特别是如果你有很多时间在你手上 - 建立一个惊人地追溯但预测并不比机会更好的模型。考虑一种我们都喜欢谈论的流行的虚假相关性:在此处输入图像描述

当然,在因果推理方面,您可以在某种程度上挥手示意,并说您不在乎为什么可以仅使用美国小姐的年龄来预测与高温有关的谋杀案,只要您可以-但问题是,你不能,可以吗?您只能追溯它,即根据当年美国小姐的年龄准确猜测过去一年中与高温有关的谋杀率是多少。除非有某种深不可测的因果链产生了这种相关性,并且这将在未来继续推动它,那么这种强大的观察到的相关性对你来说毫无用处,“即使”你“只”关心预测。因此,即使您的 RMSE(或其他拟合优度度量)非常出色和/或通过某些预测器变得更好,您至少需要一般的因果推理理论,即存在一些持续的过程将观察到的相关性驱动到未来以及整个观察到的过去。

4) 删除一个不重要的预测变量是否会导致错误的因果推断和/或关于推动成功预测模型的因素的错误推断?是的,绝对 - 事实上,多元模型中预测变量系数的显着性水平根本无法告诉您丢弃该预测变量会对其他预测变量的系数和显着性水平产生什么影响。无论给定的预测变量是否显着,从多元回归中删除它可能会或可能不会使任何其他预测变量在之前不显着,或者在它们之前显着时变得不显着。是一个随机生成情况的 R 示例,其中一个变量x1(yx2x2作为 的独立预测因子不显着y

# Predefine placeholders
brpvalx1 <- 0 # This will be the p-value for x1 in a bivariate regression of y
mrpvalx1 <- 0 # This will be the p-value for x1 in a multivariate regression
# of y alongside x2
mrpvalx2 <- 0 # This will be the x2's p-value in the multivariate model
# Redraw all the variables until x1 does correlate with y, and this can 
# only be seen when we control for x2,
# even though x2 is not significant in the multivariate model
while(brpvalx1 < 0.05 | mrpvalx1 > 0.05 | mrpvalx2 < 0.05) {
  x1 <- runif(1000, 0, 100)
  y <- x1 + rnorm(1000, sd=500)
  x2 <- x1 + rnorm(1000, sd=500)
  brpvalx1 <- summary(lm(y ~ x1))$coefficients[2,4]
  mrpvalx1 <- summary(lm(y ~ x1 + x2))$coefficients[2,4]
  mrpvalx2 <- summary(lm(y ~ x1 + x2))$coefficients[3,4]
}
# Output the results
summary(lm(y ~ x1 + x2))
summary(lm(y ~ x1))

多元模型中任何系数的显着性水平,包括您正在考虑删除的预测变量,告诉您该变量与 DV 的相关性不是与 DV 的相关性,而是与 DV 的剩余部分 - 或者更确切地说,它的方差 - 毕竟其他预测者可以解释 DV 及其方差。从这个意义上说,一个变量x2很容易与 DV 没有独立相关性,当存在其他更好的预测变量时,但与 DV 和其他预测变量具有非常强的双变量相关性,在这种情况下x2,将 包含在模型中可以极大地改变了其他预测变量似乎与 DV 的剩余部分及其之后的方差之间的相关性x2已经解释了它在双变量回归中的作用。就 ballantine 图而言,x2可以有很大的重叠,y但大部分或全部重叠可以在 和 的重叠内x1,而在y之间的其他大部分重叠仍然在的重叠之外。这种口头描述可能不清楚,但我无法在网上找到 McClendon 所拥有的那种真正合适的图表。x1yx2

我认为这里的棘手之处在于这种情况下,为了包含一些额外的预测变量来改变其他预测变量的系数和显着性水平的结果,新的预测变量必须与因变量及其影响的预测变量相关。但这些都是双变量关系,其他一切都可以改变,除非您包含交互项,否则单个多变量模型不会告诉您任何信息。尽管如此,所有这些都指的是评估单个系数和测试它们的非零性的因果推理动态——如果你只关心整体的拟合优度,那么这个故事相对简单,因为排除了给定的系数变量会降低拟合优度,但当且仅当变量不是与任何其他预测变量密切相关,并且与因变量始终相关(低 p 值)和显着相关(大系数)。然而,这并不意味着删除一个重要的预测变量总是比删除一个不重要的预测变量增加更大的误差——一个几乎不重要的变量,尤其是一个系数小的变量,也可能无关紧要。