收益:
- 能够通过从物理中选择模型来使用 curve_fit 拟合实验数据并报告参数及其不确定性
- 能够通过检查残差诚实地评估拟合质量并避免过度拟合
- 能够检查所发现参数的物理合理性,并区分“好看”的配合和“物理正确”的配合
物理学最终取决于实验。无论一个理论多么优雅,如果它与测量数据不相符,它就是无效的。曲线拟合是处理实验数据的核心:以尽可能最好的方式将理论预测的模型(直线、指数、振荡)拟合到噪声测量点,并找到模型的参数(斜率、常数、频率)。在本单元中,您将学习如何在实验数据分析中使用人工智能 (AI)、如何正确设置曲线拟合,以及最重要的是如何区分拟合“看起来不错”和“物理正确”之间的区别。标准工具是 scipy.optimize.curve_fit (将模型函数拟合到数据的 SciPy 函数)。
曲线拟合的逻辑和AI的作用
曲线拟合的作用是:您选择一个模型函数(例如 y = a·x + b),算法会找到以最小误差拟合数据的 a 和 b 值。 AI 能够快速编码正确的模型函数、设置 curve_fit 调用以及可视化结果。但有两个关键决定需要您做出:(1) 哪种模型在物理上是正确的? (2) 贴合质量真的好吗? AI 还可以将 10 阶多项式与数据拟合,并绘制一条看起来几乎完美的曲线 - 但这在物理上是毫无意义的过度拟合。
物理事件
预期模型
找到参数
匀速运动
y = a·x + b
斜率=速度
放射性衰变
N = N₀·e^(−λt)
λ = 衰减常数
春季发布
x = A·cos(ωt + φ)
ω = 角频率
欧姆定律
V = R·I
R = 阻力(斜率)
自由落体
y = ½·g·t²
g = 重力加速度
一步一步:拟合一条诚实的曲线
1. 从物理而不是数据中选择模型。首先确定事件必须遵守哪个物理定律。通过查看数据并选择“哪个模型最适合”来选择一个模型,就是试图使物理学符合数据——这是危险的。
2. 输入数据和不确定性。除了测量点之外,还输入每个点的测量误差(西格玛参数)(如果有)。这对于准确计算拟合和参数不确定性是必要的。
3. 读取参数及其不确定度。 curve_fit 返回从协方差矩阵导出的参数值及其不确定性。报告没有不确定性的参数是不完整的:说“g = 9.7 ± 0.3 m/s²”比仅仅说“9.7”提供更多信息。
4. 评估残差的拟合度。残差是每个测量点与模型的偏差。残基的随机分布是拟合良好的标志;系统曲线(例如,全部位于模型上方的一个位置)表明模型是错误的。
5. 检查物理合理性。 g 值是 9.8 还是 50 的量级?电阻是否变为负值?物理上不可能的参数表明存在问题,即使拟合“看起来不错”。
提示:不要仅凭视力来判断贴合的好坏。始终将残差绘制在单独的图表上。在良好的拟合中,残差像噪声一样分散在零附近;如果不合适,就会出现可见的图案(波浪、斜坡、U 形)。这种模式是最诚实的迹象,表明您的模型存在身体缺陷。
三个迷你箱子
案例 1——过度拟合陷阱。一名学生将人工智能建议的七次多项式拟合到 8 个数据点;曲线穿过所有点,看起来“完美”。但在这两点之间,曲线出现了荒谬的振荡。学生转向物理学:这是一种线性关系。当他拟合出一条简单的直线时,参数就具有了物理意义。高阶多项式刚刚记住了噪声。
案例 2——忘记了不确定性。一位研究人员用 YZ 编写的代码发现并报告了重力加速度 g = 9.73。他的顾问询问了不确定性。研究人员没有使用 curve_fit 的协方差输出;经计算,不确定度为±0.4,与标准值9.81一致。如果没有歧义,结果可能会被误解为“偏离 9.81”。
情况 3 — 残差显示错误。一位老师在冷却实验中画了一条直线,看起来很合理。但当他绘制这些碎片时,出现了明显的弯曲图案。实际发生的是指数冷却。当他使用正确的模型(指数)时,残差变得随机,并且拟合变得具有物理意义。
四个可复制模板
1)与物理模型拟合:
编写一个 curve_fit 代码,将物理模型 = [模型函数] 拟合到以下实验数据([x 和 y 值,单位])。打印从协方差导出的参数和 1-sigma 不确定性。在单独的图表上绘制数据、拟合曲线和残差。我从物理学中进行了模型选择;你只需应用它。
2) 适配质量评估:
添加评估下面拟合质量的代码:绘制残差,计算卡方或 R² 等度量,并以书面形式注释残差中是否存在系统模式。适合代码:[此处]
3)型号对比:
编写代码,将两个不同的物理模型与相同的数据进行拟合和比较:[模型 A] 和 [模型 B]。显示两者的参数、不确定性和残差模式。由我来决定哪一个在物理上更适合;只需将两者并排呈现即可。记住要避免过度拟合。
4) 不确定性报告:
添加代码,以“值±不确定性(单位)”的格式打印以下拟合的每个参数以及适当数量的有效数字。如果参数采用物理上不可能的值(例如负质量),则适合。代码:[此处]
弱提示/强提示
弱:“找到最适合这些数据的曲线。”
结论:人工智能可以对高阶多项式给出“完美”但物理上无意义的拟合;不确定性,仅此而已。
Strong:“编写一个 curve_fit 代码,将放射性衰变模型 N = N₀·e^(−λt) 拟合到此 (t, N) 数据。打印 λ 和 N₀ 及其不确定性。在单独的图中绘制残差,并注释是否存在系统模式。如果 λ 为负,则发出警告。”
结果:物理模型、不确定参数、残差检查和合理性检查。
常见错误
- 从数据中选择模型。选择“最佳拟合”而不是物理定律会迫使物理学去拟合数据并导致过度拟合。
- 不报告不确定性。没有不确定性的参数值在科学上是不完整的;两个结果是否兼容只能通过不确定性来理解。
- 不刮残渣。通过肉眼判断合规性“良好”隐藏了系统性偏差。
- 高估有效数字。写 g = 9.73418 ± 0.4 是错误的精度;不确定性决定了有多少位数字是有效的。
- 绕过物理合理性。忽略不可能的后果,例如负阻力或 50 m/s² 重力。
注意:仅仅因为曲线与数据拟合良好并不能证明基础物理是正确的。有了足够的自由参数,“好的”曲线就可以拟合任何数据。科学完整性要求从物理学中选择模型,报告不确定性,并诚实地检查残差。漂亮的人工智能生成的图形无法替代这些控件。
总之
在实验数据分析中,AI快速建立曲线拟合代码并可视化;但物理学家有责任选择物理模型、准确报告不确定性并诚实地评估拟合质量。良好的分析采用物理学模型,报告参数及其不确定性,检查残差,并测试结果的物理合理性。在下一个单元中,我们将更深入地讨论不确定性的概念——测量误差和误差传播。
应用任务
将物理模型拟合到您拥有或已经生成的一小组实验数据(例如,摆的长度周期测量或电阻器的电流电压数据)。将第一个模板的代码打印到AI中,运行它;读取参数及其不确定性并绘制残差。检查残差是否存在系统模式,参数是否物理合理。用 5-6 句话写下:拟合是否真的很好,不确定性说明了什么?
清单
- [ ] 我从物理学而不是数据中选择模型。
- [ ] 我在拟合中包含了测量不确定度(如果有)。
- [ ] 我报告了参数及其不确定性和适当的有效数字。
- [ ] 我将残差绘制在单独的图表上并寻找系统模式。
- [ ] 我检查了这些参数在物理上是合理的。
- [ ] 我避免了过度拟合(不必要的高自由度)。