第 5 章配套代码索引
这一章的代码以统计工具与实验编排为主——它们不测性能,而是判断性能结论是否可信。
一、文件清单
| 文件 | 对应小节 | 内容 |
|---|---|---|
| 01-single-variable.md | 5.1 单变量与对照组 | A/B/A’ 对照编排 + 环境漂移检测 |
| 02-warmup-and-duration.md | 5.2 预热、稳态与运行时长 | 时长规划器 + 预热判定封装 |
| 03-repetition-and-outliers.md | 5.3 重复、抖动与异常值 | 稳健统计 + 异常值归因分析 |
| 04-environment-isolation.md | 5.4 环境隔离清单 | 环境检查脚本 + 事件时间线记录 |
| 05-dataset-design.md | 5.5 数据集设计 | 幂律数据生成 + 分布验证 |
| 06-statistics-basics.md | 5.6 统计基础 | 非参数检验 + Bootstrap 置信区间 |
| 07-noise-floor-and-regression.md | 5.7 噪声底线与回归检测 | 噪声底线测量 + MDD + 回归门禁 |
| 08-records-and-antipatterns.md | 5.8 实验记录与反模式 | 结论强度自评 + 反模式检查 |
| 09-lab5.md | 5.9 Lab 5 | Lab 5 编排与验收 |
二、依赖
# Python 侧(统计工具)
pip install scipy numpy # 或者只用标准库(本文件里的实现尽量不依赖第三方)
# 无第三方依赖的降级方案
# 本目录的脚本都用纯 Python 标准库实现了 Mann-Whitney U 与 Bootstrap,
# 所以即使没有 scipy 也能跑。
三、这些工具在流程中的位置
① 实验前
├─ 环境检查(04-environment-isolation)
├─ 数据集准备与验证(05-dataset-design)
└─ 时长规划(02-warmup-and-duration)
↓
② 实验执行
├─ A/B/A' 对照编排(01-single-variable)
└─ 环境事件记录(04-environment-isolation)
↓
③ 实验后
├─ 稳健统计 + 异常值分析(03-repetition-and-outliers)
├─ 显著性检验(06-statistics-basics)
└─ 与噪声底线对比(07-noise-floor-and-regression)
↓
④ 报告前
└─ 结论强度自评(08-records-and-antipatterns)
四、必须先做的一件事
如果你只做本章的一件事,就做这个:
# 测你自己的噪声底线(第 7 节)
tools/noise-floor.sh E05-noise
python3 tools/noise_floor.py docs/experiments/E05-noise/results/
没有这个数字,你后面所有的"优化了多少"都无法判断真假。
五、三个提醒
- 统计工具不能代替实验设计:如果你的实验同时改了三个变量,再精确的统计也救不回来。
- 不要为了"显著"而增加轮数:如果效应本身很小(比如 3%),增加轮数能让它"显著",但这不意味着值得做(第 6 节)。
- 噪声底线不是固定的:换机器、换环境、换时间段都可能变化。建议每个季度或每次重大环境变更后重测一次。