为什么这些回归方差分析表相同?


11

我有两个相同Y的回归和三个级别的X。总体n = 15,X的每个组或级别中的n = 5。第一个回归将X视为分类,将指标变量分配给级别2和3一个作为参考。指示器/虚拟对象如下:如果级别= 2,则X1 = 1;否则,则为0;如果级别= 3,则X2 = 1;否则,则为0。

结果,我的拟合模型看起来像这样:y = b0 + b1(x1)+ b2(x2)

我运行回归,并且输出包括此方差分析表:

表

其余输出与此处无关。

好吧,现在我对相同的数据进行不同的回归。我放弃分类分析并将X视为连续的,但是我向方程式中添加了一个变量:X ^ 2,即X的平方。因此,现在我具有以下模型:y = b0 + b1(X)+ b2(X) ^ 2

如果我运行它,它将吐出与我上面显示的完全相同的方差分析表。为什么这两个回归会产生相同的表?

[这个小难题的贷方是加利福尼亚大学洛杉矶分校生物统计学系的托马斯·贝林。


我认为您将必须向我们展示“进行回归”的代码,以及可能用于创建操作所依据的数据表的数据步骤(对我来说就像SAS输出)。
Brad S.

1
@Brad我认为这不是必需的:已经清楚描述了这种情况,不需要更多信息来解释发生了什么。
ub

@whuber也许。我想,如果您这么说,对我来说就像是编程错误。我期待着你的答案。
布拉德·

1
@Brad不是编程错误:我发表了解释。具有真正的统计兴趣(和适用性),这是一个好问题。
ub

嘿,布拉德,这实际上是从一个问题集中得出的-情况是按照给我的一样的方式给我的,而问题也以相同的方式提出:“为什么他们会相同?”。这就是我的布局方式:两个模型,相同的ANOVA表,其余的输出甚至都没有给出(我应该清楚地说出来,而不要说“无关紧要”)。
logjammin

Answers:


22

以矩阵形式,您的模型采用通常的形式。 E[Y]=Xβ

第一个模型表示由行的第一组的元件在,对应于截距,2类的指示器,并且指示器为类别3它表示由所述第二组的元件行和的第三组元素。(1,0,0)X(1,1,0)(1,0,1)

第二个模型改为使用,和。(1,1,12)=(1,1,1)(1,2,22)=(1,2,4)(1,3,32)=(1,3,9)

我们将生成的模型矩阵称为和。它们是简单相关的:一个的列是另一个的列的线性组合。例如,让X1X2

V=(111013028).

然后因为

(100110101)V=(111124139),

它遵循

X1V=X2.

因此,模型本身与

X1β1=E[Y]=X2β2=(X1V)β2=X1(Vβ2).

也就是说,第二个模型的系数必须与第一个模型的系数β2

β1=Vβ2.

因此,它们的最小二乘估计值也具有相同的关系。这表明模型具有相同的拟合度:它们只是以不同的方式表达它们。

由于两个模型矩阵的第一列相同,因此分解第一列和其余列之间的方差的任何ANOVA表都不会更改。但是,区分第二列和第三列的ANOVA表将取决于数据的编码方式。

在几何上(并且更抽象一些),列生成的的三维子空间与列生成的子空间一致。因此,模型将具有相同的拟合度。仅因为用两个不同的基数描述了空格,所以拟合的表达方式有所不同。 X 1 X 2R15X1X2


为了说明这一点,这里有与您一样的数据(但响应不同)和中生成的相应分析R

set.seed(17)
D <- data.frame(group=rep(1:3, each=5), y=rnorm(3*5, rep(1:3, each=5), sd=2))

适合两个模型:

fit.1 <- lm(y ~ factor(group), D)
fit.2 <- lm(y ~ group + I(group^2), D)

显示其方差分析表:

anova(fit.1)
anova(fit.2)

第一个模型的输出是

              Df Sum Sq Mean Sq F value   Pr(>F)    
factor(group)  2 51.836  25.918  14.471 0.000634 ***
Residuals     12 21.492   1.791 

对于第二个模型是

           Df Sum Sq Mean Sq F value    Pr(>F)    
group       1 50.816  50.816 28.3726 0.0001803 ***
I(group^2)  1  1.020   1.020  0.5694 0.4650488    
Residuals  12 21.492   1.791  

您可以看到平方的残差总和是相同的。通过在第二个模型中添加前两行,您将获得相同的DF和平方和,由此可以计算出相同的均方根,F值和p值。

最后,让我们比较系数估计。

beta.1.hat <- coef(fit.1)
beta.2.hat <- coef(fit.2)

输出是

(Intercept) factor(group)2 factor(group)3 
  0.4508762      2.8073697      4.5084944 

(Intercept)       group  I(group^2) 
 -3.4627385   4.4667371  -0.5531225 

甚至截距也完全不同。 那是因为多元回归中任何变量的估计都取决于所有其他变量的估计(除非它们都相互正交,这两个模型都不是这种情况)。但是,请看乘法完成了什么:V

(111013028)(3.46273854.46673710.5531225)=(0.45087622.80736974.5084944).

配合确实与要求的一样。


6
天哪,老兄。从互联网上提问,我再也没有得到更多考虑,彻底的回答。谢谢你x1000,认真。
logjammin

欢迎来到我们的网站!希望您继续使用它,并期待您的贡献。
whuber

1
我今天学到了一些东西!(建议)
Brad S.

惊人的答案。快炸死!
kedarps

5

简而言之,这两个模型都处于饱和状态,因为它们为X的所有三个级别提供了唯一的经验响应预测。对于模型1中的因子变量编码而言,这可能是显而易见的。对于二次趋势,有趣的是,二次公式可以插值任意3点。尽管对比度不同,但是在这两个模型中,针对仅拦截模型为零的全局测试都提供了相同的推论。

By using our site, you acknowledge that you have read and understand our Cookie Policy and Privacy Policy.
Licensed under cc by-sa 3.0 with attribution required.