第6章. 方差分析

本章节实验讲义主要内容包括:

  1. 完全随机设计方差分析
  2. 随机区组方差分析
  3. 析因方差分析

在每个小节中,我们会首先讲述方差是如何分解的,然后再开始SPSS软件操作和结果解读的讲解。至于统计建模这一路径,我们会在后续的实验中讲解。

6.1节. 完全随机设计方差分析

例 5.1 研究大豆对于缺铁性贫血的作用,使用大鼠建立缺铁性贫血模型,36只模型鼠随机分为三组,分别使用三种饲料(1组使用普通饲料,2组使用10%大豆饲料,3组使用15%大豆饲料)喂养一周后测量血红细胞数(\(\times 10^{12}/L\)),分析三种喂养方式是否存在差异?数据见链接:6-1.sav

  1. 根据例题说明,设置好group变量的值标签(参考 小节 2.1.2.1 (设置值标签的方法) ) 以及度量标准
  2. 检验是否符合正态分布 (参考 小节 3.3 (正态性检验) )
  3. 进行方差分析:本例实验设计中,红细胞数是指示结局的因变量,而分组所代表的不同喂养方式则是自变量,实验中没有设置区组,可以进行完全随机设计的方差分析。
one way anova 对话框
Figure 6.1: one way anova 对话框
ONEWAY rbc BY group
  /STATISTICS DESCRIPTIVES HOMOGENEITY 
  /PLOT MEANS
  /MISSING ANALYSIS
  /POSTHOC=TUKEY DUNNETT (1) ALPHA(0.05).

运行语法获得以下结果:

方差分析模型结果
Figure 6.2: 方差分析模型结果
组间比较结果
Figure 6.3: 组间比较结果

dunnett法设置了对照组,所以组间比较数从\({3 \choose 2}=3\)减少到了2。

6.2节. 随机区组设计方差分析

区组作为控制手段,目的在于减少随机抽样为结果带来的变异,可以作为随机因素纳入模型。具体实现方法如下:

例5.2 打开数据6-2.sav,该数据研究补钙药物对绝经期妇女骨密度的影响,按照年龄对受试者划分了7个区组,每个区组4名受试者随机分为4组,按照4个剂量服药观察(第4组是对照组)。经过一年治疗后测定期骨密度的变化值。尝试分析四种剂量组是否存在差异?

一般线性模型

区组因子(block)不仅应作为随机因子纳入模型,事实上由于实验设计,随机因子和固定因子的交叉项实际上是无法,也不应该纳入方差分析的。但SPSS会默认将两者的交叉项纳入分析,如果我们现在直接点击确定按钮可以看到下表所示的结果:

随机区组分析结果-1

思考:可以看到区组因子和随机因子的交叉项group*block对应的误差项SS是0,为什么呢?

所以,对于随机区组设计,在设定了因变量、固定因子以及随机因子以后,接下来还需要进行如下设置:

UNIANOVA bone_density BY group block
  /RANDOM=block
  /METHOD=SSTYPE(3)
  /INTERCEPT=EXCLUDE
  /POSTHOC=group(DUNNETT) 
  /PLOT=PROFILE(group)
  /PRINT=DESCRIPTIVE
  /CRITERIA=ALPHA(.05)
  /DESIGN=group block.

输出结果中,主要的结果包括主体效应检验:

区组分析结果

从结果中可以看到组间存在差异(\(F_{3,18}\)=3.78,p=0.29),说明不同的补钙剂量治疗效果不全相同,可以进一步参考组间比较的结果进行分析。block来源的F值更大,p值更小,但该因素并不是我们研究设计里的主体,这个结果只能印证研究设计中,按照年龄将受试者进行分组是正确的。

我们不妨对这个数据进行单因素方差分析,参考 小节 6.1 (完全随机设计方差分析) , 只考虑分组一个自变量:

单因素ANOVA结果

可以看到在未考虑年龄因素划定区组的时候,组间差异相较于组内差异会在统计学上显得无意义。请注意,不管是单因素ANOVA还是随机区组设计ANOVA,分组因素的平方和都是3.318,引入区组以后,只是从原先的组内SS:18.865中划出来了13.598,使得现在的误差项减少到了5.267,由于误差项(也就是F值的分母部分)减少了,随机区组设计里对分组进行的方差分析获得了阳性的结果。

下图展示了组间比较的结果:

组间比较结果

可以看到只有B组与对照组之间的差异是有显著性的。

6.3节. 析因方差分析

当我们要同时考虑多个自变量对因变量影响的时候,需要使用析因方差分析。接下来以例3进行讲解。

例5.3 在药物敏感性试验中,需要比较三种药物(黄芪,大黄和青霉素)的抑菌效果,研究者使用了三种弥散法(纸片、挖洞以及钢圈),以抑菌环的直径作为观察指标,研究结果见数据6-6.sav。尝试分析比较三种弥散法的效果是否有差异。

析因方差分析
模型对话框

接下来再对其他部分进行设置

DATASET ACTIVATE 数据集2.
UNIANOVA radius BY drug assay
  /METHOD=SSTYPE(3)
  /INTERCEPT=INCLUDE
  /POSTHOC=assay(TUKEY) 
  /PLOT=PROFILE(assay*drug)
  /PRINT=HOMOGENEITY DESCRIPTIVE
  /CRITERIA=ALPHA(.05)
  /DESIGN=drug assay drug*assay.

运行输出结果中主要的几个表格如下:

描述性统计量:

描述性统计

方差齐性结果:

方差齐性

不满足方差齐性要求,考虑到该例题样本量较小,这也是难以避免的结果。目前暂时继续分析

模型评估:

模型分析

与 小节 6.1 (完全随机设计方差分析) 的ANOVA表相比,这个表格毫无疑问更加复杂。这里面包含了五个F值,这里分别说一下:

本例结果中可以看到药物与弥散法的交叉项是具有统计学意义的,对于这种情况需要进一步按照具体情况分析。先看一下均值图:

模型分析

可以看到三种药物的均值折线图不仅没有较好的平行,而且出现了严重的交叉(从模型分析表格也可以看到,交互项的F值甚至大于两个因素中的任何一个)。其中青霉素药物在三种弥散法的趋势是和另外两种弥散法完全相反的。对于这种无法忽视的交互作用,首先应该从专业角度考察实验设计是否存在问题。另外,如前所述,本例数据样本量较小,且方差齐性假定未得到满足,这些都会对统计结果产生影响。

当交互项(drug*assay)确实存在统计学意义,但其影响并不甚重要时,可以尝试比较下面几种模型的调整R方来选择最好的模型(以调整R方最大的为优先)

比如现在有因素A与B作为自变量,Y为因变量

  1. Y~A+B (A,B作为固定因子,模型设定为加入A,B的主因素模型)
  2. Y~A+B+A*B (A,B作为固定因子,模型选择全因素)
  3. Y~A*B (A,B作为固定因子,模型设定为AB交互因素)

如果模型3的调整R方较小,可以考虑交互项影响不大。

6.4节. 方差分析结果的汇报

以完全随机设计方差分析为例:

三种饲料喂养后大鼠血红细胞数存在统计学差异(\(F_{2,33}\)=42.92,p<0.001),具体数据见表2,对三种饲料进行组间比较可得,10%大豆饲料与对照组(MD=1.14, p=0.002)和15%大豆饲料与对照组(MD=2.92,p<0.001)均存在差异。

表2

6.5节. 正交试验设计

在药学实验中,往往有多种影响结果的因素,每个因素又可以有多种取值,如果遍历所有可能那么实验工作量会非常大,而通过正交试验设计则可以减少所需的实验组数。

例5.4 研究者尝试寻找合成一种化合物的优化方法,研究者准备在三种反应温度(20摄氏度,35摄氏度,40摄氏度),三种底物浓度(40%,60%,80%)和三种酶(A酶,B酶,C酶)中寻找最优方案,请协助研究者拟定正交试验方案。

  1. 打开spss,新建数据文件
  2. 数据 > 正交设计 > 生成,打开生成正交设计对话框
img09
  1. 依次加入三种因素,以反应温度为例:
    1. 反应温度
      1. 因子名称: temperature
      2. 因子标签: 反应温度
      3. 点击添加
      定义值
      1. 点击新添加的 temperature ‘反应温度’ (?),然后点击定义值,打开生成设计:定义值对话框
      定义值
      1. 如上图所示,由于温度有三个水平,依次录入1,2,3,并设置对应的值标签,点击继续
    2. 其他两个因素以此类推
  2. 定义数据文件名:
    • 数据文件
      • 选择创建新数据集
        • 数据集名称:录入数据集名称,如design
  3. 点击确定运行后生成数据集如下:
result

\(3^3=27\)个实验相比,现在缩减到了9种实验方案。请问:如果每种实验方案需要的样本量是4,那么完成9种方案需要的样本量是多少?

答案是36不是9

  1. 显示正交设计方案:现在虽然数据文件里已经列举了9种方案里四个因素的取值,但是看起来还是不大好懂。最好是使用显示方案的功能将方案整理出来
    1. 数据 > 正交设计 > 显示,打开显示设计对话框
    display
    1. 将三个因素变量(temperature,concentration和enzyme)移动到因子一栏
    2. 格式
      • 试验者列表
      • 群体配置文件
    3. 点击确定获得输出结果
    result

6.6节. 练习题

  1. 打开ch5_exe_1.sav。数据为使用三种教学方法后,学生的考评成绩。
    1. 本题数据属于宽数据,参照 小节 4.2.2.4 (宽数据向长数据的转化) 将其转换为长数据
    2. 不考虑IQ区组的情况下,按照完全随机设计方差分析的流程分析三种教学方法所得的考评成绩是否存在差异
    3. 考虑IQ区组,进行区组方差分析,评价三种教学方法所得的考评成绩是否存在差异,并进行组间比较。
  2. 打开ch5_exe_2.sav。研究者将受试者分为三组,分别使用三种不同的方法干预(第三组为对照组)。
    1. 按照以下要求进行数据预处理:
      • 设置变量标签:age: 年龄,gender:性别,group:分组,score:测评得分
      • 设置值标签:
        • 性别:1:男,2:女
        • 分组:1:认知治疗,2:认知治疗+物理治疗,3:常规治疗
      • 将年龄划分为25岁以下,25岁及以上两组,重编码后的变量名为 age_coded,并设置相应的值标签
    2. 只考虑分组这一个自变量,考察不同分组所得的效果评分( score )是否存在差异
    3. 研究者根据专业知识,认为年龄以及性别也会对治疗的效果产生影响,请进行析因方差分析,考察以下问题:
      • 年龄与治疗分组,性别与治疗分组之间是否存在交互作用?
      • 加入年龄以及性别两个因素以后,不同治疗组所得的效果评分是否存在差异?这一结论与第二问所得的结论是否一致?
      • 只考虑分组因素的模型,其调整R方是多少?年龄+性别+分组析因方差分析模型的调整R方是多少?
  3. 某研究者需要开展一个4因素的实验,具体包括温度(20,30,38摄氏度),反应时间(1分钟,2分钟,5分钟),底物浓度(10%,20%,40%)以及催化剂(A,B),请利用SPSS的正交试验设计功能给出设计方案。