Friedman Test(弗里德曼检验)
2025/12/4约 482 字大约 2 分钟
Friedman Test(弗里德曼检验)
1. 适用场景
Friedman Test 用于比较三个或以上的算法在多个实例上的整体性能差异。
适用条件:
- 有 k 个算法(k ≥ 3)
- 在 N 个相同的实例上测试
- 数据不要求服从正态分布
2. 基本思想
Friedman 不关心具体数值,而是比较每个实例中算法的相对排名(Rank)。
如果某算法在多数实例中排名持续靠前,则其平均秩统计上显著更低。
3. 操作步骤
Step 1:对每个实例对算法进行排序(按某指标如 GD)
最优 = Rank 1
最差 = Rank k
Step 2:对 20 个实例求每个算法的平均秩
其中:
- j:算法编号
- i:实例编号
Step 3:计算 Friedman 统计量
k:算法数量
N:实例数量
Step 4:转换为 F 分布再得 p 值
若:
则说明四个算法整体性能存在显著差异。
4. 结果解读
- 平均秩最小的算法性能最佳
- 若显著性成立(p < 0.05) ⇒ 算法间总体性能存在显著差异
- 若某算法的秩曲线显著低于其他算法 ⇒ 它整体最优
5. Friedman 的优点
- 适用于多算法比较(Wilcoxon 只能两两比较)
- 不需要正态分布假设
- 基于秩,对异常值不敏感
- 是多算法比较的国际标准
6. 在多目标优化中的意义
Friedman 检验用于回答:
“多个算法中,哪个整体表现最佳?优势是否具有统计显著性?”
当某算法的平均秩最优且显著优于临界线,就证明其整体性能最强。