4. 完全随机设计与单因素方差分析

在生物实验中,当我们只研究一个处理因素(如不同饲料配方、不同药物剂量、不同基因型)对某个连续型指标的影响时,最基础也最常用的设计就是完全随机设计(Completely Randomized Design, CRD)。它的核心思想是:把全部实验单元完全随机地分配到各个处理组中,不施加任何区组限制。理解这一设计,需要先回到实验设计的三大基本原则——随机化、重复与区组化。

随机化是保证处理效应估计无偏的前提。它让每个实验单元有同等机会接受任一处理,从而把无法控制的系统误差转化为随机误差。例如要比较 A、B、C 三种饲料对仔猪日增重的影响,共 18 头仔猪,就应先用随机数把 18 头猪打乱,再依次分入三组,而不是按栏舍顺序"前三头给 A、中间三头给 B"。重复指每个处理要有多个独立实验单元,重复次数决定了误差自由度和检验功效;只有 1 次重复时,处理效应与随机误差无法分离。区组化则是当存在已知的、可测量的干扰因素(如窝别、体重段、批次)时,把这些因素作为区组纳入设计,使区组内条件尽量一致,从而把区组变异从误差中剥离出去。完全随机设计不设区组,因此它适用于实验单元背景较为均一、或干扰因素难以事先识别的情形;一旦存在明显梯度(如笼架上下层光照不同),就应改用随机区组设计。

随机化、重复、区组化三者不是并列的口号:随机化解决"偏",重复解决"准不准、稳不稳",区组化解决"误差能不能压小"。完全随机设计保留了前两者,主动放弃了区组化。

单因素完全随机设计模型

设处理因素有 k 个水平,第 i 个水平有 ni 次独立重复,第 i 组第 j 个观测值记为 yij,则单因素完全随机设计的数据模型为:

y_ij = μ + τ_i + ε_ij
其中:
  μ     总体均值
  τ_i   第 i 个处理的效应,满足 Σ n_i·τ_i = 0
  ε_ij  随机误差,独立且服从 N(0, σ²)
  i = 1,2,…,k ;j = 1,2,…,n_i

模型把每个观测值拆成"总体水平 + 处理效应 + 随机误差"三部分。方差分析要回答的问题就是:观测到的组间差异,究竟主要来自真实的处理效应 τi,还是仅仅来自随机误差 εij?为此把总变异分解为处理间变异与处理内(误差)变异两部分,用两者的均方之比构造 F 统计量。

方差分析表与 F 检验

记总平方和 SST、处理平方和 SSA、误差平方和 SSE,自由度分别为 N−1、k−1、N−k(N 为总观测数)。检验统计量 F = MSA / MSE,在零假设 H0:τ1=…=τk=0 下服从 F(k−1, N−k)。当 F 大于临界值或 p 小于显著性水平时,拒绝 H0,认为至少有一个处理与其他不同。

变异来源平方和 SS自由度 df均方 MSF 值
处理间SSAk−1MSA = SSA/(k−1)MSA/MSE
处理内(误差)SSEN−kMSE = SSE/(N−k)—
总变异SSTN−1——

以三种饲料比较仔猪日增重为例,每组 6 头,共 18 头。假设测得三组均值分别为 620 g、680 g、650 g,组内平方和 SSE = 24000,则 SSA 可由各组均值与总均值之差加权求得。若算得 MSA = 10800、MSE = 1600,则 F = 6.75,对应 F(2,15) 的临界值约 3.68,p < 0.01,拒绝 H0,说明三种饲料对日增重的影响存在显著差异。这里所有数值均为教学示例,实际分析须以真实测量数据计算。

单因素完全随机设计:变异分解与 F 检验 18 头仔猪 随机数打乱分配 饲料 A n=6 饲料 B n=6 饲料 C n=6 总变异 SST df = N−1 = 17 处理间 SSA + 误差 SSE df: 2 + 15 F = MSA/MSE = 10800/1600 = 6.75 F(2,15)₀.₀₁≈6.36 F=6.75 > 6.36,p < 0.01 拒绝 H₀:三种饲料日增重差异显著 事后多重比较(Tukey HSD) B vs A 显著;B vs C 显著;A vs C 不显著 示例数据,仅用于说明计算流程

事后多重比较

方差分析的 F 检验是一个"总体性"检验:显著只说明"至少有一组不同",并不告诉你哪两组不同。若直接对每一对组别做多次 t 检验,会因多重比较而抬高第一类错误率。因此需要事后多重比较,常用方法有 Tukey HSD、LSD、Duncan、Bonferroni 等。Tukey HSD 控制的是所有两两比较的整体错误率,适合各组样本量相等或相近的情形;LSD 较宽松,适合事先有明确比较计划时使用。上例中若 Tukey 结果显示 B 与 A、B 与 C 差异显著,而 A 与 C 不显著,则结论应表述为"饲料 B 的日增重显著高于 A 和 C,A 与 C 之间无显著差异",而不是笼统地说"三种饲料都不同"。

方差分析的前提是误差独立、正态、方差齐性。若各组方差明显不等(如某组标准差是其他组的 3 倍以上),应先考虑数据变换(对数、平方根)或改用 Welch ANOVA;若实验单元存在明显梯度而未设区组,误差项会被系统变异污染,F 检验可能失真。

实操要点与结果判读

在软件中执行单因素方差分析,通常只需把"处理"作为因子、"观测值"作为因变量。以 R 为例:

fit <- aov(weight ~ feed, data = pig)
summary(fit)          # 输出方差分析表
TukeyHSD(fit)         # 事后两两比较

判读时先看方差分析表的 p 值:若 p ≥ 0.05,说明现有数据不足以证明处理间存在差异,此时不应再做事后比较;若 p < 0.05,再结合 Tukey 结果定位差异组别,并报告各组均值、标准差与置信区间。同时应检查残差图判断正态性与方差齐性,必要时做 Levene 检验。只有把设计原则、模型假设、方差分析表与事后比较串成一条完整链条,单因素完全随机设计的分析结论才站得住脚。