正在加载中...

组间比较 · 005

单因素方差分析(含 Kruskal-Wallis)

比较三组及以上均值,并附事后检验与 Kruskal-Wallis。

进入一键分析
本模型一次分析会同时输出「单因素方差分析」与「Kruskal-Wallis 检验(非参数替代)」两部分结果,下面分别说明。

1. 单因素方差分析

方法概述

(1)单因素方差分析(one-way ANOVA)用于比较三个或更多相互独立的群体在某个数值结果上的平均水平是否存在差异。它先检验“所有组的总体均值是否相同”,如果总体检验显著,再通过事后比较判断哪些组之间存在差异。

(2)例如,可以比较不同年级学生的成绩、不同服务方案下的满意度、不同地区用户的消费金额,或不同实验条件下的反应时间。

(3)方差分析的总体检验是一个整体判断,并不会直接告诉我们哪两组不同。只要组数超过两组,就不应把多个两两 t 检验作为默认替代,因为重复检验会提高第一类错误率。

适用问题与不适用问题

适用问题

单因素方差分析适合:

  • 一个分类分组变量包含三个或更多互斥组别;
  • 结果变量是数值变量,或由同一量表维度的题项计算出的得分;
  • 每个观测对象只属于一个组,组间相互独立;
  • 研究问题关注不同组的平均水平是否不同。

不适用或需要改用其他方法的情况

  • 只有两个独立组:可使用独立样本 t 检验;
  • 同一对象存在前后两次或多次测量:考虑配对 t 检验或重复测量方法;
  • 结果变量明显为等级数据且分布严重偏态:可考虑 Kruskal-Wallis 检验;
  • 两个分类变量的关联:使用卡方检验;
  • 同时存在两个以上分组因素:应考虑双因素方差分析或更合适的模型;
  • 一个观测对象被同时放入多个组,或组间存在配对关系:不能按普通单因素方差分析处理。

不要为了得到显著结果而随意合并组别。合并组别会改变研究问题,并可能掩盖非线性或局部差异。

数据结构和输入要求

数据应按“每行一个观测对象、每列一个变量”整理,至少包含一列分组变量和一列结果变量。

编号教学方式成绩
1方式一78
2方式二85
3方式三91

分组变量可以是文字或有明确含义的数字编码,但必须至少有三个有效类别。结果变量应为数值,特殊缺失值、拒答和超出量表范围的数值应先处理。

每个组都需要有足够的有效观测。分析使用分组变量和结果变量同时有效的记录,因此有效样本量可能小于原始行数。若某组没有有效观测,或结果变量在组内完全没有变化,应谨慎解释或停止分析。

分析流程

单因素 ANOVA:分析流程(系统流程图)
单因素 ANOVA:分析流程(系统流程图)。

方差分析的数学原理

设有 (k) 个组,第 (j) 组有 (n_j) 个观测,第 (i) 个观测值为 (x_{ij}),总样本量为:

N=\sum_{j=1}^{k}n_j. \tag{1.1}

第 (j) 组均值、总体均值分别为:

\bar{x}_j=\frac{1}{n_j}\sum_{i=1}^{n_j}x_{ij}, \qquad \bar{x}=\frac{1}{N}\sum_{j=1}^{k}\sum_{i=1}^{n_j}x_{ij}. \tag{1.2}

总平方和、组间平方和与组内平方和

总平方和反映所有观测值相对于总体均值的总变异:

SS_T=\sum_{j=1}^{k}\sum_{i=1}^{n_j}(x_{ij}-\bar{x})^2. \tag{1.3}

组间平方和反映各组均值相对于总体均值的变异:

SS_B=\sum_{j=1}^{k}n_j(\bar{x}_j-\bar{x})^2. \tag{1.4}

组内平方和反映同一组内部观测值相对于本组均值的变异:

SS_W=\sum_{j=1}^{k}\sum_{i=1}^{n_j}(x_{ij}-\bar{x}_j)^2. \tag{1.5}

三者满足:

SS_T=SS_B+SS_W. \tag{1.6}

均方与 F 统计量

组间和组内自由度分别为:

df_B=k-1, \qquad df_W=N-k. \tag{1.7}

对应的均方为:

MS_B=\frac{SS_B}{k-1}, \qquad MS_W=\frac{SS_W}{N-k}. \tag{1.8}

单因素方差分析的 F 统计量为:

F=\frac{MS_B}{MS_W}. \tag{1.9}

原假设和备择假设为:

H_0:\mu_1=\mu_2=\cdots=\mu_k, \tag{1.10}
H_1:\text{至少有一组总体均值不同}. \tag{1.11}

当 p 值小于预先设定的显著性水平时,拒绝均值完全相同的原假设,但仍需事后比较确定差异来自哪些组。

假设检查与稳健性

方差分析通常需要关注:观测独立性、组内近似正态性和方差齐性。独立性主要由研究设计决定,不能靠统计检验补救。

如果各组样本量接近且偏离正态程度不严重,方差分析对轻微偏离通常具有一定稳健性。若方差明显不齐,可考虑 Welch 方差分析;若结果变量为等级或极度偏态,可同时参考 Kruskal-Wallis 检验。

方差齐性检验 p 值较小,表示方差可能不齐,不代表均值检验必然无效;这时应优先使用不要求等方差的 Welch 结果,并在结果中说明。

事后检验和效应量

总体 F 检验显著后,常见的事后比较包括 Tukey HSD、Games-Howell 等。方差齐且各组样本量相近时可考虑 Tukey;方差不齐或样本量差异较大时,Games-Howell 通常更合适。

事后检验应给出两组均值差、标准误、置信区间和经过多重比较校正的 p 值。不能只报告未经校正的两两 p 值。

常用的 eta squared 为:

\eta^2=\frac{SS_B}{SS_T}. \tag{1.12}

它表示总变异中由分组因素解释的比例。也可以使用 omega squared:

\omega^2=\frac{SS_B-(k-1)MS_W}{SS_T+MS_W}. \tag{1.13}

效应量描述差异大小,p 值描述证据强弱,二者不能互相替代。

结果表格和图形的阅读方法

系统输出的工作表(analysis_tables.xlsx):单因素方差分析、方差分析事后检验、组间检验假设、Kruskal-Wallis检验、描述性统计、相关矩阵、相关显著性、显著性标记、缺失值报告、频数统计、Spearman相关、Spearman显著性、Spearman显著标记(Spearman 三项在标准模板下输出)。

示例(来自系统结果包,示例数据)。

单因素方差分析表:

结果变量组数组间df组内dfFpη²
结果得分3211720.4739<0.0010.259249
满意度3211712.2904<0.0010.173616

方差分析事后检验表:

组别1组别2均值差tdfp校正后p
乙组甲组0.49653.746277.983<0.0010.001027
乙组丙组-0.296-2.450975.3770.0165670.0497
甲组丙组-0.7925-6.504574.979<0.001<0.001

建议至少查看:

  1. 单因素方差分析表:组数、组间/组内自由度、F、p 值和 η²(效应量);
  2. 方差齐性:Levene F / p 与「是否齐性」;
  3. 事后比较表:两两的均值差、t、自由度、p 及校正后 p(Bonferroni);
  4. 分组均值置信区间图或分组箱线图。

均值图适合观察组间方向,箱线图适合观察中位数、四分位距和异常值。误差线必须注明代表标准差、标准误还是置信区间。

系统结果包中的实际图形(示例数据):

分组均值置信区间图(系统实际输出)
分组均值置信区间图(系统实际输出)。
分组箱线图(系统实际输出)
分组箱线图(系统实际输出)。

结果表述边界

可以表述为:“不同教学方式下的成绩均值存在统计学差异,(F(df_B,df_W)=...,p=...)。事后比较显示,方式三显著高于方式一。”

不能只根据方差分析结果写成“教学方式导致成绩提高”。普通横断面数据只能说明组间差异,因果解释需要随机分组或其他严谨研究设计。

常见问题

  • F 检验显著但事后比较都不显著:可能与多重比较校正、样本量或组间差异分散有关,应如实报告。
  • 三组数据直接做多次 t 检验:会增加第一类错误,不应作为默认做法。
  • 只看 p 值不看均值和效应量:无法说明差异方向和实际大小。
  • 把同一对象的前后测当成独立组:会破坏独立性,应改用配对方法。

结果表述边界

方差分析结论应限定在当前样本、当前结果变量和当前分组定义内。统计显著不等于实际重要,也不等于因果成立。

2. Kruskal-Wallis 检验(非参数替代)

方法概述

(1)Kruskal-Wallis 检验用于比较三个或更多相互独立群体的秩次分布,是单因素方差分析的非参数替代方法。它把所有组的结果合并排序,检验各组的秩次是否存在系统差异。

(2)它适合结果变量具有等级性质、分布明显偏态、存在异常值,或方差分析的正态性假设不够可靠的情况。总体检验显著后,需要使用经过多重比较校正的事后检验,才能判断具体哪些组不同。

适用问题与不适用问题

适用情形:

  • 分组变量至少有三个相互独立的类别;
  • 结果变量至少具有可排序的等级信息;
  • 每个观测对象只属于一个组;
  • 研究问题关注不同组的整体位置或秩次分布。

不适用情形:

  • 两个独立组:考虑 Mann-Whitney U 检验;
  • 同一对象多次测量:考虑 Friedman 检验或重复测量模型;
  • 结果变量是无序类别:考虑卡方检验;
  • 多个因素共同影响结果:应考虑更合适的多因素模型。

若各组分布形状相近,显著结果可近似解释为组间位置或中位数差异;若形状差异明显,应表述为整体分布或秩次分布差异。

数据结构和输入要求

编号组别评价等级
1一组4
2二组2
3三组5
4一组3

分组变量应至少有三个有效类别,结果变量为数值或有序等级。检查类别名称是否一致、是否存在空白和拼写差异,并确保每组都有足够的有效观测。

分析流程

H 统计量公式

设共有 (k) 组,总样本量为 (N),第 (j) 组样本量为 (n_j),该组秩和为 (R_j)。Kruskal-Wallis 统计量为:

H=\frac{12}{N(N+1)}\sum_{j=1}^{k}\frac{R_j^2}{n_j}-3(N+1). \tag{2.1}

在没有严重并列值且样本量足够时,(H) 近似服从自由度为 (k-1) 的卡方分布:

H\approx\chi^2_{k-1}. \tag{2.2}

存在并列值时,需要使用并列校正。若第 (g) 个并列组包含 (t_g) 个相同秩次,则常见校正系数为:

C=1-\frac{\sum_g(t_g^3-t_g)}{N^3-N}, \tag{2.3}

校正后的统计量可写为:

H_c=\frac{H}{C}. \tag{2.4}

具体实现可能使用精确方法或不同的小样本校正,结果表应标明所采用的统计量和 p 值方法。

事后比较和效应量

总体 H 检验显著只说明至少有一组不同,不能说明所有组两两不同。常见的事后方法是 Dunn 检验,并使用 Bonferroni、Holm 或 Benjamini-Hochberg 等方法校正多重比较。

可以使用 epsilon squared 描述组别对秩次变异的影响:

\varepsilon^2=\frac{H-k+1}{N-k}. \tag{2.5}

它是样本效应量的近似指标,应结合组间中位数、四分位距和研究背景解释,不能把它当作因果效应。

结果表格和图形的阅读方法

系统输出的工作表(analysis_tables.xlsx):Kruskal-Wallis检验;另含 描述性统计 等基础表。

建议查看各组有效样本量、中位数、四分位数、秩均值,以及 H、自由度、p 值、事后比较和效应量。箱线图有助于判断差异是位置变化、离散程度变化还是异常值造成的。

分组箱线图(系统实际输出)
分组箱线图(系统实际输出)。

结果表述边界

可以表述为:“Kruskal-Wallis 检验显示,不同组的结果秩次分布存在差异,(H(df)=...,p=...)。Dunn 事后比较并经 Holm 校正后,二组高于一组。”

如果组间分布形状差异明显,应写“整体分布存在差异”,不要直接写成“各组中位数存在差异”。

常见问题

  • 总体检验显著就认为每组都不同:必须查看事后比较。
  • 事后比较不校正 p 值:会提高多重比较的假阳性风险。
  • 忽略并列秩:问卷等级数据常有大量并列,应使用并列校正。
  • 把独立组方法用于重复测量:同一对象的多组测量需要配对或重复测量方法。