python中uarray的平均值

python中uarray的平均值,python,arrays,uncertainty,Python,Arrays,Uncertainty,我的问题是: 我在pythons包中有一个ufloat数组(例如unarray)。 数组的所有值都有它们自己的错误,我需要一个函数,它给出了数组关于这两个错误的平均值 我在计算标称值的平均值时得到,以及这些值误差的影响 我有一张优惠券: 2+/-1 3 +/- 2 4+/-3 需要一个函数,它给我数组的平均值 谢谢除非我遗漏了什么,否则您可以计算数组长度除以: from uncertainties import unumpy, ufloat import numpy as np arr = np

我的问题是:

我在pythons包中有一个ufloat数组(例如unarray)。 数组的所有值都有它们自己的错误,我需要一个函数,它给出了数组关于这两个错误的平均值 我在计算标称值的平均值时得到,以及这些值误差的影响

我有一张优惠券:

2+/-1
3 +/- 2
4+/-3

需要一个函数,它给我数组的平均值


谢谢

除非我遗漏了什么,否则您可以计算数组长度除以:

from uncertainties import unumpy, ufloat
import numpy as np
arr = np.array([ufloat(2, 1), ufloat(3, 2), ufloat(4,3)])
print(sum(arr)/len(arr))
# 3.0+/-1.2
您也可以这样定义它:

arr1 = unumpy.uarray([2, 3, 4], [1, 2, 3])
print(sum(arr1)/len(arr1))
# 3.0+/-1.2

考虑其余部分。

假设高斯统计,不确定性源于高斯父分布。在这种情况下,通过逆方差对测量值(标称值)进行加权是标准的。对一般加权平均数的应用给出:

$$\frac{\sum\u i w\u i x\u i}{\sum\u i w\u i}=\frac{\sum\u i x\u i/\sigma\u i^2}{\sum\u i 1/\sigma\u i^2}$$。

只需对其进行良好的误差传播,即可获得加权平均值的不确定性

$$\sqrt{\sum\u i\frac{1}{1/\sum\u i\sigma\u i^2}$$

我手头上没有一个n长度的公式,从语法上讲可以做到这一点,但在一个简单的例子中,我们可以得到加权平均值及其不确定性:

a=un.ufloat(5,2)
b=联合国的不公平待遇(8,4)
wavg=联合国不动产(a.n/a.s**2+b.n/b.s**2)/(1/a.s**2+1/b.s**2),
np.sqrt(2/(1/a.s**2+1/b.s**2)))
打印(wavg)
>>> 5.6+/-2.5298221281347035

正如人们所期望的,结果更倾向于不确定性较小的值。这很好,因为测量中较小的不确定度意味着其相关标称值比不确定度较大的更接近父分布中的真实值。

你能举一个例子说明你期望从该数据集中得到的结果吗?如果我在真实数据中使用这个,我怀疑这是正确的,我得到的误差值为+/-0.4,而标称值平均值的标准误差约为8。你可能有不同的误差分布。这可能会让你感兴趣,问题是你得到的是简单和的标称值和不确定性除以条目的长度。看到我的答案了吗。