显着的交互作用是否必然意味着至少一个简单的影响是显着的?

机器算法验证 r 回归 统计学意义 多重回归 相互作用
2022-03-22 13:42:36

考虑到两个变量之间的交互作用是显着的,是否总是两个简单效应中的至少一个是显着的?如果是这样,是否有任何证据或反例?

为了简单起见,让我们假设我们在这里谈论的是2 x 2设计2 x continuous


编辑

例子:

set.seed(1)
n <- 100
x    <- rep(c("a", "b"), each = n/2)
x.ab <- ifelse(x == "a", -.5, +.5)
x.a  <- ifelse(x == "a",  0, +1)
x.b  <- ifelse(x == "b",  0, -1)
z    <- rnorm(n)
y    <- x.ab*z + rnorm(n)

我们现在测试交互:

> summary(lm(y ~ x.ab*z))

             Estimate Std. Error t value Pr(>|t|)    
(Intercept) -0.037776   0.097254  -0.388    0.699    
x.ab         0.235133   0.194508   1.209    0.230    
z            0.001777   0.109290   0.016    0.987    
x.ab:z       0.946657   0.218581   4.331 3.65e-05 ***

交互作用是显着的x.ab:z(并且没有 和 的主效应xz,所以我们可以测试简单的效应:

> summary(lm(y ~ x.a*z))

            Estimate Std. Error t value Pr(>|t|)    
(Intercept)  -0.1553     0.1375  -1.129  0.26151    
x.a           0.2351     0.1945   1.209  0.22969    
z            -0.4716     0.1659  -2.843  0.00546 ** 
x.a:z         0.9467     0.2186   4.331 3.65e-05 ***

当(p = 0.005)时,简单效应y ~ z显着。x = a

> summary(lm(y ~ x.b*z))

            Estimate Std. Error t value Pr(>|t|)    
(Intercept)  0.07979    0.13754   0.580   0.5632    
x.b          0.23513    0.19451   1.209   0.2297    
z            0.47510    0.14235   3.338   0.0012 ** 
x.b:z        0.94666    0.21858   4.331 3.65e-05 ***

当(p = 0.001)时,简单效应y ~ z也很显着。x = b

正如我们在这个例子中看到的,这两个简单的效果都很重要。考虑到交互作用是显着的,是否总是至少有一个简单的影响是显着的

Ps:我所说的“主效应”和“简单效应”是基于Spiller 等人的。(2013 年)

1个回答

考虑到两个变量之间的交互作用是显着的,是否总是两个简单效应中的至少一个是显着的?

一点都不。

如果是这样,是否有任何证据或反例?

是的,创建一个反例很容易:

> set.seed(1)
> N <- 200

> A <- rep(c(0,0,1,1), times = N/4)
> B <- rep(c(0,1), times = N/2)
> y <- A*B + rnorm(N)

> summary(lm(y ~ A*B))

Coefficients:
            Estimate Std. Error t value Pr(>|t|)   
(Intercept)  -0.0407     0.1317   -0.31   0.7579   
A             0.2250     0.1863    1.21   0.2287   
B             0.0789     0.1863    0.42   0.6723   
A:B           0.6971     0.2635    2.65   0.0088 **

我总是建议不要依赖统计显着性,它依赖于 p 值(取决于样本量)和任意显着性水平。


编辑:

在更新之后,我不得不说我希望编辑问题中的程序不是在实践中使用的东西,但无论如何,是的,我们当然可以找到一个反例。只需将代码中的种子设置为例如 276