- 注意需要考虑样本的平衡
一、多重比较方法分类
1. 基于方差齐性假设的方法
| 方法 | 核心思想 | 优点 | 缺点 | R 函数 |
|---|---|---|---|---|
| LSD (最小显著差异法) | 用 t 检验做所有两两比较,不控制总体错误率 | 检验力最高,最敏感 | 犯Ⅰ类错误概率最大 | pairwise.t.test(..., p.adj="none") |
| Tukey HSD | 基于学生化极差分布,控制族系错误率 (FWER) | 严格控制FWER,适用于所有两两比较 | 较保守,检验力较低 | TukeyHSD(), multcomp::glht() |
| Bonferroni | 将显著性水平α除以比较次数 | 简单易懂,非常保守 | 过于保守,检验力很低 | pairwise.t.test(..., p.adj="bonferroni") |
| Scheffé | 最保守的方法,允许任何形式的比较(包括复杂对比) | 可进行任意线性对比,FWER控制严格 | 检验力最低 | ScheffeTest() (DescTools) |
2. 方差不齐时的方法
| 方法 | 适用场景 | 特点 | R 函数 |
|---|---|---|---|
| Games-Howell | 方差不齐+样本量不等 | 非参数方法,无需方差齐性假设 | rstatix::games_howell_test(), PMCMRplus::gamesHowellTest() |
| Tamhane’s T2 | 方差不齐但需控制FWER | 保守,适用于方差异常大的情况 | rstatix::tamhane_t2_test(), PMCMRplus::tamhaneT2Test() |
3. 非参数方法(数据非正态)
| 方法 | 基于的检验 | 特点 | R 函数 |
|---|---|---|---|
| Dunn’s Test | Kruskal-Wallis 秩和检验 | 控制FWER,适用于非正态数据 | dunn.test::dunn.test(), rstatix::dunn_test() |
| Conover-Iman | Kruskal-Wallis 秩和检验 | 比Dunn检验更强大 | PMCMRplus::posthoc.kruskal.conover.test() |
| Nemenyi | Friedman 检验 | 用于随机区组设计 | PMCMRplus::posthoc.friedman.nemenyi.test() |
二、方法选择决策树
graph TD A[ANOVA/Kruskal-Wallis显著?] --> B{数据是否正态?}; B -->|是| C{方差是否齐性?}; B -->|否| D[使用非参数方法]; C -->|是| E[使用参数方法]; C -->|否| F[使用方差不齐方法]; D --> D1[Dunn's Test]; D --> D2[Conover-Iman]; F --> F1[Games-Howell]; F --> F2[Tamhane's T2]; E --> E1{比较类型?}; E1 -->|所有两两比较| E2[Tukey HSD]; E1 -->|与对照组比较| E3[Dunnett]; E1 -->|探索性研究| E4[LSD-Fisher]; E1 -->|非常保守| E5[Bonferroni];
三、关键概念区别
1. 错误率控制类型
- FWER (Family-Wise Error Rate):至少犯一个Ⅰ类错误的概率(Tukey, Bonferroni, Dunn)
- FDR (False Discovery Rate):允许假阳性,但控制其比例(Benjamini-Hochberg)
2. 保守程度排序(从最保守到最宽松)
Scheffé > Bonferroni > Tukey > Dunn > Games-Howell > LSD
3. 检验力排序(从最高到最低)
LSD > Games-Howell > Tukey > Dunn > Bonferroni > Scheffé
四、R代码示例
# 参数方法(方差齐)
pairwise.t.test(y, group, p.adj = "bonferroni") # Bonferroni
TukeyHSD(aov(y ~ group)) # Tukey HSD
# 方差不齐方法
library(rstatix)
games_howell_test(data, y ~ group) # Games-Howell
# 非参数方法
library(dunn.test)
dunn.test(y, group, method = "bonferroni") # Dunn's test五、实践建议
- 默认推荐:Tukey HSD(方差齐)或 Games-Howell(方差不齐)
- 与对照组比较:Dunnett’s test(如多个处理组与一个对照组比较)
- 非正态数据:Dunn’s test
- 探索性研究:可使用 LSD 或 FDR 方法(如Benjamini-Hochberg)
- 非常保守的需求:Bonferroni 或 Scheffé
选择时需在 错误控制 和 检验力 之间取得平衡,并根据研究目标和数据特征做出合适选择。