跳到主要内容

差异性分析-参数检验

协方差分析

在排除连续协变量的基线干扰后,再判断分组对定量因变量是否还有净效应,并给出修正均值。

更新日期 2026-08-29 组间差异

这篇能回答什么

协方差分析要处理的不是「两组数学成绩的原始均值谁高」,而是「把语文成绩拉到同一水平之后,性别对数学成绩还有没有独立贡献」。它同时吸收了回归与方差分析:协变量以斜率进入模型,分组以因子进入模型,残差均方充当噪声尺度。输出里真正对应研究问题的,是主效应那一行的 F、P 与偏 η²,以及第二张表的修正均值(估计边际均值)。

教学场景常见于:实验组与对照组的后测比较,但入组前基线分数已经不平;观察数据里想控制年龄、工龄、前测或另一门相关成绩。本页定量成绩示例把「性别」当作分组、「语文成绩」当作协变量、「数学成绩」当作因变量,正是这种「先抽掉一门相关成绩,再谈男女净差」的写法。

先排除这些情形

协变量若发生在分组之后、或被分组所改变(治疗后测当协变量),调整会把处理效应一并抹掉,应改回单因素方差分析或独立样本 t 检验。第二个定类因素及其交互不是协变量,应使用双因素方差分析。只想看语文如何预测数学、不比较组,用线性回归。协变量与分组的斜率明显交叉时,单一斜率的 ANCOVA 不再够用。

如何选择方法

问自己三件事:有没有必须控制的连续基线?分组是几个水平?因变量是不是一个连续指标。有连续基线、一个定类分组、一个定量结局 → 协方差分析。没有协变量且恰好两类 → 独立样本 t;没有协变量且三类以上 → 单因素 ANOVA。两个定类因素 → 双因素。多个定量结局想联合检验 → 多变量方差分析。

  • 协方差分析:1 个定类分组、1 个定量因变量、1–10 个连续协变量;报告 Type II 平方和、F、修正均值。

  • 独立样本 t / 单因素 ANOVA:同样比较组均值,但不调整连续混杂。

  • 双因素方差分析:第二个因素是定类而不是连续。

  • 线性回归:把分组虚编码后与协变量放在同一方程,系数与 ANCOVA 可互译,但界面不直接给出修正均值表。

输入、输出与限制

角色是固定的三槽,不能省。分组槽只收 1 个定类列;因变量槽只收 1 个定量列;协变量槽至少 1 个、最多 10 个定量列。学号、姓名这类标识列既不能当分组,也不能当协变量。

  • 分组变量:恰好 1 个定类字段。

  • 分析变量(因变量):恰好 1 个定量字段。

  • 协变量:1 至 10 个连续定量字段。

第一张表按方差来源拆开:主效应、每一协变量、误差。列包括平方和、自由度、均方、F、P、偏 η²。第二张表对每个组给出原始观测均值与剔除协变量后的修正均值。本实现采用 Type II 平方和;误差行的 F、P、偏 η² 为空,这是残差项,不是漏算。三列按行同时删缺失,因此误差自由度会小于成绩表总行数。

  • 不能一次放两个分组因素;那是双因素方差分析的界面。

  • 不能零协变量运行;没有可调的连续项时请改用 t 或 ANOVA。

  • 因变量不能一次勾选语文和数学两列;要对第二门课再跑一次。

  • Type II 与 SPSS 默认 Type III 在不平衡设计上可能略有差别,核对前先对齐平方和类型。

案例

研究问题。 定量成绩簿里男生、女生的数学原始均值只差约 1 分,但有人怀疑「语文更好的学生数学也更好,性别比较被另一门课带着走」。于是把语文成绩当作协变量,问:控制语文之后,性别对数学还有没有净效应?

示例文件是定量成绩表 Sheet1。模型按性别、语文、数学三列同时有值的行拟合,误差自由度 777,对应有效样本 780(777+1+2)。男生原始数学均值 74.4876、修正 74.5012;女生原始 75.5085、修正 75.4956。语文这一协变量几乎没拉动组均值,主效应 P=0.323。把同一张表拖进工作台即可复现两张结果表。

下载定量成绩示例(ANCOVA 用性别 / 语文 / 数学)

在 StatsX 中操作

  1. 步骤 1 · 装入成绩簿并锁定 Sheet1

    工作台上传区接受 xlsx / csv / json。本例用定量成绩簿,活动表选 Sheet1。学号、姓名留在表里没关系,后面不要把它们放进任何角色槽。

  2. 步骤 2 · 在画像里核对三列的测量级别

    「性别」应是男 / 女两个水平的定类;「语文成绩」「数学成绩」应是连续定量。若语文被误判成定类,先回到列画像改正,否则协变量槽不会接受它。

  3. 步骤 3 · 在目录里点开协方差分析

    搜索「协方差」或 ANCOVA。不要点成单因素方差分析——那个界面没有协变量槽,跑出来的是未调整的年级或性别比较。

  4. 步骤 4 · 按「分组 / 协变量 / 因变量」三槽填列

    分组变量:性别。协变量:语文成绩。分析变量:数学成绩。本例只放 1 个协变量;若还要控制英语成绩,可以再勾进协变量槽(上限 10)。然后运行。

  5. 步骤 5 · 先对修正均值,再读主效应行

    第二张表看调整后男女是否还分开;第一张表读「主效应 (性别)」的 F 与 P。协变量行只说明语文是否解释数学,不能代替分组结论。

工作台上传区放入定量成绩簿
定量成绩示例拖入上传区,确认活动表为 Sheet1。
算法目录中高亮协方差分析
在目录中选择「协方差分析」,不要误选普通 ANOVA。
分组填性别、协变量填语文、因变量填数学
三槽分别放入性别、语文成绩、数学成绩后运行。

如何阅读输出

检验表的第一行是研究问题本身。「主效应 (性别)」平方和 192.0688,自由度 1,均方 192.0688,F=0.9765,P=0.323,偏 η²=0.0013。按 α=0.05 不能拒绝「调整后男女数学均值相同」。偏 η² 只有千分之一量级,净效应在样本里几乎看不见。

协方差分析 (ANCOVA) 检验表 (因变量: 数学成绩)
方差来源平方和 (SS)自由度 (df)均方 (MS)F值P值偏Eta方 (η²p)
主效应 (性别)192.06881192.06880.97650.3230.0013
协变量 (语文成绩)42.4512142.45120.21580.6420.0003
误差 (Residual)152834.1517777196.6977---

左右滑动可查看完整表格

采用 Type II 平方和。如果在控制了协变量后,主效应仍显著,说明分组差异真实存在。

协变量行「协变量 (语文成绩)」F=0.2158,P=0.642,偏 η²=0.0003。在本示例里,语文几乎解释不了数学的残差,所以调整前后的组均值几乎贴在一起。误差行平方和 152834.1517、自由度 777、均方 196.6977,它是 F 的分母,没有自己的 P 值。

修正均值表把「看起来的组差」和「调整后的组差」并排。男生原始 74.4876 → 修正 74.5012;女生原始 75.5085 → 修正 75.4956。原始差约 1.02 分,调整后仍约 0.99 分,方向不变、幅度几乎不动——这与协变量不显著是同一件事的两种说法。

分组修正均值对比 (Estimated Marginal Means)
分组 (性别)原始观测均值剔除协变量干扰后的修正均值 (Adj Mean)
男74.487674.5012
女75.508575.4956

修正均值是在假定所有分组的协变量处于整体平均水平时,重新估算出的纯净组间均值。

工作台中的 ANCOVA 检验表与修正均值表
工作台两张表应与上文数字一致;误差行的空单元格表示残差无 F。
男女数学成绩原始均值与修正均值对照图
柱形对比原始均值与修正均值;精确到小数的数字以表为准。

【分组净效应】统计不显著(p=0.323, α=0.05)。结论:组间差异可能由协变量基线不一致造成,净组间效应不显著。

写作顺序可以是:有效自由度 → 协变量是否值得控制 → 主效应 F/P/偏 η² → 修正均值谁高谁低。本例协变量弱、主效应不显著、修正均值几乎重合,结论应写成「在控制语文成绩后,未检出性别对数学成绩的净差异」,而不是「语文把性别差异解释掉了」——后者暗示原来存在可被解释的组差,与 P=0.323 不符。

理论与公式

设第 i 组第 j 人的因变量为 Y_{ij},协变量为 X_{ij}。常见的单协变量 ANCOVA 把组效应与一条共同斜率写在一起:

原假设 H₀: 所有 τ_i 相同,也就是调整到同一协变量水平后各组均值相等。共同斜率 β 表示协变量每偏离总均值 1 个单位,Y 的期望变化。组 i 的修正均值把该组协变量均值拉回总均值:

本页平方和按 Type II 分解:在模型已含协变量的前提下,再评估「去掉分组」所损失的平方和,得到主效应 SS;对称地,在已含分组的前提下评估协变量。F 仍是均方比:

误差自由度在单协变量、两组时为 N−2−1。本例 df=777,故 N=780。偏 η² 的分母不含其它效应的平方和,因此它不是「占总变异的比例」那种 η²;本例主效应 0.0013 按 Cohen 的经验标尺属于极小。模型默认各组斜率相同;若要检查性别×语文交互,需要另建含交互的回归,而不是读这一张 Type II 表。

注意事项

  • 协变量应在分组之前测量,或至少不被分组所改变,否则调整会吃掉处理效应。

  • 共同斜率不成立时,修正均值的「拉到总均值」没有统一尺子,不要只报告一个 Adj Mean。

  • 主效应不显著不能改口写成「协变量解释了组差」;本例协变量本身也不显著。

  • 一次只允许 1 个因变量,分别跑语文、数学会抬高假阳性,应预先指定主结局。

  • 残差自由度按列同时删缺失计算,论文里应写 N=780,而不是成绩簿的总行数。

  • 把定类协变量(如班级)塞进协变量槽是错的,应改用第二个因素或回归虚编码。

常见问题

参考文献

  • Maxwell, S. E., Delaney, H. D. Designing Experiments and Analyzing Data. Routledge.

  • Rutherford, A. ANOVA and ANCOVA: A GLM Approach. Wiley.

  • Cohen, J. Statistical Power Analysis for the Behavioral Sciences. Routledge.

  • 贾俊平. 统计学[M]. 中国人民大学出版社.