R中的多元回归:协变量对因子的影响还是相反?

Multiple Regression in R: effect of covariable on factor or the contrary?

我知道对于有统计学背景的人来说,这可能是一个非常简单的问题。然而,我找不到适合我(不是这样)特殊情况的明确答案:(

我有一个回归模型,其中包含两个分类预测变量(A,有两个级别 A1 和 A2,B,有两个级别 B1 和 B2),以及一个数值预测变量 Z。

我对Z和B的交互很感兴趣,特别是A的一个级别(A1,我的参考级别)。

因此,我安装了以下模型:

lm(Y ~ A/B*Z, data=df)

这个 returns 我以下:

Fixed effects:
              Estimate Std. Error         df t value Pr(>|t|)    
(Intercept)   -0.80420    0.02185 3160.00000 -36.811  < 2e-16 ***
A2             1.55943    0.02968 3160.00000  52.541  < 2e-16 ***
Z              0.07688    0.02561 3160.00000   3.002 0.002706 ** 
A1:B2          0.12481    0.03413 3160.00000   3.657 0.000259 ***
A2:B2         -0.09231    0.03500 3160.00000  -2.637 0.008397 ** 
A2:Z           0.05906    0.03072 3160.00000   1.923 0.054590 .  
A1:B2:Z       -0.06872    0.03959 3160.00000  -1.736 0.042668 *  
A2:B2:Z        0.01222    0.03385 3160.00000   0.361 0.718208    

我认为对我来说特别感兴趣的 3 行是:

Z              0.07688    0.02561 3160.00000   3.002 0.002706 ** 
A1:B2          0.12481    0.03413 3160.00000   3.657 0.000259 ***
A1:B2:Z       -0.06872    0.03959 3160.00000  -1.736 0.042668 *  

据我了解,第一行代表我的结果 Y 和线性预测变量 Z 之间的线性关系,在我的参考水平 A1B1 中(并且这不是 "main effect" )。因此,我们可以说这两者之间存在正线性关系。

此外,从 A1B1 到 A1B2(第二行)会导致 Y 显着增加。

第三行明确了我的问题。是不是说:

  1. Z每增加一次,效果"B2"(第二行) 减少(大约 0.12-0.06=0.6)?
  2. 或者说B2里面Z(第一行)的效果是 明显更小(大约 0.07-0.06=0.1)?

更让我困惑的是,如果我交换公式中的那些变量,结果是相同的:

lm(Y ~ A/Z*B, data=df)

Fixed effects:
              Estimate Std. Error         df t value Pr(>|t|)    
...
B2             0.12481    0.03413 3160.00000   3.657 0.000259 ***
A1:Z           0.07688    0.02561 3160.00000   3.002 0.002706 ** 
...
A1:Z:B2       -0.06872    0.03959 3160.00000  -1.736 0.082668 .  
...

实际上,如果我很好地理解你的问题,你应该将结果的行 A1:B2:Z 解释为:当 A==A1B==B1 时,则增加 Z 的 1 使 Y 减少 0.06872.

重要的是要了解这种减少是添加到 Z 单独的效果 (0.07688) 中的。在这种情况下,交互 A2:Z (-0.09231) 并不重要,因为 A!=A1。由于相互作用,Z 的效果根据我的变量 AB.

的值而变化

你这里有一个这样的线性模型:

Y = int + A2 + Z + A1:B2 + A2:B2 + A2:Z + A1:B2:Z + A2:B2:Z


Y = -0.80420 + 1.55943*A2 + 1.55943*Z + 0.12481*A1:B2 - 0.09231*A2:B2 + 0.05906*A2:Z - 0.06872*A1:B2:Z + 0.01222*A2:B2:Z    

其中 A1A2B1B2 是取 0 或 1 的变量,具体取决于或特定观察值。将所有这些变量替换为您正在寻找的正确值并求解方程式。对于B的效果:

Y = -0.80420 + 1.55943*0 + 1.55943*Z + 0.12481*1*B2 - 0.09231*0*B2 + 0.05906*0*:Z - 0.06872*1*B2:Z + 0.01222*0*B2:Z 
Y = -0.80420 + 1.55943*Z + 0.12481*B2 + 0.06872*B2:Z

所以如果B==B1,那么B2==0

Y = -0.80420 + 1.55943*Z + 0.12481*0 + 0.06872*0:Z
Y = -0.80420 + 1.55943*Z

所以 Y 增加 1.55943,Z 增加 1

如果如果B==B2,那么B2==1

Y = -0.80420 + 1.55943*Z + 0.12481*1 + 0.06872*1:Z
Y = 0.92901 + 1.62815*Z

所以 Y 增加 1.62815,Z 增加 1

解释为:Z的作用在B==B2时更重要。

注意:更改模型的顺序应该不会有任何影响。