线性回归 - 如果非常小,模型是否“无用”?R2R2

机器算法验证 回归 多重回归 回归策略 线性的
2022-03-16 04:55:19

给定一个取决于许多潜在因素的复杂输出,我得到 3 个解释变量和大约 10K 数据点以及评估它们对输出的影响的任务。

OLS 模型非常弱 - 它的约为 0.7%。与正常值存在明显偏差,库克图显示了许多异常值。然而,解释变量的系数估计值显示为非常显着(95% 置信度)。R2

编辑:根据一些有用的评论,我将问题进一步归结为:

,系数的 t 检验是否足以保证模型的结果是可信的(即不是虚假的)R2

我认为该模型不是有用的,不是它显示出良好的拟合度,或者它具有良好的预测能力,而是如果我们要在实验环境中测试因变量和自变量之间的关系,平均而言,增加自变量会显示对因变量的影响与模型估计的相同。

作为旁注,为了处理非正态性和异常值,我进行了稳健回归,并使用非参数引导程序计算了系数分布,引导程序样本量选择为总样本量的 80%。估计的系数非常相似。

4个回答

尽管通常不是很有帮助,但模型的价值还必须通过 (1) 任务的难度和 (2) 是否希望学习趋势与预测个体受试者的反应来判断. 一些任务,例如预测患者的生存天数非常困难,低不仅是常态,而且与仍然非常有用的模型相关联。关于趋势,其中治疗 B 比治疗 A 与更好的患者反应相关的临床试验可能只有一小部分的变化可以通过治疗和已知协变量来解释,但趋势表明将治疗 B 提供给新患者更好,所有其他条件都相同。R2<0.01R2Y

请注意,在绝大多数情况下,引导程序使用大小为 N 的样本运行,并从大小为样本中替换而不是传统的稳健回归和自举,我会推荐基于累积概率的序数响应模型系列之一(例如,比例优势模型)。NN

低的统计模型持负面态度,但我想提出两点:1)“低”是一个相对术语- 一个较低的模型可能更好(具有更好的解释力简约性)并且比具有更高值的其他人更有用(更好地反映现实)。话虽如此,值为 0.7% 的模型很可能没有太多用处。R2 R2 R2R2

在遇到具有低的统计模型时,建议使用以下部分或全部方法http://people.duke.edu/~rnau/rsquared.htm):R2

  • 先验地定义模型的变量 (实验设计或明确的假设);
  • 如果可能的话,另外清理数据异常值不一致不明确的数据);
  • 确保估计值(至少共同)显着(如果需要和可能,增加样本量,特别是在相关性较弱的情况下);
  • 执行交叉验证样本外测试,如上面的一些评论中所述)。

注意:就在发布此答案之前,我发现您重新提出了您的问题。尽管如此,我还是决定发布它,希望它可能对您或其他人有用。

如果您的模型被正确指定并且您的推理方法的适当条件得到满足(如果您想使用t检验,则为 egiid 高斯错误),那么您应该能够达到您的标称类型 I 错误率,无论n和无论的(虽然作为一个单独的问题,大样本量会通过增加功效来降低您的 Type II 错误率,因此降低您的显着性水平以降低您的 Type I 错误率可能是值得的;增加 Type 的成本II 错误率可能是值得付出的,现在你有更多的权力玩。如果你这样做,你的pR2α-value 可能不再那么令人印象深刻了!)

换句话说:没有必要仅仅因为低就对显着结果产生更多怀疑,并且仅仅因为样本量大而“任何变量”都会显着是不正确的。如果变量在考虑其他变量后实际上并没有影响您的响应变量,那么如果我们将 5% 的水平视为显着,那么即使您的样本量,该变量也只有 5% 的机会(错误地)被认为是显着的数以万亿计但请记住,这取决于我之前提到的条件。此外,一个变量与因变量的关系非常弱(真实斜率R2β接近但不完全为零)在大样本中更有可能被检测为具有统计显着性,因为功率增加了。这就是“统计意义”和“实际意义”之间的区别很重要的地方。查看斜率的置信区间,您可能会发现变量对预测的影响可以忽略不计,即使它位于置信区间距离零最远的一侧。这是大样本量的特征,而不是错误 - 样本量越大,您就越了解变量之间的关系,甚至是难以检测的弱关系。

另一方面,具有高并不意味着您可以安全地检测到导致样本外性能不佳的虚假关系。无论您的是高还是低,诸如遗漏变量偏差之类的情况都会发生:如果您错误指定了模型,并且模型中包含的变量之一与遗漏变量相关(您甚至可能不已经测量),那么它的系数估计就会有偏差。它可能对你的因变量没有影响(真正的R2R2β是零),但您可能会发现它看起来与零有很大不同。如果它与遗漏变量的相关性非常弱,那么除非您的样本量很大,否则这种虚假显着性不太可能发生。但这不是更喜欢较小样本量的理由,在低的情况下没有什么特别值得担心的。通过模拟进行快速演示,很高,您也可以找到虚假关系R2RR2

require(MASS) # for multivariate normal simulation
set.seed(123)
n <- 10000
X <- mvrnorm(n=n, mu=c(10, 10), Sigma=matrix(c(1,0.9,0.9,1), nrow=2))
xomitted <- X[,1]
xspurious <- X[,2] # correlated with xomitted, rho=0.9
y <- 3*xomitted + rnorm(n=n, mean=0, sd=1) # true model with noise sd=1
ovb.lm <- lm(y ~ xspurious)
summary(ovb.lm) # xspurious should have coefficient 0 but is highly sig

xomitted即使真实斜率为零,回归的输出也显示出显着的系数。并不能保证非虚假关系。R2

Coefficients:
            Estimate Std. Error t value Pr(>|t|)    
(Intercept)  2.90353    0.16600   17.49   <2e-16 ***
xspurious    2.71003    0.01652  164.00   <2e-16 ***
---
Signif. codes:  0 ‘***’ 0.001 ‘**’ 0.01 ‘*’ 0.05 ‘.’ 0.1 ‘ ’ 1 

Residual standard error: 1.653 on 9998 degrees of freedom
Multiple R-squared: 0.729,      Adjusted R-squared: 0.729 
F-statistic: 2.689e+04 on 1 and 9998 DF,  p-value: < 2.2e-16

如果您正在处理所有相关变量都被测量或控制的实验情况,并且您可能对模型的结构有明确的理论基础,那么这可能会在某种程度上消失。在实验中,我们可以将未测量的变量保持不变,或将它们随机化(例如临床试验中的分配)——这将消除忽略变量和观察变量之间的相关性。这个问题在观测数据中可能更加尖锐,在这些数据中,我们可以测量的事物和(可能更重要的)不可观察的事物之间可能存在纠缠不清的相关性,而在社会科学等领域,可能无法证明特定的模型规范是合理的先验的从理论(特别是变量应该出现的幂)。

最后,关于您的模型是否“无用”的更一般的陈述。显然,如果低于 1%,您将无法获得良好的预测性能。但是,如果我们正在建模一个嘈杂的过程,或者一个有很多因素但我们可以测量的因素很少,那么好的预测性能就太令人期待了。知道两个变量不是R2特别相关 - 通常我们希望回归系数的 95% 置信区间非常窄(表明斜率的不确定性较小,为此我们需要大样本量),如果恰好接近零,那么我们已经了解了一个有用的事实,即我们不希望对该变量的更改对我们的响应变量产生太大影响。但是,如果响应变量对我们很重要(弗兰克哈雷尔的医学例子是一个很好的例子,另一个可能是运动中的“边际收益”理论),那么即使是弱影响它的方法也可能对我们很重要。如果您主要关心的是样本外性能,那么您可能应该密切关注模型规范。

如果模型可以让您更好地了解您的数据/理论正在发生的事情以及它是否被正确计算,那么它是有用的。在某些情况下,当标准变量由大量原因决定时,要获得高是非常困难的。R2