方差分析(Analysis of Variance, ANOVA)放在第二章讲,是因为它和 t 检验同为参数检验,然而并不代表方差分析简单,相反,方差分析是我们在医学研究当中使用最为广泛,方法最为复杂的方法,咨询方差分析相关问题的客户也是非常多的。如何选择合适的方差分析模型,如何解读方差分析的结果,如何对结果进行合适的可视化展示,都是我们将要探讨的话题。本章的统计分析将采用SPSS 27.0 (突然发现SPSS已经出到了 28.0 版本,所以下了 27.0,惊喜的发现 SPSS 27.0 新添加了功效分析模块,所以各位赶紧去下载吧,以后就不用再为了计算样本量而发愁了哈哈),除了SPSS,有些方法还会用到 R 4.2.1。废话不多说,开始本章关于ANOVA的讲解。
1 适用场景
1.1 比较多组样本均数的差异;
1.2 比较多个分组变量下待研究指标均数的差异以及不同分组变量的交互作用。
2 应用条件(与t检验一致,不再具体介绍)
2.1 随机样本
2.2 正态分布
2.3 方差齐性
3 案例思考
3.1 数据来源
本章案例在上一章的基础上增加相应变量,数据模拟了200名糖尿病患者在用药前和用药2年后的(身体质量指数)BMI数据,其中,男性100人,女性100人,分别在基线期、2年后和5年后测量其空腹血糖(GI)、身高、体重并计算BMI,同时调查了患者的学历、年龄数据具体情况见下图(考虑到篇幅问题仅展示10个样本):
3.2 问题思考:基于这一数据,我们提出如下两个假设:
假设1:不同学历的调查人群BMI不同
假设2:不同性别和不同学历的调查对象BMI的差异
假设3:不同性别的调查人群血糖指数的变化受年龄的影响
4 统计分析
4.1 单因素方差分析(one-way ANOVA)
针对假设1:不同学历的调查人群BMI不同,仅有一个多分类的分组变量,不同分组的样本分别来自不同独立总体,因此我们考虑采用 one-way ANOVA。首先,需要对其使用条件进行检验。
4.1.1 正态性和方差齐性检验
正态性与方差齐性检验的操作步骤与上一章t检验的方法相同,这里不再赘述,本例正态性和方差齐性检验结果如下:
结果解读:正态分析结果显示,不同学历调查对象的BMI均服从正态分布且方差齐,因此继续进行方差分析。
4.1.2 One-way ANOVA
(1)分析→比较平均值→单因素ANOVA检验→j将变量“bmi”选入“因变量列表”框,将变量“education”选入“因子”框:
(2)点击“选项”按钮→勾选“描述”→点击“继续”按钮返回上一级窗口:
(3)点击“确定”按钮输出结果:
结果解读:第一个表“描述”展示了不同学历调查对象的例数及BMI的均值和标准差,使我们制表需要用到的3个参数;第二个表“ANOVA”展示了方差分析的结果,结果显示,组间F = 0.304,p = 0.738 > 0.05,提示不同学历调查对象的BMI没有显著差异,因此我没不能拒绝假设1的原假设。按照惯例,我们需要在分析结束时做一下功效分析,因为 SPSS 27.0 增加了功效分析模块,所以让我们来试试:
(4)分析→功效分析→平均值→单因素ANOVA检验→选择“估算”功效,根据步骤(3)中的“描述”表的结果填写合并的标准差以及3组的“组大小”(样本量)和“均均值”→“显著性水平”默认为0.05:
(5)点击“确定”,输出结果:
结果解读:很遗憾,根据我们数据的参数得到的功效仅为0.099,可以说是效果非常一般,不过好消息是 SPSS 的功效分析模块非常友好!
4.2 双因素方差分析(Double factor variance analysis, Two-way ANOVA)
针对假设2:存在两个分组变量:性别和学历,因此选用 双因素方差分析 比较不同性别不同学历调查对象的BMI差异:
4.2.1 正态性和方差齐性检验
我们考虑根据性别和年龄将样本分为6组,包括高中及以下女性、本科女性、硕士及以上女性、高中及以下男性、本科男性、硕士及以上男性,对6组进行正态性和方差齐性检验,方法一致,结果如下:
结果解读:6组BMI均服从正态分布,但方差不齐,严谨来说,不服从方差齐性并不能进行方差分析,这里需要进行双因素的非参数Scheirer-Ray-Hare检验,但这种方法 SPSS 并不支持,我在这先假定方差齐,使用 SPSS 27.0 行双因素方差分析,再展示 R 4.2.1 的双因素非参数Scheirer-Ray-Hare检验结果:
4.2.2 双因素方差分析
(1)分析→一般线性模型→单变量→将变量“bmi”选入“因变量”框,将变量“gender”和“education”选入“固定因子”框:
(2)点击“选项”按钮,勾选“描述统计”,点击“继续”按钮返回上一级窗口:
(3)点击“确定”按钮输出结果:
结果解读:SPSS 默认输出包括两个主效应和交互效应的结果,我们先看交互效应,性别与学历的交互效应不显著p=(p=0.904>0.05),我们再看主效应,性别这个主效应显著(F=127.882,p<0.001),而学历(p=0.155>0.05)不显著,结果提示我们,仅不同性别的BMI有显著差异,具体表现为男性BMI显著高于女性(21.63±2.35 vs. 18.87±3.40),结合柱状图我们可以直观的看出差异。淡然这是假定方差齐做的参数检验的结果,由于不同分组的BMI方差不齐,因此,我们应该进行双因素非参数Scheirer-Ray-Hare检验,R语言的运行结果如下:
结果解读:可以看出,Scheirer-Ray-Hare检验结果与 Two-way ANOVA 的结果基本相同。
4.3 协方差分析(Analysis of covariance, ACNOVA)
针对假设3:不同性别的调查人群BMI的变化受年龄的影响。前面的分析已经得出了不同性别间BMI存在显著差异,那么随着年龄的增长,这种差异会有变化吧?由于年龄是个定量变量,因此我们将年龄作为协变量进行协方差分析:
(1)分析→一般线性模型→单变量→将变量BMI选入“因变量”框,将变量gender选入“固定因子”框,将变量age选入“协变量”框:
(2)点击“模型按钮”→选择构建项→将变量age,gender和两者的交互项age*gender分别选入右边的“模型”框→点击“继续”按钮返回上一级窗口:
(3)点击“确定”按钮输出结果:
结果解读:“主体间效应检验”表展示了协方差分析的结果,结果显示年龄与性别的交互效应无统计学意义,协变量年龄对BMI无显著影响,在控制了年龄的影响后,不同性别人群BMI无显著差异,均p>0.05。
5 本章总结
5.1 介绍了方差分析的适用场景及应用条件
5.2 介绍了单因素方差分析的操作步骤
5.3 介绍了双因素方差分析的操作步骤
5.4 介绍了协方差分析的操作步骤
方差分析的内容实在太多,这里我们只介绍平时经常会用到的方法,因为方差分析与 t 检验,因此将这两部分内容放到前面,后面的章节,我会针对非正态分布的数据给各位介绍非参数检验。