我熟悉使用多元线性回归来创建各种变量的模型。但是,我很好奇回归测试是否曾经用于进行任何类型的基本假设测试。如果是这样,这些场景/假设会是什么样子?
用于假设检验的多元线性回归
这是一个简单的例子。我不知道你是否熟悉 R,但希望代码足够不言自明。
set.seed(9) # this makes the example reproducible
N = 36
# the following generates 3 variables:
x1 = rep(seq(from=11, to=13), each=12)
x2 = rep(rep(seq(from=90, to=150, by=20), each=3 ), times=3)
x3 = rep(seq(from=6, to=18, by=6 ), times=12)
cbind(x1, x2, x3)[1:7,] # 1st 7 cases, just to see the pattern
x1 x2 x3
[1,] 11 90 6
[2,] 11 90 12
[3,] 11 90 18
[4,] 11 110 6
[5,] 11 110 12
[6,] 11 110 18
[7,] 11 130 6
# the following is the true data generating process, note that y is a function of
# x1 & x2, but not x3, note also that x1 is designed above w/ a restricted range,
# & that x2 tends to have less influence on the response variable than x1:
y = 15 + 2*x1 + .2*x2 + rnorm(N, mean=0, sd=10)
reg.Model = lm(y~x1+x2+x3) # fits a regression model to these data
现在,让我们看看它是什么样子的:
. . .
Coefficients:
Estimate Std. Error t value Pr(>|t|)
(Intercept) -1.76232 27.18170 -0.065 0.94871
x1 3.11683 2.09795 1.486 0.14716
x2 0.21214 0.07661 2.769 0.00927 **
x3 0.17748 0.34966 0.508 0.61524
---
Signif. codes: 0 ‘***’ 0.001 ‘**’ 0.01 ‘*’ 0.05 ‘.’ 0.1 ‘ ’ 1
. . .
F-statistic: 3.378 on 3 and 32 DF, p-value: 0.03016
我们可以专注于输出的“系数”部分。模型估计的每个参数都有自己的行。实际估计本身列在第一列中。第二列列出了估计的标准误差,也就是说,如果我们一遍又一遍地重复这个过程,估计有多少估计会在样本之间“反弹”。更具体地说,它是估计的抽样分布的标准差的估计。如果我们将每个参数估计除以其 SE,我们会得到一个t-score,它列在第三列中;这用于假设检验,特别是检验参数估计值是否“显着”不同于 0。最后一列是与该 t 分数相关的p 值。如果原假设为真,它是找到远离或远离 0的估计值的概率。请注意,如果原假设不成立,则不清楚该值是否告诉我们任何有意义的事情。
如果我们在系数表和上面的真实数据生成过程之间来回查看,我们可以看到一些有趣的事情。截距估计为 -1.8,其 SE 为 27,而真实值为 15。由于相关的 p 值为 0.95,因此不会将其视为与 0(II 型错误)“显着不同”,但它仍然在真实值的 1 个 SE 范围内。因此,从真实价值和它应该波动的数量的角度来看,这个估计并没有什么极端的;我们只是没有足够的能力将它与 0 区分开来。同样的故事,或多或少成立,因为x1
. 数据分析师通常会说它甚至没有“边际显着性”,因为它的 p 值 >.10,但是,这是另一个 II 类错误。的估计x2
是相当准确的,并且 p 值“非常显着”,这是一个正确的决定。 x3
也无法与 0 区分开,p=.62,另一个正确的决定(x3 没有出现在上面的真实数据生成过程中)。有趣的是,p 值大于x1
,但小于截距,两者都是 II 型错误。最后,如果我们查看系数表下方,我们会看到模型的F 值,这是一个同时测试。此测试检查模型作为一个整体是否比单独的机会更好地预测响应变量。另一种说法是,是否所有估计值应该被认为无法与 0 区分开来。该检验的结果表明,至少有一些参数估计值不等于 0,这是正确的决定。由于上面有 4 个测试,如果没有这个,我们将无法避免多重比较问题。(请记住,因为 p 值是随机变量——如果重新运行实验,是否有显着性会因实验而异——这些可能会相互不一致。这将在此处的 CV:多元回归中系数的重要性:显着 t 检验与非显着 F 统计量,以及此处相反的情况:回归如何显着但所有预测变量都不显着, & 这里:回归中的 F 和 t 统计量。)也许奇怪的是,这个例子中没有I 类错误。无论如何,本段中讨论的所有 5 个检验都是假设检验。
从您的评论中,我猜您可能还想知道如何确定一个解释变量是否比另一个更重要。这是一个非常常见的问题,但非常棘手。想象一下,想根据运动员的身高和体重来预测一项运动的成功潜力,并想知道哪个更重要。一个常见的策略是查看哪个估计系数更大。但是,这些估计值特定于所使用的单位:例如,重量系数将根据使用的是磅还是千克而变化。此外,还不清楚如何等同/比较磅和英寸,或公斤和厘米。人们采用的一种策略是标准化(即,变成 z 分数)他们的数据首先。然后这些维度是通用单位(即标准差),并且系数类似于r-scores。此外,可以测试一个 r-score 是否大于另一个。不幸的是,这并不能让你走出困境。除非真实的 r 正好为 0,否则估计的 r 在很大程度上取决于所使用的协变量值的范围。(我不知道识别起来有多容易,但@whuber 在这里的出色回答:是有用或危险,说明了这一点;看它,想想怎么看.) 因此,最好的说法是,一个解释变量在指定范围内的变异性对于确定响应水平比另一个解释变量在另一个指定范围内的变异性更重要。
回归模型中的基本测试是 Full-Reduced 测试。这是您比较 2 个回归模型的地方,完整模型包含所有项,缩减测试包含这些项的子集(缩减模型需要嵌套在完整模型中)。然后,该检验检验简化模型与完整模型一样拟合的零假设,并且任何差异都是由于偶然性造成的。
统计软件的常见打印输出包括整体 F 检验,这只是完全缩减检验,其中缩减检验是仅截距模型。他们还经常为每个单独的预测变量打印一个 p 值,这只是一系列完全缩减的模型测试,在每一个缩减模型中都不包括该特定项。有很多方法可以使用这些测试来回答感兴趣的问题。事实上,在介绍性统计课程中教授的几乎所有测试都可以使用回归模型和完全简化测试来计算,并且在许多情况下结果将是相同的,而在其他少数情况下则非常接近。