3. 噪声对差分的影响分析

数值微分在理论上只是“差商逼近导数”,但在工程实现中,真正决定结果可用性的往往不是截断误差,而是噪声。传感器读数、ADC量化、浮点舍入都会在相邻采样点之间引入随机扰动,而差分运算恰恰是“用两个相近的数相减再除以一个很小的数”,这种结构对噪声极其敏感。本节从噪声放大机制出发,推导误差传播公式,并用具体数值示例说明信噪比如何随步长恶化,为后续的噪声抑制方法建立定量直觉。

一、噪声放大机制:小分母与相减抵消

先约定记号:设真实信号为 f(x),实际观测为 f̃(x) = f(x) + ε(x),其中 ε(x) 是零均值、标准差为 σ 的独立噪声。采用前向差分估计导数:

D_h f̃(x) = [f̃(x+h) − f̃(x)] / h
          = [f(x+h) − f(x)] / h + [ε(x+h) − ε(x)] / h

第一项是真实差商,第二项就是噪声贡献。关键观察有两点。其一,分子中两个噪声样本相减,方差相加而非相消:Var(ε(x+h) − ε(x)) = 2σ²。其二,整个噪声项还要除以步长 h,于是噪声被放大 1/h 倍。步长越小,差商越接近真实导数,但噪声项反而越剧烈——这正是数值微分中“截断误差与噪声误差此消彼长”的核心矛盾。

从几何上看,差分是用两点连线斜率近似切线斜率。当 h 很小时,两点的函数值几乎相等,其差值主要由噪声决定,连线方向被噪声“劫持”,斜率估计随之剧烈抖动。可以把它理解为:信号差值的量级约为 f′(x)·h,而噪声差值的量级约为 √2·σ,两者之比随 h 减小而下降,噪声逐渐占据主导。

差分运算中的噪声放大与误差传播 观测样本 f̃(x) = f(x) + ε(x) ε ~ N(0, σ²),独立同分布 相邻两点噪声不相关 差分运算 [f̃(x+h) − f̃(x)] / h 分子:噪声相减 → 方差 2σ² 分母:除以小步长 h → 放大 1/h 导数估计误差 标准差 ≈ √2·σ / h h 越小,噪声项越大 与截断误差方向相反 总误差随步长 h 的变化(双对数示意) h(对数) 误差 截断误差 ∝ h 噪声误差 ∝ σ/h 总误差 = 截断 + 噪声 h* 最优步长

二、误差传播公式:从单点方差到导数方差

把上面的直觉写成公式。对前向差分,噪声项为 η = [ε(x+h) − ε(x)] / h。由于两个噪声样本独立,

E[η] = 0
Var(η) = (σ² + σ²) / h² = 2σ² / h²
标准差(η) = √2 · σ / h

若改用中心差分 [f̃(x+h) − f̃(x−h)] / (2h),噪声项为 [ε(x+h) − ε(x−h)] / (2h),方差为 2σ² / (4h²) = σ² / (2h²),标准差为 σ / (√2 · h)。可见中心差分在相同步长下把噪声标准差降低了约 √2 倍,这是它除了截断误差更小之外的第二个优势。

更一般地,若差分模板的系数为 c_i(满足 Σc_i = 0 以消去常数项),则噪声标准差为 σ · √(Σc_i²) / h^p,其中 p 为分母中 h 的幂次。这个式子说明:模板系数绝对值越大、分母步长越小,噪声放大越严重。高阶差分模板虽然截断误差更小,但系数平方和通常更大,噪声代价更高,实际选用时必须在两者之间权衡。

把截断误差也纳入,前向差分的总误差上界可写成 |f″(ξ)|·h/2 + √2·σ/h。对 h 求极小,得到最优步长 h* ≈ √(2√2·σ / |f″|),量级为 √σ。这解释了一个常见现象:当数据带有约 10⁻³ 量级噪声时,最优步长往往在 10⁻² 附近,而不是盲目取 10⁻⁶。

三、信噪比恶化示例:一组可复算的数值

下面给出一个明确标注为教学示例的计算,便于读者自行复现。设真实函数 f(x) = sin(x),在 x = 0.5 处导数真值为 cos(0.5) ≈ 0.87758。观测噪声标准差取 σ = 1×10⁻³,分别用前向差分在 h = 10⁻¹、10⁻²、10⁻³、10⁻⁴ 下估计,噪声标准差按 √2σ/h 计算:

步长 h噪声标准差 √2σ/h截断误差量级 |f″|h/2噪声/信号比结果可用性判断
1×10⁻¹≈ 1.41×10⁻²≈ 2.2×10⁻²≈ 1.6%截断误差主导,尚可
1×10⁻²≈ 1.41×10⁻¹≈ 2.2×10⁻³≈ 16%噪声开始明显
1×10⁻³≈ 1.41≈ 2.2×10⁻⁴≈ 161%噪声淹没信号
1×10⁻⁴≈ 14.1≈ 2.2×10⁻⁵≈ 1607%完全不可用

表中“噪声/信号比”以噪声标准差除以导数真值 0.87758 估算。可以看到,当 h 从 10⁻² 降到 10⁻³ 时,截断误差下降了约一个数量级,但噪声标准差上升了约一个数量级,总误差反而变大。若用信噪比 SNR = 20·log₁₀(|f′| / 噪声标准差) 衡量,h = 10⁻² 时约 15.9 dB,h = 10⁻³ 时降至约 −4.1 dB,即噪声功率已超过信号功率。这就是“信噪比恶化”的定量含义:不是信号变弱了,而是差分把噪声抬到了与信号同一量级甚至更高。

常见误区:认为“步长越小越精确”。在无噪声的理想数学环境中这成立,但在带噪数据上,步长小于 √σ 量级后,导数估计会被噪声主导,继续减小步长只会让结果更差。判断依据应是比较噪声标准差与截断误差的量级,而不是凭经验取一个很小的 h。

四、从分析到应对:本节结论如何指导后续