听说,成对t检验还有ANOVA进阶版? | 协和八
读过「说人话的统计学」专栏最近的几集,相信各位好学的宝宝们已经掌握了 ANOVA(方差分析)的原理(戳此处回顾 ANOVA在手,多组比较不犯愁 ),也对它的基本假设、理论基础( F 分布)有所了解(回顾 ANOVA的基本招式你掌握了吗?),并且还学到了常与 ANOVA 搭配使用的一个有力武器——事后检验(回顾 ANOVA做出了显著性?事儿还没完呢!)。尽管这里头有一些在使用时需要小心注意的细节,但是别忘了从出发点上来讲,ANOVA 是 t 检验的一个拓展,它们的功能都是为了检验若干组数据的平均值是否存在差别。
既然说 ANOVA 是 t 检验的拓展,那么我们不妨回想一下 t 检验的几种类型(详情回顾 就是要实用!t检验的七十二变 )。
我们说过,当我们有两组数据需要做比较时,我们需要考虑这两组数据是否存在一一对应的关系,或者来自两组互相独立的个体,从而相应选取成对样本 t 检验(前者)或独立样本 t 检验(后者)。
前几集里我们讲到的 ANOVA,是假设各组数据之间没有关系的,因此可以认为是对应了独立样本 t 检验。那么,如果我们的多组数据之间有一一对应关系(例如几组数据来自对同一群个体的重复测量),有没有专门针对这样情况的 ANOVA 呢?
勤劳勇敢的统计学家们当然不会对这个问题视而不见,今天我们就来讲一讲 ANOVA 的一个特别版——重复测量 ANOVA(repeated-measures ANOVA)。它适用的恰恰就是刚才说到的情形;换言之,我们可以认为重复测量 ANOVA 是成对样本 t 检验的延伸版。
◆◆ 1 ◆◆
既然如此,重复测量 ANOVA 在具体科研实践中的用武之地与成对样本 t 检验也是相似的。简单来说,最常见的情形有两种:
❶ 在不同时间点对同一批个体测量同一个指标,而我们希望知道这个指标在不同时间内是否发生了变化。
这里顺带说一句题外话,如果我们发现服药后比服药前平均体重有显著减轻,这固然是对该药物疗效的有利证据,但还需要排除安慰剂效应、病人自发的行为和进食变化等其他干扰因素,才能更充分地认定药物的有效性。一般来说,我们还需要另外包括一个对照组,在同样的4个时间点收集体重数据,并比较药物组、对照组病人的体重变化是否有差异。这时我们要用到比单纯的重复测量 ANOVA 稍微更复杂一些的统计学工具,以后我们会再作详细介绍。
❷ 对同一批个体施加不同的实验条件或处理,研究这些实验条件对某个指标有什么影响。
当然,我们要这么做的话,需要保证(或者至少根据已有的知识相信)喂食的食物之间是独立的,不能产生相互作用,例如没有遗留影响(比如巧克力对记忆力的影响在后来吃别的食物时依然存在)或者顺序效应(比如先吃葡萄干再吃花生米和先吃花生米再吃葡萄干对记忆力的影响不同)。要减少或消除这些问题的干扰,一要靠具体问题的背景知识,比方说根据对消化系统的认识和以往的研究,来决定不同食物之间间隔的时间要多长才够,二要利用特定的实验设计方法,比方说在不同个体上使用不一样的顺序来喂食。
◆◆ 2 ◆◆
弄清了重复测量 ANOVA 能派什么用场,你也许想说,重复测量 ANOVA 相比起之前咱们讨论的普通版 ANOVA 究竟有啥优势呢?像上面说的这些重复测量的数据,如果我就用常规 ANOVA,把它当成几组没有关联的数据,有啥不行的吗?
直观地说,既然我们知道几组数据之间存在一一对应的关系,那么我们就应该在做分析的时候把这个信息也考虑进去。忽略它而选用普通的 ANOVA 模型,不仅仅是浪费了数据和实验设计中本身存在的优势,而且还做了错误的假设(认为几组数据点之间相互独立)。这样一来,就很容易造成统计功效的损失——就是也许明明可以有显著性的结果失去了显著性,或者显著性变小。
当然啦,俗语有云,「听过很多道理,但还是过不好这一生」。光说不练可不是咱「说人话的统计学」专栏的风格,下面就让我们来举个栗子。
话说期中考试临近,活泼又聪明的蓝精灵们也变得愁眉苦脸起来,每天起得比鸡早,睡得比狗晚。他们最苦恼的,就是睡觉和学习之间不可调和的矛盾。尤其是熬夜过后脑子一团浆糊的感觉,不禁让蓝精灵怀疑起牺牲的睡眠究竟值不值得。大家伙儿上 PubMed 一查,发现尽管对于睡眠与认知能力之间的关系在人啊各类动物啊都有许多研究,但在蓝精灵这个物种上竟是一片空白。因此,他们决定自己动手,来填补这项空缺。
他们的实验倒也简单——6 位蓝精灵自告奋勇(为了区分他们,就姑且把他们叫做蔚蓝精灵、深蓝精灵、绿精灵、粉精灵、红精灵和黄精灵吧),分别体验一宿睡 3 小时、6 小时、9 小时,然后在每次睡醒后,在 3 分钟内做 50 道算术题,算出得分。
当然了,为了避免我们前面提到的一些问题,6 位志愿者体验这三个实验条件的顺序不同,而且这三个实验条件之间相隔的时间都足够长,在间隔时间里 6 位蓝精灵的生活作息也保持一致。
实验做完了,数据是骡子是马还得拉出来遛遛。下面,我们就先把三个实验条件下 6 位志愿者的算术题得分画出散点图( y 轴为算术测试得分,x 轴为三个实验条件):
图1 三种实验条件下的算术测试得分
图片来源:作者自绘
看到这个图,我们都会觉得,虽然睡眠时间长一点时,算术测试得分稍有提高,但是貌似影响并不大。关键的问题是,如果把三种实验条件下的数据点看作三个组,那么组与组之间的差别虽然有一些,但比起每个组内部的分散程度,显得并不太大。如果我们普通的 ANOVA 方法套在这些数据上,按照我们此前在《ANOVA在手,多组比较不犯愁》里介绍过的思路,相信大家不需要动笔算,就能猜到组间平方和比较小,组内平方和比较大。
事实上的确如此,如果我们给图里的数据做个 ANOVA,将会得到大于 0.05 的 p 值。也就是说,我们会认为不同睡眠时间对算术测试表现好坏的影响并不具有显著性。
但是真的如此吗?别忘了这三个条件里的数据其实是互相有关联的。我们应该怎样把这一信息包含到 ANOVA 分析里?
我们首先还是借助图形找找直观灵感。上面的图 1 表现了 3 个实验条件下所有的数据点,但是我们并不能看出哪些点其实来自同一个蓝精灵。解决的办法其实就在一段时间以前我们专栏的文章《优雅秀出你的t检验,提升paper逼格!》里。当时,我们讨论了怎样表现成对样本 t 检验的数据和结果,就提到可以在散点图中把匹配的数据点用线连起来。现在我们就试试看,如果把来自同一个蓝精灵的三个数据点连在一起,并且用不同颜色标注不同的蓝精灵:
图 2 三种实验条件下的算术测试得分(用颜色标注不同个体)
图片来源:作者自绘
对比一下图 2 和图 1,虽然数据完全一样,然而给人的直观感觉却很不同。从图 2 中我们很容易能看到,在不同的蓝精灵身上,睡眠时间越多,算术测试得分一般都会越高,这个趋势在不同个体中十分一致。我们还会发现,之前在图 1 中看起来各条件以内很大的误差其实是由个体间本身稳定的差别所引起的。比如说,绿精灵和粉精灵无论多睡少睡,都总是考前两名(正所谓「你大爷还是你大爷」!)。也就是说,6 位蓝精灵之间分数的差别其实有相当一部分来源于各自本身的某些特点和性质(比如智商、对数学的兴趣、努力程度),而不是随机误差。
这有什么用呢?回想一下普通独立样本的 ANOVA 的逻辑,我们把数据总的变异性(总平方和)分拆为组间平方和与组内平方和,分别代表了效应和误差。效应比误差大得越多,那么效应就更显著。
然而,在重复测量的情况下,「组内」(或者更准确地说是「条件内」)平方和其实有一部分并不是误差,而是个体与个体之间本身存在的稳定差别。因此,重复测量 ANOVA 利用我们已知的数据点在不同实验条件或时间点之间的匹配关系,从组内平方和中剔除个体差异,因而最后被认为是随机误差引起的那部分平方和就更小了。效应依然不变,而误差小了,效应的显著性自然在很多情况下也会提高了(见下图)。
图 3 ANOVA 与重复测量 ANOVA 原理比较
图片来源:作者自绘
对于蓝精灵这个例子来说,这样做的确收到了很好的效果——如果我们使用重复测量 ANOVA 进行分析,就会得到 0.001 的 p 值!
那么,这个 p 值是怎样算出来的呢?我们前面所说的把组内(或条件内平方和)进一步分割又到底应该怎样做?还是那句老话——请听下回分解:)
精选每日一题
更多精选题可回顾历史推送文末
题目来源:临床执业医师资格考试往届真题
本期主播:闲闲闲兔
回复「统计学」可查看「说人话的统计学」系列合辑,
点击下方标题可阅读本系列任意文章
>>> 干货 <<<
>>> 自检 <<<
>>> 番外篇 <<<
作者:张之昊
编辑:黑草乌叶