本页目录

实验 I · 测量、不确定度与模型检验

对标:实验数据处理、误差分析、最小二乘与统计推断 | 前置:多元微分、概率基础 一次测量从来不是“读到一个数字”就结束了。仪器读数经过校准、组合、拟合,最后才变成一个带有证据边界的物理结论。本页用一个摆的测量与一组带轻微曲率的数据,练习两件容易被分开的事:输入量的协方差怎样进入输出不确定度,以及残差怎样告诉我们模型是否少写了物理。

学习层:读数变成结论,中间漏掉了什么?

1. 具体谜题:为什么“误差更小”可能是算错了?

先用理想单摆模型:质点悬于不可伸长的无质量细线、支点固定、重力均匀,忽略阻尼,并取小摆角。此时用周期测重力加速度的关系是

\[ g=\frac{4\pi^2L}{T^2}. \]

假设摆长 \(L=1.000\ \mathrm m\),周期 \(T=2.006\ \mathrm s\)。长度和周期各自有不确定度。如果温度漂移同时影响有效摆长与计时装置,它们可能相关;是否相关及协方差大小需要测量机制或数据支持,不能仅因由同一人测量就默认相关。与此同时,另一组数据看起来大致是一条直线,却在中间残差系统性偏低:这时“斜率很漂亮”是不是足够的证据?

实验要回答四个相连的问题:

  1. 输出量是非线性函数时,为什么不能只把百分比误差机械相加?
  2. 协方差的符号为什么可能让最终不确定度变小,而不是变大?
  3. 约化卡方大于 1 是“数据坏了”,还是在提醒模型、噪声尺度或独立性假设需要检查?
  4. 给模型多加一个参数后残差变小,怎样判断那是新物理还是过拟合?

2. 先预测:在揭示数值以前写下因果方向

学习层默认采用 \(L=1.000\ \mathrm m\)、\(T=2.006\ \mathrm s\)、\(\sigma_L=0.005\ \mathrm m\)、\(\sigma_T=0.010\ \mathrm s\)、相关系数 \(\rho=0.60\)。拟合数据为

\[ x=(0,1,2,3,4,5),\qquad y=(1.02,2.44,4.07,5.70,7.59,9.46), \]

每个 \(y_i\) 使用 \(\sigma_y=0.12\)。先选择预测:

  1. 因为 \(\partial g/\partial L>0\)、\(\partial g/\partial T<0\),正相关的 \(L,T\) 会让交叉项为正还是为负?
  2. 对摆的默认值,保留 \(\rho=0.60\) 与把协方差设为零相比,\(u_g\) 会约为 \(0.079\) 还是 \(0.109\ \mathrm{m/s^2}\)?
  3. 若线性模型得到 \(\chi^2/\nu\approx2.32\),它更像“残差与误差尺度相容”还是“残差有结构/误差模型偏紧”?
  4. 增加二次项后 \(\chi^2/\nu\approx0.12\),这是否自动证明真实规律一定是二次的?

先完成预测再揭示图表。拟合模式初始假设点间不相关;新增的共同相关滑块用于后面的校准误差反例。交互实验分为“传播”与“拟合”两种模式;滑块每次只改变一个输入,帮助你把数值变化归因到公式中的某一项。

3. 从局部线性化开始:不确定度是函数的导数在搬运波动

设测量输入组成向量 \(\boldsymbol{x}\),输出为 \(q=f(\boldsymbol{x})\)。在均值附近作一阶展开:

\[ \delta q\approx \sum_i\frac{\partial f}{\partial x_i}\delta x_i =\nabla f^\mathsf{T}\delta\boldsymbol{x}. \]

取波动乘积的期望,得到输出方差的一阶近似:

\[ \boxed{u_q^2\approx\nabla f^\mathsf{T}\Sigma\,\nabla f =\sum_i\left(\frac{\partial f}{\partial x_i}\right)^2u_i^2 +2\sum_{i<j}\frac{\partial f}{\partial x_i} \frac{\partial f}{\partial x_j}\operatorname{Cov}(x_i,x_j).} \]

\(\Sigma\) 是输入的协方差矩阵,\(\operatorname{Cov}(x_i,x_j)=\rho_{ij}u_i u_j\)。这条公式的机制很具体:每个输入波动先乘以敏感度,再与别的输入波动按相关性相加。有限二阶矩下,独立会使非对角协方差为零;反过来,协方差为零不保证独立。例如 \(X\) 在 \([-1,1]\) 均匀分布时,\(X\) 与 \(X^2\) 不相关,却有确定的非线性关系。线性输出的协方差公式是精确的;非线性输出仍依赖上述近似。

如果函数变化不小、分布强烈偏斜或存在硬边界,一阶近似可能不够。此时可以用二阶展开、Monte Carlo 传播或直接对完整测量模型采样;但 Monte Carlo 也不会替你发现单位错误、相关性遗漏或系统偏差。

4. 摆的例子:符号比“加减误差”更重要

对

\[ g(L,T)=4\pi^2LT^{-2}, \qquad \frac{\partial g}{\partial L}=\frac gL,\qquad \frac{\partial g}{\partial T}=-\frac{2g}{T}. \]

默认输入给出

\[ g=9.810652\ \mathrm{m/s^2},\quad \frac{\partial g}{\partial L}=9.810652,\quad \frac{\partial g}{\partial T}=-9.781308. \]

\(\rho=0.60\) 时

\[ \operatorname{Cov}(L,T)=0.60(0.005)(0.010)=3.0\times10^{-5}\ \mathrm{m\,s}, \]

而交叉项是

\[ 2\frac{\partial g}{\partial L}\frac{\partial g}{\partial T} \operatorname{Cov}(L,T)=-0.00575766\ (\mathrm{m/s^2})^2. \]

它为负,是因为 \(L\) 增大推高 \(g\),\(T\) 增大却压低 \(g\),而正相关让两种效应部分抵消。两个对角方差贡献分别为 \(0.00240622\) 与 \(0.00956740\),所以

\[ u_g=\sqrt{0.00240622+0.00956740-0.00575766} =0.078841\ \mathrm{m/s^2}. \]

若错误地删掉协方差,得到

\[ u_{g,\rho=0}=\sqrt{0.00240622+0.00956740} =0.109424\ \mathrm{m/s^2}. \]

“不确定度变小”不等于“人为把误差压小”:前提是相关系数来自可辩护的校准或重复测量。若相关性只是猜的,应该把 \(\rho\) 扫描成敏感性分析,而不是挑一个最有利的值。

还要区分随机不确定度与漏掉的物理修正。对最大摆角 \(0\le\theta_0<\pi\)(弧度;零幅时取小振幅极限),令 \(T_0=2\pi\sqrt{L/g}\),能量守恒给出

\[ T=4\sqrt{L/g}\int_0^{\pi/2}\frac{d\psi}{\sqrt{1-\sin^2(\theta_0/2)\sin^2\psi}} =T_0\left(1+\frac{\theta_0^2}{16}+O(\theta_0^4)\right). \]

第二步来自 \((1-z)^{-1/2}=1+z/2+O(z^2)\) 与 \(\int_0^{\pi/2}\sin^2\psi\,d\psi=\pi/4\)。若 \(\theta_0=0.20\),周期约增加 0.25%;仍套小角公式会使 \(g_{\rm naive}/g\approx1-\theta_0^2/8=0.995\),约低估 0.5%。\(\theta_0\to\pi^-\) 时接近顶端分离轨道,周期发散;上述积分描述往复摆动,不能拿它套转动解。把计时重复一千次也不会自动消除这一模型偏差。实验滑块没有加入这项修正,须先确认小角条件。

5. 模型检查:把残差当作证据,而不是装饰

对模型 \(y_i=f(x_i;\boldsymbol{\theta})\),拟合后定义

\[ r_i=y_i-f(x_i;\hat{\boldsymbol{\theta}}),\qquad z_i=\frac{r_i}{\sigma_i}. \]

若误差近似独立、零均值、高斯且 \(\sigma_i\) 已知,常用统计量是

\[ \chi^2=\sum_{i=1}^{N}\left(\frac{r_i}{\sigma_i}\right)^2,\qquad \nu=N-p,\qquad \chi^2_\nu=\frac{\chi^2}{\nu}, \]

\(N\) 是观测点数、\(p\) 是可识别参数数。这里模型须对参数线性、设计矩阵满列秩,误差为已知协方差的高斯噪声,且真实均值属于所拟合模型;此时最小化后的统计量才精确服从自由度 \(N-p\) 的卡方分布。本例的二次模型对参数 \(a,b,c\) 仍然线性。一般非线性拟合只在适当局部近似下使用这一自由度规则;有冗余参数时应按有效秩计算。若数据有相关性且 \(\Sigma_y\) 正定,应写成

\[ \chi^2=\boldsymbol r^\mathsf{T}\Sigma_y^{-1}\boldsymbol r, \]

协方差奇异时不能直接取逆,须处理精确约束与可识别子空间。

本实验的线性拟合为

\[ \hat y_{\rm lin}=0.8124+1.6937x,\qquad \chi^2=9.2946,\quad\nu=4,\quad\chi^2_\nu=2.3236. \]

其残差从两端偏正、中间偏负,说明问题不只是某一个点偶然偏离:直线的形状没有跟上数据的曲率。加入二次项得到

\[ \hat y_2=1.0082+1.4000x+0.05875x^2, \]
\[ \chi^2=0.3461,\quad\nu=3,\quad\chi^2_\nu=0.1154. \]

二次模型确实消除了残差结构,但 \(\chi^2_\nu\ll1\) 也提醒我们:这里是教学数据,\(\sigma_y=0.12\) 可能被设得偏大,或点并非真实独立的随机抽样。卡方不是一枚自动盖章的“真模型”印章;它需要和残差图、独立校验、参数可解释性一起读。

无 JavaScript 时的静态读法:实验默认传播 \(g=4\pi^2L/T^2\),其中 \(L=1.000\ \mathrm m\)、\(T=2.006\ \mathrm s\)、\(\sigma_L=0.005\ \mathrm m\)、\(\sigma_T=0.010\ \mathrm s\)、\(\rho=0.60\)。拟合数据为 \((0,1.02),(1,2.44),(2,4.07),(3,5.70),(4,7.59),(5,9.46)\),每点 \(\sigma_y=0.12\)。

账本 默认结果 读法
输出值 \(g=9.810652\ \mathrm{m/s^2}\) \(L,T\) 的非线性函数
长度方差项 \(0.00240622\) \((\partial g/\partial L)^2\sigma_L^2\)
周期方差项 \(0.00956740\) \((\partial g/\partial T)^2\sigma_T^2\)
协方差交叉项 \(-0.00575766\) 正相关乘以相反敏感度,抵消部分波动
含协方差不确定度 \(u_g=0.078841\ \mathrm{m/s^2}\) 相对不确定度 \(0.8036\%\)
去掉协方差 \(u_g=0.109424\ \mathrm{m/s^2}\) 只可作为“若独立”的对照
线性拟合 \(\chi^2/\nu=2.3236\) 残差有结构,线性模型偏紧
二次拟合 \(\chi^2/\nu=0.1154\) 曲率被吸收,但误差尺度也要复核

传播模式的柱形图把两个对角方差项和交叉项分开,拟合模式把观测点、模型曲线和残差放在同一张图中。改变 \(\rho\) 时,\(g\) 的中心值不应移动;改变 \(\sigma_L,\sigma_T\) 时,中心值也不应移动。这两个不变量是检查“误差传播改变了置信程度,而不是偷偷改了被测量”的快速办法。

共同校准误差:截距和斜率会受到同样影响吗?

给每个观测加上同一个零点波动 \(b_0\),再加独立波动 \(\epsilon_i\):\(y_i=f(x_i)+b_0+\epsilon_i\)。设所有波动均值为零,\(b_0,\epsilon_1,\ldots,\epsilon_N\) 相互独立。若 \(\operatorname{Var}(b_0)=\rho\sigma_y^2\)、\(\operatorname{Var}(\epsilon_i)=(1-\rho)\sigma_y^2\),则

\[ \Sigma_y=\sigma_y^2[(1-\rho)I+\rho\boldsymbol1\boldsymbol1^\mathsf T],\qquad0\le\rho<1. \]

实验新增的“点间共同相关”控制这一模型,并保持每个点的边缘标准差 \(\sigma_y\) 不变。含截距的多项式设计矩阵记为 \(X\),令 \(e_0=(1,0,\ldots)^\mathsf T\)。共同平移只改变截距,所以 GLS 的中心估计与本例 OLS 相同,且

\[ \operatorname{Cov}(\hat\theta)=\sigma_y^2[(1-\rho)(X^\mathsf TX)^{-1}+\rho e_0e_0^\mathsf T]. \]

截距包含不随重复点数消失的共同零点项;斜率来自点与点之差,共同零点会相消。拟合残差满足 \(\boldsymbol1^\mathsf T r=0\),故

\[ \chi^2=\frac{\sum_i r_i^2}{\sigma_y^2(1-\rho)}. \]

这说明“忽略正相关一定把所有误差条变小”并不成立:本例固定边缘标准差、增加正相关,会扩大截距标准误,却缩小斜率标准误,同时增大残差卡方。右图显示 \(r_i/[\sigma_y\sqrt{1-\rho}]\),其平方和等于本模型的卡方;它们仍受拟合约束,不能当成独立标准正态样本。左图误差条始终是每点边缘 \(\pm\sigma_y\),不会展示全部点间相关性。

6. 误区与失败边界:一个数字不能替代测量模型

  • 把标准差、标准不确定度和系统偏差混为一谈。重复测量的散布描述随机项;零点偏移、刻度因子、反应时间等可能是系统项。系统项若有共同来源,通常会产生协方差。
  • 把 \(\rho\) 当作随手调的“好看参数”。协方差必须来自共同校准、同步漂移、重复数据或明确的误差模型。未知相关性可以扫描,但不能只报告扫描中最小的结果。
  • 把一阶传播用于远离均值的非线性尾部。当输入分布接近零边界、输出是倒数或平方根,线性化可能给出错误的对称区间。应传播完整分布并报告偏斜或上下界。
  • 看到 \(\chi^2_\nu\) 接近 1 就宣布模型正确。卡方只是在指定噪声模型下检查相容性;少量数据、参数边界、相关残差和选择效应都会改变解释。
  • 用更多参数治疗所有残差。高阶多项式可以在样本点之间摆动,外推却失控。新参数应有物理动机,并用留出数据、重复实验或独立预测验证。
  • 把拟合不确定度当作仪器校准的全部不确定度。最小二乘输出通常只传播了给定的 \(\sigma_i\) 和模型内噪声;背景、单位、响应线性和模型选择都要在结论中说明。

7. 迁移任务:先计算,再解释实验决定

题 1:把摆的相关系数从 \(+0.60\) 改为 \(-0.60\),保持边缘不确定度不变。输出中心值和标准不确定度怎样改变?

题 2:在线性拟合中设共同相关 \(\rho=0.50\),仍用 \(\sigma_y=0.12\)。中心系数、卡方、截距和斜率的标准误各怎样变?

题 3:最大摆角为 0.20 rad,把计时不确定度减半,能否据此把未修正的 \(g\) 当成无偏估计?

展开计算与实验判断

1. 中心值仍为 \(9.810652\ \mathrm{m/s^2}\)。交叉项变为正值,\(u_g\approx\sqrt{0.00240622+0.00956740+0.00575766}=0.133159\ \mathrm{m/s^2}\)。反相关在这个敏感度符号组合下放大波动。

2. 仍为 \(\hat a=0.812381,\hat b=1.693714\),但 \(\chi^2\) 加倍至约 18.5892。由于 \(\sum(x_i-\bar x)^2=17.5\),独立时 \(u_b=0.12/\sqrt{17.5}\approx0.028685\),现在变为约 0.020284。截距方差由 \(0.12^2(1/6+2.5^2/17.5)\) 变为这一数值的一半再加 \(0.12^2/2\),标准误约从 0.086850 变为 0.104745。相关性改变的是不同方向上的信息,不能只给一个“放大/缩小”的口号。

3. 不能。有限摆幅使小角反演约低估 0.5%,属于未建模的系统偏差;减小随机计时误差并不会修正它。应降低摆幅或使用完整周期模型,并传播摆幅测量的不确定度。

1. 测量学的对象:被测量、指示值与模型

实验报告里的 \(x=3.2\) 不是物理世界本身,而是一个由被测量、仪器、环境、采样窗口和分析算法共同产生的指示值。把这件事写成图模型会更清楚:

\[ \text{物理状态}\longrightarrow \text{传感器响应}\longrightarrow \text{电子读数}\longrightarrow \text{校准/拟合}\longrightarrow \text{报告量}. \]

每个箭头都可能引入随机波动或系统偏差。比如温度计的电阻变化要经过激励电流、引线电阻、标定曲线才能变成温度;摆的周期要经过触发阈值、反应时间和有限振幅修正才能变成 \(g\)。不确定度不是给结果贴上的模糊标签,而是这个正演链对输入未知量的敏感度记录。

报告一个结果时至少要说清楚被测量定义、单位、参考条件、时间窗口、校准来源和覆盖因子。标准不确定度以标准差表示;扩展不确定度为 \(U=ku\)。\(k=2\) 只有在近似正态且自由度足够大等条件下才近似对应 95% 覆盖,有限样本估计的尺度可能需要 Student 分布的覆盖因子。没有这些约定,两个都写成“\(10.0\pm0.2\)”的结果未必能比较。

2. 线性化、雅可比与协方差传播

多输入传播的核心是雅可比矩阵。若输出向量 \(\boldsymbol q=\boldsymbol f(\boldsymbol x)\),在均值附近

\[ \delta\boldsymbol q\approx J\delta\boldsymbol x,\qquad J_{ai}=\frac{\partial f_a}{\partial x_i}, \]

则

\[ \Sigma_q\approx J\Sigma_xJ^\mathsf{T}. \]

这条关系同时适用于单位换算、组合常数和多个相关输出。它还告诉我们一个重要不变量:若只改变输入的误差大小或相关性,中心值 \(f(\bar{\boldsymbol x})\) 在一阶传播中不应被改动。若程序改变了中心值,往往是把误差采样误当成重新拟合数据,或在单位转换时重复乘了比例因子。

相关系数的物理来源可以是同一个标准、同一个时钟、同一块温漂基板或同一批背景扣除。正相关不固定意味着输出方差变大;符号还要看两个偏导数。更一般地,\(\Sigma\) 必须是半正定矩阵,否则会出现负方差,这通常是相关系数或单位输入不自洽的信号。

当非线性显著时,Monte Carlo 的正确用法是从完整的联合输入分布抽样,逐次计算完整正演模型,再从输出样本报告分位数。独立抽样 \(L,T\) 会故意抹掉协方差;只把每个输入的边缘分布写对,并不等于联合分布写对。

3. 最小二乘不是“画一条最顺眼的线”

给定观测向量 \(\boldsymbol y\)、模型 \(\boldsymbol f(\boldsymbol\theta)\) 和协方差 \(\Sigma_y\),高斯噪声下的加权最小二乘目标是

\[ \chi^2(\boldsymbol\theta)= [\boldsymbol y-\boldsymbol f(\boldsymbol\theta)]^\mathsf{T} \Sigma_y^{-1} [\boldsymbol y-\boldsymbol f(\boldsymbol\theta)]. \]

线性模型 \(f(x)=a+bx\) 的参数在给定权重后可由正规方程求出;非线性模型则通常要迭代线性化。正规方程只是优化工具,不能保证模型的物理假设正确。在满秩线性且已知高斯噪声的上述条件下,残差自由度为 \(\nu=N-p\),所以“残差平方和变小”本身不足以支持新增物理,必须考虑自由度与预测任务。

默认数据的二次曲率并不意味着世界到处都是二次函数。它只是构造了一个能测试“残差有结构吗”的最小例子。若要比较线性与二次模型,可以报告 \(\Delta\chi^2\)、留出误差、参数稳定性和模型先验;若模型是嵌套的,还要说明额外参数的检验条件。不要在同一数据上不断尝试十种函数,只挑 \(\chi^2\) 最小者然后忘掉选择过程。

4. 残差诊断的四个方向

残差图至少应检查四种结构:

  1. 均值偏移:所有残差同号,可能是零点或背景问题;
  2. 趋势或曲率:残差随 \(x\) 系统变化,可能是模型函数形状错误;
  3. 异方差:大信号处残差变宽,固定 \(\sigma\) 可能不合适;
  4. 相关性:相邻残差成串同号,独立点假设可能失效。

标准化残差 \(z_i=r_i/\sigma_i\) 便于跨点比较,但若 \(\sigma_i\) 本身由数据估计,或者拟合参数与残差共享信息,\(z_i\) 不是完全独立的标准正态变量。低计数、截断、饱和和背景扣除还会使高斯近似失效,应换用 Poisson、二项或更完整的似然。

一个有用的反事实检查是改变误差大小而保持数据值不变:参数的中心估计在简单的同方差线性拟合中常常不变,但 \(\chi^2\) 与参数区间会改变。这说明“最佳拟合位置”和“证据强度”是不同对象。实验者既要问曲线在哪里,也要问噪声尺度是否支持那样的精确程度。

5. 从数字到可重复的结论

一个可审计的结论应能被别人沿着相同账本重算:数据是什么,哪些值是测量,哪些值是校准,协方差从何而来,模型在什么范围内有效,统计量使用了哪些自由度,系统项有没有与统计项重复计算。最终语句要包含条件:

\[ \text{在假设 }H\text{ 下,数据与模型 }M\text{ 的相容性为 }... \]

这不是语言上的谨慎,而是让结论可被新数据推翻或更新。测量科学最强的地方不在于给出很多小数,而在于让下一位实验者知道哪一个新观测会改变哪一项不确定度,哪一个残差会迫使我们换模型。


下一页:噪声不是“看起来乱”——功率谱、滤波带宽与锁相检测决定小信号是否能被辨认。

区分月平均测量unc、模型残差与参数标准误,可做NOAA CO₂真实数据项目。使用有版本和质量说明的固定快照,保留独立复算与模型边界。

一阶传播与覆盖因子的规范可对照 BIPM JCGM 100:2008,尤其第 5 节的协方差传播与第 6 节的扩展不确定度。