数学 · 统计

方差分析(ANOVA)

Analysis of Variance (ANOVA)

约 30 分钟 · v1

方差分析 ANOVA

math/anova · MATH2099
0 / 3

1 三组以上,别用一堆 t 检验硬凑

比较两组用 t 检验;可要比较三种化肥、四种教学法、五个剂量呢?你可能想"两两都做一次 t 检验"——这是个坑。组数一多,两两比较的误报概率会层层叠加:比 6 次,即便毫无差异,也很容易蒙到一个"显著"。方差分析(ANOVA)用一次检验同时比较所有组,避开这个陷阱。

ANOVA 一次性检验:H₀: 所有组的均值都相等;H₁:至少有一组与众不同。它通过比较两种方差来下结论。

名字叫"方差分析",但目标是比较均值——它巧妙地用"方差"这把尺子来判断"均值差异大不大"。下面就是它的核心招数。

2 核心招数:把总变异拆成两块

ANOVA 把数据的总波动劈成两部分:组间变异(各组均值彼此差多远 = 信号)和组内变异(每组内部本身有多散 = 噪声)。两者一比,就知道"组间差异"到底是真效应,还是被组内噪声淹没的假象。

F = 组间均方 / 组内均方 = 信号 / 噪声。F 远大于 1 → 组间差异盖过组内噪声 → 拒绝"全相等",认为至少有一组不同。

F≈1 表示"组间差异和组内随机波动差不多大",说明那点均值差很可能只是噪声。F 越大越显著。它服从 F 分布,据此查 p 值。

3 F 比值实验台

三组数据(每个点是一个观测,粗线是组均值,黑虚线是总均值)。拖组间分离(把三组均值拉开 = 加大信号)和组内波动(每组内部多散 = 加大噪声)。盯住 F:分离越大、波动越小,F 越大,越说明三组真有别。

组间 vs 组内:F 怎么变

组间均方 = —组内均方 = —F = —结论 = —

4 读出结果之后

显著只说"有人不同"
F 显著 → 拒绝"全相等",但没告诉你是哪几组不同。要找出具体是谁,需做事后多重比较(如 Tukey HSD),它会校正多重比较带来的误报。
为什么不直接两两 t 检验
3 组要比 3 次、5 组要比 10 次,每次都有 5% 误报,累计下来"至少错一次"的概率飙升。ANOVA 用一次整体检验把第一类错误控制住。
前提假设
各组近似正态、方差大致相等、观测相互独立。严重违反时改用非参数方法(如 Kruskal-Wallis)。
和回归同源:ANOVA 本质是"把总平方和拆成可解释 + 残差"的特例,和线性回归用的是同一套方差分解思想——只不过这里的"自变量"是分组类别。

5 试三道(先想,再点)

三道题,点选项即时判;答题进度显示在右侧目录。

一句话带走:

比较三组及以上的均值,用 ANOVA 一次搞定,避免多次 t 检验的误报累积。它把总变异拆成组间(信号)和组内(噪声),算 F=组间均方/组内均方:F 远大于 1 → 至少有一组不同。但 F 显著不说是哪几组,需事后多重比较。前提:各组近似正态、方差相近、独立。