正如其他人指出的那样,这可以通过交互作用线性建模。您正在交互两个虚拟对象,对此没有任何非线性。给定模型:
的“性别”边际效应是偏导数:
w t = α + b1个一克e + b2GÈ Ñ dÈ - [R + b3一克e * gÈ Ñ dÈ - [R + ε
∂w ^ Ť∂GÈ Ñ dË [R= b2+ b3一克Ë
看看性别和年龄只能取0或1的值,我们实际上只是在看四个不同群体在均值上的差异吗?也就是说,我们只有四种不同的组合可以插入上述等式:(1)且a g e = 0,(2)g e n d e r = 1且a g ë = 1,(3)克è ñ d Ê - [R = 0和一克ëGÈ Ñ de r = 0一克e = 0GÈ Ñ de r = 1一克e = 1GÈ Ñ de r = 0,和(4)克ë Ñ d ë [R = 1和一个克ë = 0。因此,您的特定示例等效于四个组均值之间的比较。一克e = 1GÈ Ñ de r = 1一克e = 0
进行讨论以了解以上内容如何等同于具有两个相互关联的名义变量的方差分析也可能会有所帮助。作为重申这一事实的另一种方式,(同样,因为年龄和性别只有四种可能的组合),我们还可以指定一个如下所示的模型,而无需明确的交互项:
w t = α + b1个ÿÒ ù Ñ 克。中号一升 e + b2Ò 升d。米一升ë +b3ÿØ üÑ 克。FË 中号一升ë + ε
凡被省略作为您的参考类别,例如,系数b 1是o l d之间的均值差。˚F Ë 中号一升ë和ÿ ö ü Ñ 克。中号一升ë。其中截距α也将等于o l d内的平均值w t 。˚F èÒ 升d。FË 中号一升ëb1个Ø 升d。FË 中号一升ëÿÒ ù Ñ 克。米一升ëαw ^ Ť(再次,参考类别)。Ò 升d。FË 中号一升ë
使用您自己的数据进行尝试。使用具有相互作用的线性模型,具有相互作用的ANOVA或对没有相互作用的每个组使用虚拟变量,您将获得相同的结果。太酷了吧?一本统计书可能会在不同的章节中讨论这些方法中的每一种但是,所有道路通往罗马。确实,了解它如何与您自己的数据一起工作是最好的学习方法之一。 …
因此,以上示例是得出此结论的一种过于复杂的方法(我们实际上只是在比较四个组均值),但是对于了解交互作用的工作方式,我认为这是一个有益的练习。在CV上还有其他一些很好的文章,涉及将连续变量与名义变量交互或将两个连续变量交互。即使您的问题已经过编辑以指定非参数检验,但我认为还是可以从更常规的方法(即参数化)来思考问题,因为大多数用于假设检验的非参数方法具有相同的逻辑,但通常关于特定分布的假设更少。
w ^ Ť
Ò 升d。米È ÑÿÒ ù Ñ 克。瓦特ø 米ë Ñ
暂时忽略“重大”交互
X1个X2X1个X2但是再一次,如果我们只有两个只能取0或1的协变量,那意味着我们实际上是在看四个组均值。
工作实例
让我们将交互模型的结果与Dunn检验的结果进行比较。首先,让我们生成一些数据,其中(a)男性比女性重,(b)较年轻的男性轻,并且(c)较年轻的女性与老年的女性没有区别。
set.seed(405)
old.men<-rnorm(50,mean=80,sd=15)
young.men<-rnorm(50,mean=70,sd=15)
young.women<-rnorm(50,mean=60,sd=15)
old.women<-rnorm(50,mean=60,sd=15)
cat<-rep(1:4, c(50,50,50,50))
gender<-rep(1:2, c(100,100))
age<-c(rep(1,50),rep(2,100),rep(1,50))
wt<-c(old.men,young.men,young.women,old.women)
data<-data.frame(cbind(wt,cat,age,gender))
data$cat<-factor(data$cat,labels=c("old.men","young.men","young.women","old.women"))
data$age<-factor(data$age,labels=c("old","young"))
data$gender<-factor(data$gender,labels=c("male","female"))
w ^ Ť
mod<-lm(wt~age*gender,data)
library(effects)
allEffects(mod)
model: wt ~ age * gender
age*gender effect
gender
age male female
old 80.61897 57.70635
young 67.78351 56.01228
需要为边际效应计算标准误差或置信区间吗?上面提到的“效果”包可以为您做到这一点,但更好的是,Aiken和West(1991)为您提供了公式,即使是对于更复杂的交互模型也是如此。他们的表方便地打印在这里,由马特·戈尔德非常好的评论一起。
现在执行邓恩的测试。
#install.packages("dunn.test")
dunn.test(data$wt, data$cat, method="bh")
Kruskal-Wallis chi-squared = 65.9549, df = 3, p-value = 0
Comparison of x by group
(Benjamini-Hochberg)
Col Mean-|
Row Mean | old.men young.me young.wo
---------+---------------------------------
young.me | 3.662802
| 0.0002*
|
young.wo | 7.185657 3.522855
| 0.0000* 0.0003*
|
old.wome | 6.705346 3.042544 -0.480310
| 0.0000* 0.0014* 0.3155
Kruskal-Wallis卡方检验结果的p值表明,我们的至少一组“来自不同人群”。对于逐组比较,最上面的数字是Dunn的z检验统计量,最下面的数字是p值,已针对多次比较进行了调整。由于我们的示例数据是相当人为的,因此拥有这么小的p值就不足为奇了。但是请注意,年轻女性和老年女性之间的右下角比较。该检验正确地支持了这两组之间没有差异的零假设。
…
更新:给定其他答案,此答案已更新,以质疑需要任何形式的非线性建模,或者给定OP的两个二元协变量(即四个组)的特定示例,必须存在一个符号更改以非参数评估。例如,如果年龄是连续的,将有其他方法来解决此问题,但这不是OP给出的示例。