如何用非参数测试(例如排列测试)测试交互作用?


10

我有两个类别/名义变量。它们每个只能采用两个不同的值(因此,我总共有4种组合)。

每个值组合都带有一组数字值。因此,我有4组数字。为了更具体,让我们说我有male / femaleyoung / old作为标称变量,而我有weight从属数字“输出”。

我知道从过渡malefemale会改变平均体重,而这些变化在统计上是有意义的。因此,我可以计算一个gender因子。这同样适用于age变量。我知道,从过渡youngold不改变平均重量,我可以计算出相应的age系数。

现在,我真正想看看的是数据是否证明从年轻女性到老年男性的转变更多地是性别和年龄因素的结合。换句话说,我想知道数据是否证明存在“ 2D效果”,或者换句话说,年龄和性别效果不是独立的。例如,男性变老可能会使体重增加1.3倍,而女性则相应增加1.1倍。

当然,我可以计算两个提到的因素(男性的年龄因素和女性的年龄因素),它们是不同的。但是我想计算出这种差异的统计意义。这种差异有多真实。

如果可能的话,我想做一个非参数测试。是否可以通过混合四组,重新组合,重新拆分和计算某些东西来做我想做的事情。


2
非参数处理交互的一个困难是,响应的单调转换可以删除存在的交互,在不存在交互的情况下诱导交互,或者反转交互的方向。这表明,例如,基于排名的方法可能无法实现您期望的方法。
Glen_b-恢复莫妮卡

通过对原始变量进行置换测试,您不会遇到问题,但事实证明,没有针对交互的确切测试。您可以得到一些近似测试。
Glen_b-恢复莫妮卡

Answers:


5

有用于交互的非参数测试。粗略地说,您可以按等级替换观察到的权重,并将所得数据集视为异方差方差分析。请看Brunner和Puri(2001)的“析因设计中的非参数方法”。

但是,您无法通过这种概括性显示您感兴趣的非参数交互类型。你说:

换句话说,我想知道数据是否证明存在“ 2D效果”,或者换句话说,年龄和性别效果不是独立的。例如,男性变老可能会使体重增加1.3倍,而女性则相应增加1.1倍。

后者是不可能的。非参数交互作用必须涉及符号变化,即变老会增加男性体重,但会降低女性体重。即使单调变换权重,也仍会保持这种符号变化。但是您可以在数据上选择单调变换,以将权重增加1.1映射为您想要的1.3。当然,如果差异可以达到您想要的程度,您将永远不会表现出显着的差异。

如果您真的对没有符号更改的交互感兴趣,则应坚持常规的参数分析。在那里,不允许“吞噬差异”的单调变换。当然,通过对统计数​​据进行建模和解释,这也是要记住的一点。


1

如果您认为的年龄和性别的影响不仅仅是各自的效果,你可以考虑在模型γweighti=αagei+βgenderi+γ(genderiagei).γ系数捕获年龄和性别的“ 2D”效应的大小。您可以检查的t统计量,以大致了解模型中观察到的γ是否明显不同于γ = 0γγγ=0

这里是一个非常粗略的图形例子来说明这个附加的乘积项什么一样。genderiage一世

在模型,我们实质上试图将简单的超平面拟合到数据responsË=X1个+X2

在此处输入图片说明

该模型在协变量中是线性的,因此您在上图中看到的线性形状。

在另一方面,模型是非线性的在X 1X 2,并因此允许曲率一定程度[RËspØñsË=X1个+X2+X1个X2X1个X2

在此处输入图片说明

无法拒绝的假设就像无法拒绝模型中这种形式的曲率。γ=0

就非参数测试而言,您可以通过获取自举标准误差,按照建议的方式进行操作。这意味着,几次你:1)更换取样资料,2)重新计算线性模式,3)得到的估计γ。之后,你有很多的估计γ,可以使用50 ± p 分位数建立一个非参数2 p 的置信区间γ。有关更多信息,请谷歌“引导标准错误”。γγ^γ^50±p2pγ


如果x1和x2只能取0或1的值,这怎么可能是非线性的?在您的示例中,伽马如何解释任何形式的曲率?
5ayat

没关系域是什么,它仍然是非线性因为该函数不能被写入作为其自变量的线性组合(即)。关于第二点,请注意,我仔细地说过“一个非常粗糙的图形示例”。这是二进制情​​况的连续模拟。α[R2X1个+X2+X1个X2=一世=1个2α一世X一世
Mustafa S Eisa

但是,我将补充一点,当域是二进制的(类似于2D立方体的顶点)时,可以线性处理此函数。但是功能形式严格地是非线性的。
Mustafa S Eisa

@MustafaMEisa,我从未见过线性模型中用“ 2D立方体的顶点”解释的交互项。如果您能详细说明,那将是有益的。
20:07 5ayat

@HorstGrünbusch,对于您对此答案的评论,我也很好奇,因为您已经对我的答案给出了有用的评论。
5ayat

1

正如其他人指出的那样,这可以通过交互作用线性建模。您正在交互两个虚拟对象,对此没有任何非线性。给定模型: 的“性别”边际效应是偏导数:

wŤ=α+b1个一个GË+b2GËñdË[R+b3一个GËGËñdË[R+ϵ

wŤGËñdË[R=b2+b3一个GË

看看性别和年龄只能取0或1的值,我们实际上只是在看四个不同群体在均值上的差异吗?也就是说,我们只有四种不同的组合可以插入上述等式:(1)a g e = 0,(2)g e n d e r = 1a g ë = 1,(3)è ñ d Ê - [R = 0ëGËñdË[R=0一个GË=0GËñdË[R=1个一个GË=1个GËñdË[R=0,和(4)ë Ñ d ë [R = 1一个ë = 0。因此,您的特定示例等效于四个组均值之间的比较。一个GË=1个GËñdË[R=1个一个GË=0

进行讨论以了解以上内容如何等同于具有两个相互关联的名义变量的方差分析也可能会有所帮助。作为重申这一事实的另一种方式,(同样,因为年龄和性别只有四种可能的组合),我们还可以指定一个如下所示的模型,而无需明确的交互项:

wŤ=α+b1个ÿØüñG一个Ë+b2Ød一个Ë+b3ÿØüñGFË一个Ë+ϵ

被省略作为您的参考类别,例如,系数b 1o l d之间的均值差˚F Ë 中号ëÿ ö ü Ñ 中号ë。其中截距α也将等于o l d内的平均值w t ˚F èØdFË一个Ëb1个ØdFË一个ËÿØüñG一个ËαwŤ(再次,参考类别)。ØdFË一个Ë

使用您自己的数据进行尝试。使用具有相互作用的线性模型,具有相互作用的ANOVA或对没有相互作用的每个组使用虚拟变量,您将获得相同的结果。太酷了吧?一本统计书可能会在不同的章节中讨论这些方法中的每一种但是,所有道路通往罗马。确实,了解它如何与您自己的数据一起工作是最好的学习方法之一。

因此,以上示例是得出此结论的一种过于复杂的方法(我们实际上只是在比较四个组均值),但是对于了解交互作用的工作方式,我认为这是一个有益的练习。在CV上还有其他一些很好的文章,涉及将连续变量与名义变量交互或将两个连续变量交互。即使您的问题已经过编辑以指定非参数检验,但我认为还是可以从更常规的方法(即参数化)来思考问题,因为大多数用于假设检验的非参数方法具有相同的逻辑,但通常关于特定分布的假设更少。

wŤ

ØdËñÿØüñGwØËñ

暂时忽略“重大”交互

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给出的示例。


您不使用两个交叉因素的结构。您仅比较四个组。邓恩的考验根本不涉及互动。
HorstGrünbusch,2016年

同意,邓恩的测试与互动无关。但是,该问题专门询问两个二进制变量之间的相互作用。我的答案说明了这等同于比较这四个组。如果交互术语不是OP的新功能,则希望这是一个有用的说明。
5ayat

1

因此,您具有以下随机变量:

  • 一个ñ
  • 小号{}
  • w ^]0[

并且您具有以下概率质量/密度函数:

  • Fw ^w ^
  • Fw ^一个w ^一个
  • Fw ^小号w ^小号
  • Fw ^一个小号w ^一个小号

w一个s

  • Fw ^一个w一个Fw ^w
  • Fw ^小号wsFw ^w

Fw ^一个小号w一个sFw ^一个w一个Fw ^小号ws

w一个s

但是,您不知道上面真正的联合PDF。由于您想将自己局限于非参数方法,因此您现在的任务是找到这些非参数估计:

  • F^w ^一个w一个
  • F^w ^小号ws
  • F^w ^一个小号w一个s

然后显示:

  • 您的密度估算值足够准确。
  • F^w ^一个小号w一个sF^w ^一个w一个F^w ^小号ws
  • F^w ^一个小号w一个s=F^w ^一个w一个=F^w ^小号ws

0

那将是检查交互作用。线性建模可以检查这种情况,但它不是非参数的,因此我猜必须使用其他工具。

你如何检查你agegender效果到现在为止?

编辑:这个答案看起来将帮助您

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.