随机变量在代数运算中的误差传播(2/2)

前文链接:随机变量在代数运算中的误差传播(1/2)

六、说明

在前文中,我们讲述支配不确定性如何在不同运算中传播的数学规则,并探索量化不确定性的方法。但仅仅考虑随机变量之间相互独立的情形,然而,假如不独立,将有什么变化?本文将继续探讨相关议题。

七、误差传播中的相关性和协方差

我们目前的误差传播公式假设不确定性是独立的,但如果它们不是独立的,会发生什么情况呢?

不确定性之间的相关性比我们预想的更为常见,并且会对我们的结果产生显著影响。当测量值共享同一不确定性来源时,就会出现相关性。

试想一下,用同一把尺子测量一块金属块的长度和宽度。如果这把尺子实际短了1%,那么这两个测量值都会受到相同的系统性影响,并且它们呈正相关。类似地,如果温度影响实验中的多个传感器,那么同一时刻采集的所有读数都会受到这种环境影响。

当一个测量值往往较高,而另一个测量值也往往较高时(正相关),或者当一个测量值往往较高,而另一个测量值往往较低时(负相关),我们必须在不确定性计算中考虑这种关系。

当变量之间存在相关性时,我们在传播公式中引入协方差项 σₓᵧ。对于两个相关变量,其相关系数为 ρ:
σ x y = ρ σ x σ γ σ_{xy} = ρσₓσᵧ σxy=ρσxσγ

完整的加法公式为:
σ z 2 = σ x 2 + σ y 2 + 2 ρ σ x σ y σ_z² = σₓ² + σ_y² + 2ρσₓσ_y σz2=σx2+σy2+2ρσxσy

我们通过一个例子来更好地理解这个概念。

让我们测量一块高温下矩形金属板的周长。我们测得长度 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
σ p = [ ( 2 × 0.1 ) 2 + ( 2 × 0.05 ) 2 ] = [ 0.04 + 0.01 ] = 0.22 c m σₚ = \sqrt{[(2 × 0.1)² + (2 × 0.05)²] }= \sqrt{[0.04 + 0.01]} = 0.22 cm σp=[(2×0.1)2+(2×0.05)2] =[0.04+0.01] =0.22cm

然而,热膨胀对这两个维度的影响类似。如果我们确定相关系数为 ρ = 0.7(强正相关):
相关项 = 2 × 2 × 2 × 0.7 × 0.1 × 0.05 = 0.028 相关项= 2 × 2 × 2 × 0.7 × 0.1 × 0.05 = 0.028 相关项=2×2×2×0.7×0.1×0.05=0.028
σ p = [ 0.04 + 0.01 + 0.028 ] = 0.078 = 0.28 c m σₚ = \sqrt{[0.04 + 0.01 + 0.028]} =\sqrt{0.078 = 0.28 cm} σp=[0.04+0.01+0.028] =0.078=0.28cm

忽略相关性会低估我们的不确定性约 25%,这是一个可能影响我们结论的显著差异。

在以下情况下我们应该考虑协方差:

• 多次测量使用同一仪器或校准标准。

• 环境条件(温度、压力、湿度)会同时影响所有测量结果。

• 变量之间存在已知的物理关系(例如维度一起膨胀)。

当测量结果真正独立、使用不同仪器、在不同时间进行测量,或者相关性相对于其他不确定性来源可以忽略不计时,我们可以忽略协方差。如有疑问,如果改变条件会使两次测量结果朝同一方向变化,则它们很可能相关,这应在分析中加​​以考虑。

八、蒙特卡罗方法

当函数涉及条件逻辑、迭代计算或复杂的非线性关系时,蒙特卡罗模拟是一个很好的替代方案。

8.1 蒙特卡罗模拟

蒙特卡罗模拟采用直接的方法:不通过公式传播不确定性,而是模拟数千种可能的场景并观察结果的分布。

流程如下:

  1. 从每个输入变量的分布中生成随机样本。
  2. 计算每组样本的结果。
  3. 分析输出分布情况以确定不确定性。
    您可以通过我们的详细指南学习如何在 Excel 中进行蒙特卡罗模拟。但是,为了使本教程更加完整,让我们再回顾一下分析方法变得复杂的场景。

8.2 一个具体示例

考虑函数 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

8.3 这种方法的优点

使用蒙特卡罗方法优点:

  • 可处理任何分布类型:我们的输入不需要服从正态分布。
  • 自然相关性处理:还记得我们之前讨论的相关周长测量吗?蒙特卡罗方法可以直接生成相关的随机样本。
  • 完整输出图:我们获得了结果的完整分布,揭示了仅凭标准差可能无法解释的偏斜或多个峰值。
  • 可处理复杂逻辑:可处理带有 if/then 条件或 min/max 操作的函数。

8.4 使用蒙特卡罗方法的时机

那么,我们应该在什么情况下选择蒙特卡罗方法而不是解析方法呢?我们可以考虑在

  • 我们的函数涉及条件语句或迭代计算。
  • 变量服从非正态分布(均匀分布、指数分布等)。
  • 我们需要完整的输出分布,而不仅仅是它的标准差。
  • 分析方法需要复杂的导数,而我们没有信心计算这些导数。
    在实际应用中,10,000 个样本通常能为大多数应用提供良好的估计值,而 100,000 个样本则能提供更高的精度。现代计算机可以在几秒钟内完成简单函数的模拟。

8.5 计算方面的考虑

对于计算密集型模型,例如有限元模拟或气候模型,一次计算可能需要数小时,因此代理模型非常适用。

代理模型是简化的数学函数,可以近似表示复杂模型的行为,是一种更快的替代方案,能够捕捉原始模型的输入输出关系。

然而,对于大多数数据分析任务而言,直接蒙特卡罗模拟提供了准确性和简便性的理想平衡。

九、一些问题

1 当添加具有不确定度的测量值时,是否直接添加不确定度?

不,你应该用平方根法(平方和的平方根)将它们相加。对于 z = x + y,不确定度为 σ z = ( σ x 2 + σ γ 2 ) σ_z = \sqrt{(σₓ ² + σᵧ ² )} σz=(σx2+σγ2) ,而不是 σₓ + σᵧ。

2 哪种数学运算最能放大不确定性?

幂运算和根运算会显著放大不确定性。对于 z = xⁿ,相对不确定性会乘以 |n|,因此对一个值进行立方运算会使它的相对不确定性增加三倍。

3 什么时候应该使用蒙特卡罗模拟而不是解析公式?

当处理条件逻辑、非正态分布或复杂的非线性函数时,可以使用蒙特卡罗方法。当您需要完整的输出分布时,它也是理想之选。

4 什么情况下我可以忽略测量结果之间的相关性?

当使用不同的仪器在不同的时间进行测量,或者相关性与其他不确定因素相比可以忽略不计时,可以忽略相关性。

5 相关性总是会增加不确定性吗?

不,正相关会增加不确定性,而负相关实际上可以降低不确定性。这种影响取决于相关系数的符号和大小。

相关推荐
图像生成小菜鸟15 小时前
Score Based diffusion model 数学推导
算法·机器学习·概率论
头发没了还会再长17 小时前
Basic statistics - 12. One-way ANOVA Basics
统计学·statistics
*星星之火*1 天前
【大白话 AI 答疑】 第7篇熵、交叉熵与交叉熵损失的概念梳理及计算示例
人工智能·机器学习·概率论
头发没了还会再长2 天前
Basic statistics - 10. The unpaired t-test | Independent samples t-test
统计学·statistics
头发没了还会再长2 天前
Basic statistics -11. The paired t-test | explained with a sample example
统计学·statistics
咚咚王者3 天前
人工智能之数学基础 概率论与统计:第一章 基础概念
人工智能·概率论
_Li.3 天前
机器学习-贝叶斯公式
人工智能·机器学习·概率论
咚咚王者3 天前
人工智能之数学基础 概率论与统计:第二章 核心定理
人工智能·概率论
Y_fulture4 天前
datawhale组队学习:第一章习题
学习·机器学习·概率论