跳转到内容

统计显著性与效应量

单次运行的结果几乎没有意义。本章讲随机种子的方差、如何报告均值与置信区间、显著性检验的正确使用(以及 p 值的误读)、效应量为什么比显著性更重要,以及多重比较的修正。

单次运行的结果几乎没有意义:随机种子(初始化、数据顺序、dropout、采样)带来的方差,常常大于你要主张的提升幅度。至少 3–5 个种子,报告均值与标准差或置信区间;如果方差过大,先查原因(训练不稳定、评测集太小),再谈结论。

报告规范:

  • 结果表标注运行次数与方差(或置信区间);
  • 曲线图带误差带(error band);
  • 提升幅度小于方差时,明确说"在噪声范围内",不要宣称改进。

显著性检验回答的是"这个差异有多大概率由噪声引起",但它有两个常见误读:

  • p < 0.05 不等于结论为真:它不度量结论正确的概率,只度量"假设无差异时出现该差异"的概率;
  • 统计显著不等于实际重要:在大数据集上,0.1% 的提升也可以统计显著。效应量比显著性更重要:报告差异的实际大小(提升几个点、快多少倍、省多少成本),让读者自己判断值不值得。

显著性检验的合理用法:在效应量已经可观的差异上,用检验排除噪声解释;而不是反过来,用显著性把微小差异包装成发现。

在同一个测试集上反复调参就是多重比较:你试了 20 个配置挑最好的 1 个报告,真实的泛化性能就会低于报告值("赢了抽奖")。对策:

  • 验证集选模型、测试集只用一次:所有选择在验证集上做,测试集只在最终报告时碰一次(见实证研究的常见错误);
  • 报告尝试过的配置总数,让读者能判断选择偏差的可能;
  • 如果确实在同一数据上做了多次比较(如多个指标、多个子集),考虑修正(如 Bonferroni 类方法),或至少说明比较次数。

如果你的改进没能通过统计检验,这本身是一个结果——前提是实验有足够的功效(样本量、运行次数)。功效不足的"没有显著差异"什么都说明不了;功效充足的否定结果可以发表(见研究空白与"增量"的边界)。

  • 至少 3–5 个种子,报告标准差或置信区间
  • 统计显著不等于实际重要
  • 在同一个测试集上反复调参就是多重比较