# K6 · 用新实验挑战模型预测

模型可能完美重合于拟合轨迹，却在重要的新运动上失败。本课把验证变成设计决策：选择要留出的条件，把模型选择和最终评估分开，并利用残差结构决定下一步调查什么。

学完后，你应该能识别误导性的“高精度”结论，并写出有明确范围的证据说明。

## 重放是最容易通过的测试 {#failure}

如果模型就是根据某条轨迹调整的，再画一次这条轨迹，主要检查的是拟合循环是否运行。它没有检验模型能否预测改变后的频率、方向、姿态、负载或控制器条件。

随机拆分相邻时间样本同样可能误导。拆分两边共享同一段运行历史、输入和隐藏状态。对动力学系统来说，这不是独立的未来实验。

在看数据划分前先预测：如果残差随频率增大，哪种留出条件会挑战模型；如果残差随方向改变，哪种条件会挑战模型。

## 分开拟合、开发与最终评估 {#split}

当模型或拟合规则可能被调整时，使用三个角色：

| 角色 | 能否影响拟合或选择？ | 用途 |
|---|---|---|
| 拟合 | 可以，用于估计参数 | 估计声明的 Student 参数 |
| 开发 | 可以，用于选择结构、边界、尺度或控制规则 | 比较候选决策 |
| 最终评估 | 在决策冻结前不能使用 | 报告最终预测结论 |

划分应对应预期用途。新的频率检验频率行为；新的姿态检验配置依赖；新的负载检验尺度变化；新的方向检验非对称性。留出完整运行或条件，并声明初始状态与时序。

估计器只能得到拟合观测。最终评估观测在模型和超参数选择期间保持不可见。如果一次验证运行改变了决策，就应把它改标为开发数据，并另留一次运行。

这段视频复用 L0 已完成的运行：扫频用于拟合 $J,b$，多正弦用于最终留出评估，模型和数据划分都在评估前固定。先预测：若把多正弦结果用于选择参数边界，它还能算最终评估吗？

<figure class="clip"><video controls="" playsinline="" poster="../../../demos/manim/rendered/l0-heldout.png" preload="metadata"><source src="../../../demos/manim/rendered/l0-heldout.mp4" type="video/mp4"/><track kind="subtitles" label="English" src="../../site/subtitles/l0-heldout.en.vtt" srclang="en"/><track default="" kind="subtitles" label="中文" src="../../site/subtitles/l0-heldout.zh-CN.vtt" srclang="zh-CN"/></video><figcaption>固定的拟合能否预测新运动？</figcaption><details><summary>阅读视频说明</summary><p>啁啾用于估计 J 和 b；留出的多正弦只在拟合后评估。</p><p>在留出位置曲线上，橙色是初始模型，蓝色是辨识后模型。</p><p>辨识后轨迹与真实系统重合，支持在声明边界和理想观测下进行预测。</p></details></figure>

[固定报告](../../../reports/l0_inertia_damping/report.zh-CN.md)同时列出拟合与留出指标。视频展示留出位置曲线，报告第四行的两幅残差图则来自拟合数据；不能因为它们都出现在同一页，就把拟合残差当作留出证据。这里的微小误差来自匹配方程和理想观测，只支持声明条件下的预测。

## 把残差当线索，而不是判决 {#evidence}

这里的划分与残差示例是阅读契约。最终结论必须使用已完成且未用于选择的运行及其实测指标。

残差是按声明的符号和单位计算的模型与观测之差。它的结构可以提出假设：

- 随频率增大，可能提示时序、未建模动力学或数值效应；
- 换向附近集中，可能提示摩擦或迟滞；
- 随姿态变化，可能提示重力、几何或耦合；
- 只在某个条件下出现偏置，可能提示偏差、标定或遗漏输入。

这些模式都不能单独识别唯一原因。应配合敏感度对比、边界检查或新实验。报告误差大小时，也要报告测量条件。

## 在目标工作范围内比较预测 {#comparison}

让相同的初始模型和辨识后模型同时在拟合运行与声明的留出运行上预测。使用共同尺度展示轨迹、各通道指标和残差。按发生变化的条件拆分误差，不要用平均值把失败抹掉。

一份有用的报告会说：“在这些运动下，辨识后模型把位置误差从 A 降到 B；剩余残差随频率增加；这支持它在已测试范围内的预测有所改善，但不能说明更高频率下也有效。”只有实验实际运行后，才能把 A、B 换成数字。

知识课可以引用已有 L0/L1 报告中的确切数字，但不能把一个条件下的数字扩展成另一个条件的结论。

## 想一想 {#exercise}

团队拟合了一个延迟模型，检查一次留出换向，误差很小，然后用这次换向来选择延迟边界，最后把它报告为最终验证。这个结论哪里有问题？下一步应该做什么？

<details markdown="1">
<summary>查看参考思路</summary>

这次换向改变了边界选择，因此已经成为开发数据，不能再支持未参与调整的最终结论。应冻结模型、边界、尺度和拟合规则，再评估一段新的完整运行，并根据预期用途选择它改变的条件：频率、方向、姿态、负载或其他因素。同时报告覆盖范围。
</details>

常见误区是用唯一的留出运行调参，却仍称它为最终评估。如果不能判断划分，记录看过它后改变了什么决策，并保留一段新的完整运行。当最终结论写明改变的条件和范围时再继续。

## 验证不能证明什么 {#limits}

一次成功的留出运行支持一个有范围的预测结论。它不能证明物理参数真实、对所有条件都能泛化，或控制效果已经改善。残差模式是提出假设的工具，不是单独的诊断。

从 L1 到后续课程都要使用 K6。[L0-E](../course-design.zh-CN.html#l0-e)把这些原则用于激励；L2 把它们用于姿态与耦合。需要执行器和关节课程的动力学词汇时，继续阅读 [K2 · 从运动偏差定位动力学项](../k2/index.zh-CN.md)。
