ANOVA还能搞三四五因素?等等,我头有点儿晕…… | 协和八
说人话的统计学
我们在过去的几集里,讨论了多因素 ANOVA 的原理和使用。不过眼尖的你也许已经发现了,我们讲过的例子都是只有两个因素的。说好的「多」因素 ANOVA,怎么就成了「两」因素了呢?这就好像你去全聚德,明明点了一只烤鸭,结果上菜了一看,好家伙,我只给你端上来俩翅膀——那怎么行?所以,今天我们就来看看,要是有三个或者更多的因素,ANOVA 还能不能玩得转?
我们就先从三因素的情况说起。既然都是 ANOVA,那么多了一个因素并不会改变它的基本原理(鸭胸鸭腿鸭屁股都是鸭嘛!),我们也就借此机会和大家快速复习一下,我们要制作烤鸭使用多因素 ANOVA,需要满足什么要求。
首先最基本的一点,在我们的数据里头,因变量必须是连续型变量(continuous variable),比如身高、体重、收入、耗费的时间、考试分数等。而我们感兴趣的三个自变量(也就是 ANOVA 里的三个「因素」)得是离散型变量(discrete variable,或者叫分类变量 categorical variable),比如说性别、种族、职业之类。(关于数据的分类,可回顾《数据到手了,第一件事先干啥?》)
而且,对于这里所考虑的三因素 ANOVA,在受试者的分组来说,这三个因素不同水平的组合对应于互不相同的受试者——换言之,这是一个「受试间」设计(between-subjects design)。
举个例子说,如果我们有性别(男/女)、给药(实验药物/安慰剂)、疾病状况(患者/健康对照)三个因素,这三个因素一共有 8 个组合。那么,要使用普通的三因素 ANOVA,这 8 个分组的受试者需要是完全不同的,不能有某些受试者同时属于不止一个分组。
在别的研究里,可能会出现同一组受试者参与了所有实验条件或分组的情况,这就是所谓的「受试内」设计(within-subjects design)。这时,我们就不能用常规的多因素 ANOVA,而要使用重复测量多因素 ANOVA(repeated-measures multi-factor ANOVA),我们以后会为大家作简单介绍(对于重复测量单因素的情况,可回顾《听说,成对 t 检验还有 ANOVA 进阶版?》和《重复测量ANOVA:你要知道的事儿都在这里啦》)。
不仅如此,我们还可能会碰到更复杂的情况,那就是几个因素中,有的是受试间的,有的是受试内的。比如我们前面提到的性别、给药、疾病状况这三个因素,一个人当然只可能有一种性别和一种疾病状况(在一定时间内),但是实验者可以让同一个人在不同时间先后服用实验药物和安慰剂。这种情况下,性别和疾病状况还是受试间因素,而给药则变成了受试内因素。这时,我们就要用到目前还没介绍过的混合设计 ANOVA(mixed-design ANOVA,也称混合ANOVA, mixed ANOVA)了。
在此基础上,我们之前还强调过,不论对于 t 检验还是常规的 ANOVA,被观测的个体不仅需要是互不相同的,而且还要是相互独立的,亦即它们之间没有相互联系或影响。这种「联系」或「影响」有很多方面的含义,比如说同一家庭的成员会由于遗传和生活习惯的相近而有相似的健康状况,同一班级的学生会由于拥有相同的教师和日常相处的机会而具有相近的学习成绩等等。我们曾在《要做t检验,这两口毒奶可喝不得!》的第二部分有过讨论,不熟悉的读者可戳此处回顾。
最后,我们还知道,ANOVA 之所以能根据数据计算出一个 p 值,给我们做统计推断,是对数据的分布形式做了一些假设,从而由组内和组间平方和构建出了 F 统计量(可参看《ANOVA的基本招式你掌握了吗?》)。这些假设主要包括两方面的内容:
❶ 所有分组(三个因素不同水平的所有组合)内的数据(近似)服从正态分布
要检验分布的正态性,我们需要用到箱线图、频率直方图、Q-Q 图等数据可视化方法,以及 Shapiro-Wilk 检验(参看《数据到手了,第一件事先干啥?》和《不是正态分布,t检验还能用吗?》)。
要是检查发现数据不正态怎么办?一来,已有的研究表明,ANOVA 对正态性假设不满足的情况有一定的容忍度,尤其是在样本量较大的情况下,因此如果偏离情况并不太严重,或者各组内数据点的数量都比较多,我们还是可以继续使用 ANOVA。二来,我们在 t 检验部分中介绍过的应对措施——数据变换同样能够派上用场(参看《样本分布不正态?数据变换来救场!》)。这时要注意的是,我们必须对所有各组数据进行相同的变换。
❷ 所有分组内的数据的方差相等
这个假设如何验证?我们在《就是要实用!t检验的七十二变》里提到过 Levene 氏检验就是干这事儿的。如果检验结果表明方差不相等,我们可以同样尝试用数据变换的方法来纠正此问题。另外,当各分组的样本量相等或十分接近时,ANOVA 对方差相等的要求也并不是特别敏感。
把上面这些准备工作都做好,我们就可以用三因素 ANOVA 来分析手上的数据了。让我们来想象这样一个纯属虚(xia)构(bian)的例子:
临近放假的一天,咱们栏目的吉祥物蓝精灵和格格巫又吵架了,吵的是啥呢?蓝精灵买回来一个肉粽子在宿舍里吃得正欢,格格巫一看就嚷嚷起来:「哎呀呀这粽子哪能是咸的呢?真不像话!」这下好了,一发不可收拾,连豆腐脑啊月饼啊西红柿炒鸡蛋啊都给扯出来了。现在考验你的时候到了——这架该咋劝?
只见你不慌不忙,上前好言相劝:「与其磨嘴皮子,不如做点有益世界的事情,我正好最近在研究影响咱们医院职工对粽子口味喜好的因素,要不你们也一起来?」
蓝精灵和格格巫一想,也有道理,于是加入了你的研究小分队。
怎样测量人们对甜咸粽子的偏好呢?方法自然有很多,最简单最经济的办法自然是直接问了。要注意的是,人们对两种粽子的喜好也许不是非此即彼的,可能有人两种粽子都喜欢,或者都不喜欢。所以你们决定,让受访者在-5 到+5 之间对甜咸粽子好吃程度的差异进行打分:如果觉得甜粽子比咸粽子好吃,那么就打一个正的分数,而且分数越正,代表受访者认为甜粽子比咸粽子好吃的程度更高;而负的分数则相反。如果是 0,那么就意味着受访者觉得两者好吃程度无差别。
在收集数据之前,你们一起考虑了一下要重点研究哪些因素。
首先,大家一致想到了南北方差异,因此籍贯自然是一个重点对象。然后,蓝精灵还提出,性别似乎也挺有影响。向来想法有些非主流的格格巫又插了一句,我觉得医生和护士爱吃的东西好像很不一样啊!于是,最后敲定的三个因素是:籍贯(南方/北方)、性别(男/女)和职位(医生/护士)。
这样一来,这三个因素就一共构成了 8 个分组。在保证各分组样本量基本相同的前提下,你们收集好了数据,并且检查前面列举的各种条件和要求都得到了满足,统计软件愉快地输出了一大堆结果——我们应该如何解读?
有了之前那么多集文章关于单因素、两因素 ANOVA 的铺垫,相信大家已经知道,ANOVA 关注的根本问题就是不同的因素对因变量有什么效应。当因素不止一个时,我们既然考虑各个因素的主效应,又要考察因素之间的交互效应。
三因素 ANOVA 自然也不例外。因为现在有了三个因素,所以主效应自然也有三个了。同时,由于因素个数的增多,交互效应就比两因素时要复杂了。
首先,我们有两个因素之间的交互效应,在今天的例子里包括以下三个:籍贯×性别、籍贯×职位、职位×性别。由于它们是两个因素之间的交互效应,所以称为二维交互效应(2-way interaction)。
其次,在三因素ANOVA中,还包含一个由所有三个因素构成的交互效应,称为三维交互效应(3-way interaction),具体到例子里面,就是籍贯×性别×职位。 三维交互效应究竟是什么意思?不妨回想一下,在《多因素ANOVA=好几个单因素ANOVA?可没这么简单!》里,我们详细讨论过二维交互效应的定义——如果说因素 A 和 B 之间存在交互效应,那么因素 A 对因变量 y 的影响会因为因素 B 的取值而有所不同。
同样的逻辑可以套用在三维交互效应上(敲黑板强调,以下几句话是今天的难点):
因素 A、B 和 C 之间的三维交互效应 A×B×C,我们可以看成 A×(B×C),也就是因素 A 与一个新构造出的「因素」B×C 之间的交互效应。
按照刚才复习过的二维交互效应的定义,我们就可以把交互效应 A×B×C 这样来理解:「因素」B×C 对因变量 y 的影响会因为因素 A 的取值而有所不同。而这个新构造出来的因素 B×C 是啥呢?不就是 B 和 C 之间的二维交互效应嘛。也就是说,B 和 C 之间的二维交互效应会随着因素 A 的取值不同而表现出不同的样子。
所以,三维交互效应可以理解成为「一个因素的主效应」和「另外两个因素之间交互效应」的交互效应。还是觉得太抽象了?别着急,下面马上就有具体的实例。
要做一个三因素 ANOVA,有三个主效应,三个二维交互效应,一个三维交互效应,这么多东西,我们该从何下手?别慌,我们要记住一条,多因素 ANOVA,一定先从最复杂的交互效应开始看起,然后步步后退。也就是说,我们要先看那个三维交互效应。
这是什么原因呢?回顾上一集《两个因素相互影响,ANOVA结果该如何判读?》,我们向大家展示过,在两因素 ANOVA 里,如果存在交互效应,那么主效应就不能很好地表示该因素对观测值的影响。换句话说,对主效应如何解读,取决于是否存在交互效应。
同样的道理,在三因素 ANOVA 里,主效应的解读取决于交互效应,而二维交互效应的解读取决于三维交互效应。因为三维交互效应 A×B×C 可以看成 A×(B×C),那么如果存在显著的三维交互效应,光看二维交互效应 B×C 得出的关于 B 和 C 对因变量的影响的结论就会有问题。
让我们回到关于粽子口味的例子。
从统计学软件的输出里,蓝精灵和格格巫看到了显著的三维交互效应籍贯×性别×职位。别忘了我们说过,要直观地了解数据中交互效应的具体方向,轮廓图(profile plot)是一个很好的方法(参见《多因素ANOVA=好几个单因素ANOVA?可没这么简单!》)。
一个轮廓图只能表现两个因素下各组的平均值,要表现三维交互效应,我们则需要多个轮廓图来把第三个因素的不同水平画出来(图1)。至于三个因素怎么摆,具体哪个分别放在x轴、不同符号和折线、还是不同的轮廓图上,就看我们要把三维交互效应怎样分拆了。下面图 1 的画法,对应的就是(籍贯×性别)×职位,也就是强调了(籍贯×性别)这个二维交互效应在不同职位上的区别。
图1 三维交互效应示例
从图 1 可以很容易看到,在医生里,籍贯和性别对粽子喜好的影响存在交互效应(因为两条折线不平行),北方女医生比北方男医生更爱吃甜粽子,而南方女医生比南方男医生更爱吃咸粽子(这些差别是否显著要通过事后检验来确定)。而在护士里,籍贯和性别似乎没有交互效应,而这两个因素似乎各自存在主效应,北方护士比南方护士更爱吃甜粽子,而女护士比男护士更偏好咸粽子。
当然,这只是一个特殊例子。要满足三维交互效应,只需要医生和护士底下性别和籍贯的交互效应足够不一样就行了,至于各自具体长什么样、差别在哪,ANOVA 都是不在意的。
另外,在判读三维交互效应时,把哪两个因素放一块,剩下哪个因素单出来,在理论上都是可以的,实践中往往以哪种最容易解释和理解为标准。上面的这个例子,我们也可以把三维交互效应解释为不同籍贯中性别和职位交互效应的区别,又或者是男女性之间籍贯和职位交互效应的区别。
总结一下上面的思路,当我们使用三因素 ANOVA 时,结果要从三维交互效应看起:
如果三维交互效应显著,则要把整个数据集按照某一个因素不同取值拆开,然后在得到的多个「子数据集」(就好像上面例子中按职位分开画轮廓图一样)中做两因素ANOVA,对另两个因素的二维交互效应进行考察;
如果三维交互效应不显著,则进一步考察整个样本中三个因素两两组合得到的三个二维交互效应的显著性。同样,如果二维交互效应显著,则需要继续在一个因素不同取值下拆分数据集,分别考虑另一因素的主效应;如果二维交互效应不显著,则直接考虑整个样本中单个因素的主效应。
掌握了三因素 ANOVA,那么更多的因素又如何呢?理论上来说,我们的思路和方法都是一样的。然而,实际上很少会用到四因素或以上的 ANOVA。为什么?我们已经看到,三因素 ANOVA 解读起来已经比二因素繁琐许多,因素进一步增多以后,复杂程度更是爆炸性增长——四因素将带来 1 个四维交互效应,4 个三维交互效应,6 个二维交互效应,和 4 个主效应。五因素呢?更加不得了,会有 1 个五维交互效应, 5 个四维交互效应,10 个三维交互效应,10 个二维交互效应,5 个主效应。这么多的效应要一一看过来,谁都会被绕进云里雾里的。
使问题更糟糕的是,ANOVA 本身并不能为我们指明差别的方向(这正是我们需要事后检验的原因),因此在因素数量很多的时候,各分组的均值之间差别导致 ANOVA 显著效应的可能性非常多,ANOVA 能告诉我们的信息太模糊了。
那如果我们的研究里就是有 4 个以上的因素怎么办?如果有个别因素是连续变量怎么办?即将到来的鸡年里,欢迎继续关注「说人话的统计学」,这些挑战我们都会为你一一击破!
P.S.本集数据纯属虚构,不代表作者或协和八在甜咸党之争中的立场☃——顺便说一句,作者甜粽子咸粽子都爱吃!
精选每日一题
更多精选题可回顾历史推送文末
题目来源:临床执业医师资格考试往届真题
本期主播:闲闲闲兔
回复「统计学」可查看「说人话的统计学」系列合辑,
或点击下方标题可阅读本系列任意文章
>>> 干货 <<<
>>> 自检 <<<
>>> 番外篇 <<<
持续更新中……
作者:张之昊
编辑:黑草乌叶