当我们使用测量值进行计算时,实际上是在与不确定性打交道。每一次测量都带有一定不确定性,通常以绝对误差或相对误差表示。将测量用于计算时,这些不确定性并不会消失;相反,它们会相互叠加,并可能因所涉及的数学运算而被放大。
误差传播(又称不确定度传播)是指确定测量变量中的不确定性如何影响计算结果不确定性的过程。
在本教程中,我们将学习支配不确定性在不同运算中如何传播的数学规则,并探讨量化不确定性的多种方法。我们将通过实用示例,演示如何在真实场景中计算不确定性,范围涵盖从简单算术到涉及相关性与高级仿真技术的复杂函数。
误差传播的关键概念
在深入数学规则之前,先理解一些误差传播背后的概念:
绝对误差 表示与真实值的实际偏差,单位与测量值相同。若我们测得长度为 10.0 ± 0.2 cm,则绝对误差为 0.2 cm。
相对误差 将不确定性表示为测量值的一个分数或百分比。对上述长度测量,相对误差为 0.2/10.0 = 0.02 或 2%。
标准差 是在大多数科学语境中用于度量不确定性的主要指标,表示值围绕均值的离散程度。当我们将测量表示为 x ± σ 时,σ 表示一个标准差。
方差 是标准差的平方。相互独立的随机变量的方差可直接相加,这一性质简化了许多计算。
协方差 衡量两个变量相互变化的关系。当不确定性存在相关性时,必须在传播公式中加入协方差项才能得到准确结果。
理解独立不确定性与相关不确定性的区别同样重要。独立不确定性源自彼此无关的来源,例如不同仪器的读数误差。相关不确定性共享共同来源,例如多个测量使用了相同的校准标准。
虽然本教程重点关注遵循统计规律的随机误差,但值得注意的是,系统误差(持续的偏差)需要采用不同的方法处理。
误差传播的数学规则
不确定度的传播会根据所进行的数学运算遵循特定规则。让我们逐一探讨这些运算:
加法与减法
当对带有不确定性的测量值进行加减时,若以标准差计,应将绝对不确定性按平方和开根(即二乘求和后开方)的方式相加。
对于 z = x ± y,其中 x 的不确定性为 σₓ,y 的不确定性为 σᵧ:
σz = √(σₓ² + σᵧ²)技术支持
考虑一个测量两根金属棒总长度的例子。A 棒测得 15.3 ± 0.2 cm,B 棒测得 8.7 ± 0.1 cm。总长度为:
Length = 15.3 + 8.7 = 24.0 cm
Uncertainty = √(0.2² + 0.1²) = √(0.04 + 0.01) = √0.05 = 0.22 cm技术支持
因此,总长度为 24.0 ± 0.22 cm。
乘法与除法
对于乘法与除法,我们处理相对不确定性。结果的相对不确定性等于输入相对不确定性的平方和开根。
对于 z = xy 或 z = x/y:
(σz/z)² = (σₓ/x)² + (σᵧ/y)²技术支持
假设我们要求一矩形的面积,长度为 5.0 ± 0.1 m,宽度为 3.0 ± 0.05 m。
Area = 5.0 × 3.0 = 15.0 m²
Relative uncertainty in length = 0.1/5.0 = 0.02
Relative uncertainty in width = 0.05/3.0 = 0.0167
Relative uncertainty in area = √(0.02² + 0.0167²) = √(0.0004 + 0.000278) = 0.026
Absolute uncertainty in area = 15.0 × 0.026 = 0.39 m²技术支持
因此,面积为 15.0 ± 0.39 m²。
幂与开方
当将测量值提升至 n 次幂时,相对不确定性会乘以幂的绝对值。
对于 z = xⁿ:
σz/z = |n| × (σₓ/x)技术支持
考虑一个情景:测得一球体半径为 2.5 ± 0.05 cm,欲用 V = (4/3)πr³ 计算其体积。
Volume = (4/3)π(2.5)³ = 65.45 cm³
Relative uncertainty in radius = 0.05/2.5 = 0.02
Relative uncertainty in volume = 3 × 0.02 = 0.06
Absolute uncertainty in volume = 65.45 × 0.06 = 3.93 cm³技术支持
因此,体积为 65.5 ± 3.9 cm³。
对数与指数函数
自然对数:
If z = ln(x), then σz = σₓ/x技术支持
指数函数:
If z = eˣ, then σz/z = σₓ技术支持
假设我们测得 x = 10.0 ± 0.3,并计算 y = ln(x)。
y = ln(10.0) = 2.303
Uncertainty in y = 0.3/10.0 = 0.03技术支持
因此,ln(10.0) = 2.303 ± 0.030。
在我们已探索不同运算的具体规则之后,接下来了解支撑这些规则的统一数学基础。
用微积分推导
为建立直觉,可将偏导数理解为回答这样的问题:“如果我把这个输入改变一丁点,输出会改变多少?”
这种对变化的敏感度正是我们理解不确定性如何传播所需的。如果偏导数很大,说明该输入对输出影响强,其不确定性对最终不确定性的贡献就更大。
让我们从数学基础开始。对函数 z = f(x, y),全微分告诉我们:
dz = (∂f/∂x)dx + (∂f/∂y)dy技术支持
当我们把 dx 和 dy 解释为小的不确定性,且想要求方差(σz²)时,对两边平方并取期望值。
这会得到通用的误差传播公式:
σz² = (∂f/∂x)² σₓ² + (∂f/∂y)² σᵧ² + 2(∂f/∂x)(∂f/∂y)σₓᵧ技术支持
其中,σₓᵧ 表示 x 与 y 的协方差。对于独立变量,该项为零,从而得到我们通常使用的较为简化的形式。
让我们通过推导乘法规则来验证该公式。
对于 z = xy:
关于 x 的偏导:∂z/∂x = y
关于 y 的偏导:∂z/∂y = x
代入通用公式(假设 x 与 y 独立):
σz² = y²σₓ² + x²σᵧ²技术支持
两边同除以 z² = (xy)² :
σz²/z² = σₓ²/x² + σᵧ²/y²技术支持
开平方得到:
(σz/z)² = (σₓ/x)² + (σᵧ/y)²技术支持
这正是相对不确定性按平方和开根相加的乘法规则。
当处理记忆规则不适用的复杂函数时,这种通用方法尤为有用。
例如,若需计算 z = x² sin(y) + exy 的不确定性,我们可以系统地应用偏导,而不必尝试拼接多条规则。该公式适用于任意可微函数,是我们在复杂计算中进行不确定性分析的最有用工具。
误差传播中的相关性与协方差
到目前为止,我们的误差传播公式假设不确定性彼此独立,但当它们并非独立时会怎样?
相关性 在不确定性之间的出现比我们想象的更常见,并且会显著影响结果。当测量共享同一不确定性来源时,就会产生相关性。
例如,使用同一把尺子测量金属块的长度与宽度。如果这把尺子实际上短了 1%,两次测量都会以同样方式受到系统影响,因而呈正相关。类似地,如果温度会影响实验中的多个传感器,那么同一时刻的所有读数都会共享这种环境影响。
当一个测量值偏高时另一个也倾向偏高(正相关),或一个偏高时另一个倾向偏低(负相关),我们必须在不确定性计算中考虑这种关系。
当变量存在相关性时,我们在传播公式中引入协方差项 σₓᵧ。对于相关系数为 ρ 的两个相关变量:
σₓᵧ = ρσₓσᵧ技术支持
完整的加法公式变为:
σz² = σₓ² + σᵧ² + 2ρσₓσᵧ技术支持
我们用一个例子来加深理解。
在较高温度下测量一块矩形金属板的周长。测得长度 L = 10.0 ± 0.1 cm,宽度 W = 5.0 ± 0.05 cm。周长 P = 2L + 2W。
不考虑相关性时:
P = 2(10.0) + 2(5.0) = 30.0 cm
σₚ = √[(2 × 0.1)² + (2 × 0.05)²] = √[0.04 + 0.01] = 0.22 cm技术支持
然而,热胀对两个尺寸的影响相似。若估计相关系数 ρ = 0.7(强正相关):
Covariance term: 2 × 2 × 2 × 0.7 × 0.1 × 0.05 = 0.028
σₚ = √[0.04 + 0.01 + 0.028] = √0.078 = 0.28 cm技术支持
忽略相关性使我们低估了约 25% 的不确定性,这一差异可能影响结论。
应在以下情况下纳入协方差:
多次测量使用同一仪器或校准标准。
环境条件(温度、压力、湿度)同时影响所有测量。
变量之间存在已知的物理关系(如各向尺寸共同膨胀)。
当测量真正独立、使用不同仪器、在不同时间进行,或与其他不确定性来源相比相关性可忽略时,可以合理地省略协方差。若拿不准,只要条件变化会以相同方向影响两项测量,它们很可能相关,应在分析中予以考虑。
处理不确定性的高级方法
当函数涉及条件逻辑、迭代计算或复杂的非线性关系时,蒙特卡罗模拟是一个很好的替代方案。
蒙特卡罗模拟
蒙特卡罗模拟采用直接方法:不再通过公式传播不确定性,而是模拟成千上万种可能情景,观察结果的分布。
过程如下:
从每个输入变量的分布中生成随机样本。
对每组样本计算结果。
分析输出分布以确定不确定性。
您可以通过 我们的深度指南 学习如何在 Excel 中进行蒙特卡罗模拟。不过,为了本教程的完整性,我们再看一个解析方法会变得复杂的情景。
考虑 z = x² /y,其中 x = 10.0 ± 0.5,y = 2.0 ± 0.2。虽然我们可以使用偏导数,但来看蒙特卡罗如何以概念方式处理这一问题:
for each of 10,000 iterations:
x_sample = random value from normal(mean=10.0, std=0.5)
y_sample = random value from normal(mean=2.0, std=0.2)
z_sample = x_sample² / y_sample
result = mean of all z_samples = 50.2
uncertainty = standard deviation of z_samples = 5.3技术支持
这种方法的优势在于:
适用于任意分布类型 :输入不必是正态分布。
自然处理相关性 :还记得相关的周长测量吗?蒙特卡罗可以直接生成相关的随机样本。
完整的输出画像 :可获得结果的完整分布,揭示偏度或多峰性,而不仅仅是标准差所能体现的。
适用于复杂逻辑 :包含 if/then 条件或 min/max 运算的函数也能处理。
那么,何时应优先选择蒙特卡罗而非解析方法?可在以下情况下考虑:
函数包含条件语句或迭代计算。
变量服从非正态分布(均匀分布、指数分布 等)。
需要完整的输出分布,而不仅仅是其标准差。
解析方法需要复杂导数,且我们不确定能否可靠计算。
在实际应用中,通常 10,000 个样本即可提供较好的估计,而 100,000 个样本可获得更高精度。对简单函数而言,现代计算机在数秒内即可完成这些模拟。
计算方面的考量
对于计算量巨大的模型(如有限元模拟或气候模型),一次计算可能耗时数小时,此时可采用代理模型。
代理模型是对复杂模型行为进行近似的简化数学函数,是更快速的替代方案,能够捕捉原始模型的输入-输出关系。
但对于大多数数据分析任务,直接的蒙特卡罗模拟在准确性与简便性之间达到了理想平衡。
结语
本文介绍了误差传播,这一理解测量不确定性如何影响计算结果的数学框架。我们学习了不确定性在不同数学运算中的基本传播规则,理解了变量间相关性对不确定性计算的影响,并探讨了在复杂情景下作为计算替代方案的蒙特卡罗模拟。
若您希望在真实应用中进一步提升处理不确定性与统计分析的能力,欢迎探索我们 Machine Learning Scientist with Python 学习路径。该路径涵盖监督与无监督学习、特征工程、时间序列分析与深度学习,这些领域都需要理解不确定性与误差分析,以评估模型性能、置信区间,并在数据科学项目中做出可靠预测。
当我们使用测量值进行计算时,实际上是在与不确定性打交道。每一次测量都带有一定不确定性,通常以绝对误差或相对误差表示。将测量用于计算时,这些不确定性并不会消失;相反,它们会相互叠加,并可能因所涉及的数学运算而被放大。
误差传播(又称不确定度传播)是指确定测量变量中的不确定性如何影响计算结果不确定性的过程。
在本教程中,我们将学习支配不确定性在不同运算中如何传播的数学规则,并探讨量化不确定性的多种方法。我们将通过实用示例,演示如何在真实场景中计算不确定性,范围涵盖从简单算术到涉及相关性与高级仿真技术的复杂函数。
误差传播的关键概念
在深入数学规则之前,先理解一些误差传播背后的概念:
理解独立不确定性与相关不确定性的区别同样重要。独立不确定性源自彼此无关的来源,例如不同仪器的读数误差。相关不确定性共享共同来源,例如多个测量使用了相同的校准标准。
虽然本教程重点关注遵循统计规律的随机误差,但值得注意的是,系统误差(持续的偏差)需要采用不同的方法处理。
误差传播的数学规则
不确定度的传播会根据所进行的数学运算遵循特定规则。让我们逐一探讨这些运算:
加法与减法
当对带有不确定性的测量值进行加减时,若以标准差计,应将绝对不确定性按平方和开根(即二乘求和后开方)的方式相加。
对于 z = x ± y,其中 x 的不确定性为 σₓ,y 的不确定性为 σᵧ:
考虑一个测量两根金属棒总长度的例子。A 棒测得 15.3 ± 0.2 cm,B 棒测得 8.7 ± 0.1 cm。总长度为:
因此,总长度为 24.0 ± 0.22 cm。
乘法与除法
对于乘法与除法,我们处理相对不确定性。结果的相对不确定性等于输入相对不确定性的平方和开根。
对于 z = xy 或 z = x/y:
假设我们要求一矩形的面积,长度为 5.0 ± 0.1 m,宽度为 3.0 ± 0.05 m。
因此,面积为 15.0 ± 0.39 m²。
幂与开方
当将测量值提升至 n 次幂时,相对不确定性会乘以幂的绝对值。
对于 z = xⁿ:
考虑一个情景:测得一球体半径为 2.5 ± 0.05 cm,欲用 V = (4/3)πr³ 计算其体积。
因此,体积为 65.5 ± 3.9 cm³。
对数与指数函数
自然对数:
指数函数:
假设我们测得 x = 10.0 ± 0.3,并计算 y = ln(x)。
因此,ln(10.0) = 2.303 ± 0.030。
在我们已探索不同运算的具体规则之后,接下来了解支撑这些规则的统一数学基础。
用微积分推导
为建立直觉,可将偏导数理解为回答这样的问题:“如果我把这个输入改变一丁点,输出会改变多少?”
这种对变化的敏感度正是我们理解不确定性如何传播所需的。如果偏导数很大,说明该输入对输出影响强,其不确定性对最终不确定性的贡献就更大。
让我们从数学基础开始。对函数 z = f(x, y),全微分告诉我们:
当我们把 dx 和 dy 解释为小的不确定性,且想要求方差(σz²)时,对两边平方并取期望值。
这会得到通用的误差传播公式:
其中,σₓᵧ 表示 x 与 y 的协方差。对于独立变量,该项为零,从而得到我们通常使用的较为简化的形式。
让我们通过推导乘法规则来验证该公式。
对于 z = xy:
代入通用公式(假设 x 与 y 独立):
两边同除以 z² = (xy)²:
开平方得到:
这正是相对不确定性按平方和开根相加的乘法规则。
当处理记忆规则不适用的复杂函数时,这种通用方法尤为有用。
例如,若需计算 z = x²sin(y) + exy 的不确定性,我们可以系统地应用偏导,而不必尝试拼接多条规则。该公式适用于任意可微函数,是我们在复杂计算中进行不确定性分析的最有用工具。
误差传播中的相关性与协方差
到目前为止,我们的误差传播公式假设不确定性彼此独立,但当它们并非独立时会怎样?
相关性在不确定性之间的出现比我们想象的更常见,并且会显著影响结果。当测量共享同一不确定性来源时,就会产生相关性。
例如,使用同一把尺子测量金属块的长度与宽度。如果这把尺子实际上短了 1%,两次测量都会以同样方式受到系统影响,因而呈正相关。类似地,如果温度会影响实验中的多个传感器,那么同一时刻的所有读数都会共享这种环境影响。
当一个测量值偏高时另一个也倾向偏高(正相关),或一个偏高时另一个倾向偏低(负相关),我们必须在不确定性计算中考虑这种关系。
当变量存在相关性时,我们在传播公式中引入协方差项 σₓᵧ。对于相关系数为 ρ 的两个相关变量:
完整的加法公式变为:
我们用一个例子来加深理解。
在较高温度下测量一块矩形金属板的周长。测得长度 L = 10.0 ± 0.1 cm,宽度 W = 5.0 ± 0.05 cm。周长 P = 2L + 2W。
不考虑相关性时:
然而,热胀对两个尺寸的影响相似。若估计相关系数 ρ = 0.7(强正相关):
忽略相关性使我们低估了约 25% 的不确定性,这一差异可能影响结论。
应在以下情况下纳入协方差:
当测量真正独立、使用不同仪器、在不同时间进行,或与其他不确定性来源相比相关性可忽略时,可以合理地省略协方差。若拿不准,只要条件变化会以相同方向影响两项测量,它们很可能相关,应在分析中予以考虑。
处理不确定性的高级方法
当函数涉及条件逻辑、迭代计算或复杂的非线性关系时,蒙特卡罗模拟是一个很好的替代方案。
蒙特卡罗模拟
蒙特卡罗模拟采用直接方法:不再通过公式传播不确定性,而是模拟成千上万种可能情景,观察结果的分布。
过程如下:
您可以通过我们的深度指南学习如何在 Excel 中进行蒙特卡罗模拟。不过,为了本教程的完整性,我们再看一个解析方法会变得复杂的情景。
考虑 z = x²/y,其中 x = 10.0 ± 0.5,y = 2.0 ± 0.2。虽然我们可以使用偏导数,但来看蒙特卡罗如何以概念方式处理这一问题:
这种方法的优势在于:
那么,何时应优先选择蒙特卡罗而非解析方法?可在以下情况下考虑:
在实际应用中,通常 10,000 个样本即可提供较好的估计,而 100,000 个样本可获得更高精度。对简单函数而言,现代计算机在数秒内即可完成这些模拟。
计算方面的考量
对于计算量巨大的模型(如有限元模拟或气候模型),一次计算可能耗时数小时,此时可采用代理模型。
代理模型是对复杂模型行为进行近似的简化数学函数,是更快速的替代方案,能够捕捉原始模型的输入-输出关系。
但对于大多数数据分析任务,直接的蒙特卡罗模拟在准确性与简便性之间达到了理想平衡。
结语
本文介绍了误差传播,这一理解测量不确定性如何影响计算结果的数学框架。我们学习了不确定性在不同数学运算中的基本传播规则,理解了变量间相关性对不确定性计算的影响,并探讨了在复杂情景下作为计算替代方案的蒙特卡罗模拟。
若您希望在真实应用中进一步提升处理不确定性与统计分析的能力,欢迎探索我们Machine Learning Scientist with Python 学习路径。该路径涵盖监督与无监督学习、特征工程、时间序列分析与深度学习,这些领域都需要理解不确定性与误差分析,以评估模型性能、置信区间,并在数据科学项目中做出可靠预测。