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 显着增加。
第三行明确了我的问题。是不是说:
- Z每增加一次,效果"B2"(第二行)
减少(大约
0.12-0.06=0.6
)?
- 或者说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==A1
和 B==B1
时,则增加 Z
的 1 使 Y 减少 0.06872.
重要的是要了解这种减少是添加到 Z
单独的效果 (0.07688) 中的。在这种情况下,交互 A2:Z
(-0.09231) 并不重要,因为 A!=A1
。由于相互作用,Z
的效果根据我的变量 A
和 B
.
的值而变化
你这里有一个这样的线性模型:
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
其中 A1
、A2
、B1
和 B2
是取 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
时更重要。
注意:更改模型的顺序应该不会有任何影响。
我知道对于有统计学背景的人来说,这可能是一个非常简单的问题。然而,我找不到适合我(不是这样)特殊情况的明确答案:(
我有一个回归模型,其中包含两个分类预测变量(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 显着增加。
第三行明确了我的问题。是不是说:
- Z每增加一次,效果"B2"(第二行)
减少(大约
0.12-0.06=0.6
)? - 或者说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==A1
和 B==B1
时,则增加 Z
的 1 使 Y 减少 0.06872.
重要的是要了解这种减少是添加到 Z
单独的效果 (0.07688) 中的。在这种情况下,交互 A2:Z
(-0.09231) 并不重要,因为 A!=A1
。由于相互作用,Z
的效果根据我的变量 A
和 B
.
你这里有一个这样的线性模型:
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
其中 A1
、A2
、B1
和 B2
是取 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
时更重要。
注意:更改模型的顺序应该不会有任何影响。