gpt4 book ai didi

c++ - boost 累加器 error_of 的目的是什么?

转载 作者:行者123 更新时间:2023-11-30 01:59:06 26 4
gpt4 key购买 nike

documentation boost 累加器的 error_of 特性说明它通过以下公式计算平均值的误差:

平方(方差/(计数 - 1)),

其中方差的计算方式是:

variance = 1/count sum[ (x_i - x_m)^2 ] 其中总和遍及样本的所有值 x_i i=1..count,x_m 是平均值。这给出了使用的公式(用于错误值):

sqrt(1/(count(count - 1)) 总和[ (x_i - x_m)^2 ] ),

Wikipedia指出对于标准差,可以使用未校正或校正后的样本标准差。后者的计算方式是:

sqrt(1/(count-1) * sum[ (x_i - x_m)^2] )

这是我通常用来计算平均值误差的那个。那么error_of 的目的是什么?那里计算出了哪个错误?

最佳答案

Boost.Accumulators 的整体公式确实是正确的,但它的计算方式有点不标准。

首先,sample variance只是方差的平均值

V_sample = sum[ (x_i - x_m)^2] / count
s_sample = sqrt[ V_sample ]

但是 s_sample 是总体标准差 sigma 的有偏估计。一个unbiased estimator of the population standard deviation

s_pop = s_sample * sqrt[ count / count - 1 ]

二、standard error on the mean是您测量平均值的误差。您可以使用平均值的标准误差围绕样本算术平均值构建置信区间,作为总体平均值 mu 的估计量。

均值的标准误差是总体标准差的无偏估计除以观察数的平方根的比率

s_mean = s_pop / sqrt[ count ]

Boost.Accumulator 将 s_mean 计算为

s_mean = s_sample / sqrt[count - 1]

但这两个表达式实际上是等价的,直接代入s_pops_sample的关系就可以看出。

注意:我认为 Boost.Accumulators 也定义这两个版本的标准差会很有用。

关于c++ - boost 累加器 error_of<mean> 的目的是什么?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/16543602/

26 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com