文件交换

图像缩略图

蒙特卡罗误差传播

1.0版(6.5 kB) carstenrobens.
具有不同误差类型的任意解析函数的误差传播方法

5下载

更新2016年6月15日

查看许可证

错误传播是在现代科学中的核心兴趣,并且在大多数情况下,通过假设参数的高斯误差和计算部分导数来完成(见https://en.wikipedia.org/wiki/propagation_of_uncertainty#simplification.)。
然而,这种方法有三个主要缺点:
a)线性函数或可以通过线性函数近似的函数仅为真实,但是在比率变小时完全分解,例如f(a,b)= a / b,而误差仍然很重要(见例2)。
b)在简单的版本中,不可能将具有不同误差分布的参数组合,即高斯分布(例如二项式)
C)对于复杂函数,偏导数的计算可能是繁琐的
我们编写了一个简单的基于Monte Carlo的错误传播,允许防止所有这些缺点。该文件example.m包含各种不同的具体示例如何使用方法并显示简单的高斯误差传播方法中断的位置。由于现代计算机,此方法允许通过数字蒙特卡罗参数生成进行精确的错误传播。
该方法基本上由两个功能组成:GenerateMcParameters和ProbageErrorWithmc
第一部分使用以下选项生成MC参数值的分布:
%errortype:高斯,二项式,bootstrapmean,bootstrapdistribution
% params:依赖于errorType(高斯:x,dx;二项:n, k;引导:数组测量值
%图:(可选)绘制最终分布
% numSamples:(可选)MC样本数量

在当前状态下,可以生成以下四个分布:
- 高斯:由平均值和西格玛指定
- 二项式:由n和k定义
- bootstrapMean:这是实现,因为很多时候人衡量一个信号,知道它有一个平均值,但读数波动,在这种情况下,用户可以输入测量值(x_1、x_2…x_n)和使用引导一个分布围绕均值生成(见也https://en.wikipedia.org/wiki/bootstrapping_ (statistics)#estimating_the_distribution_of_sample_mean.)。
- 引导标准:如果测量值本身波动(而不是刚刚读取),此方法允许直接从测量值(x_1,x_2,.... x_n)生成MC阵列。

一旦生成参数的分布,可以传播它们。例如,在函数f(a,b)= a / b:
a = generatemccarameters('gaussian',[2,0.2]);
b = generatemccparameters('gaussian',[0.5,0.2]);
paramMatrix = [A, B];
funtoprop = @(x)x(1)./ x(2);
[Funvalue,Funci,Funsamples] =传播交箭(Funtoprop,Parammatrix);

以下选项:
应该评估的%FunofInterest函数
% params:列向量矩阵,每行表示采样参数
%cithreshold :(可选)置信区间阈值,默认值:0.68
%图:(可选)绘制最终分布
% method:(可选)确定funValue(中位数(默认),平均值,最大值)的方法

置信区间的默认值是CIthreshold = 0.68。然后通过对函数值分布从+/- inf积分直到值达到(1-CIthreshold)/2来确定CI。

最后的图显示CI内的值用绿色表示,而CI外的值用蓝色表示,还进行了指数拟合以比较最终分布与高斯分布。

==== Version 1.0 (2016-07-14) ====
上传初始版本:
Carsten雄组和Stefan Brakhane

已知bug /需要改进:
- 具有小n的纯第一型分布的传播交叉误测的CI不会再现众所周知的卫生钢板CI(见https://en.wikipedia.org/wiki/Binomial_proportion_confidence_interval#Clopper-Pearson_interval)。

引用

carstenrobens(2021)。蒙特卡罗误差传播(//www.tatmou.com/matlabcentral/fileexchange/57672-monte-carlo-error-propagation), MATLAB中央文件交换。检索

意见及评分(3.

托马斯Adamek

Miguel Martinez-Dorantes

andrea

MATLAB版本兼容性
用R2015A创建
与任何版本兼容
平台兼容性
窗户 macOS Linux.
致谢

灵感来自:二项(二项式系数)。

社区宝藏狩猎

找到Matlab Central中的宝藏,并发现社区如何帮助您!

开始狩猎!