Math 查找偏差/要素列表的标准偏差

Math 查找偏差/要素列表的标准偏差,math,statistics,standard-deviation,Math,Statistics,Standard Deviation,我有一个集合列表和每个集合的一些基本统计数据(项目数、最小值、最大值、平均值、标准差)。我想计算所有集合的相同统计数据。计算总计数、最小最大值和平均值很容易,但我不确定如何计算总标准偏差 数据如下所示: Count Max Min Mean Stddev 1,027,671 781 68 57.8 32.79 839,473 552 54 61.3 48.53 3,012,

我有一个集合列表和每个集合的一些基本统计数据(项目数、最小值、最大值、平均值、标准差)。我想计算所有集合的相同统计数据。计算总计数、最小最大值和平均值很容易,但我不确定如何计算总标准偏差

数据如下所示:

Count        Max      Min      Mean      Stddev
1,027,671    781      68       57.8      32.79
  839,473    552      54       61.3      48.53
3,012,102    890      41       64.9      41.92
同时生成所有集合的统计信息:

4,879,246    890      41       62.8      ???

我认为不可能根据你掌握的数据准确计算出这一点。问题在于,标准偏差取决于组合数据集的平均值,该平均值不一定与单个平均值相同,还取决于每个点与该平均值之间的距离,您无法准确(但可能是近似)访问该平均值。

我假设您正在编写保持分布的代码,而不仅仅是消耗一些已经计算出标准偏差的数据。对于计算机来说,标准dev并不是一个很自然的参数。相反,您应该保持项目数量、总和和项目总和的平方,然后您可以轻松地计算这3条原始信息的平均值和标准偏差分布。我在这里的代码中使用这个策略。添加操作支持合并两个发行版。注意它的实现是多么简单

每套都在单独的机器上计算。我必须通过网络发送所有这些数据,这在我的应用程序中是不可接受的。您只需要发送汇总信息的三个计数、总和和平方和来计算计数/平均值/标准偏差。平方和只是一个比标准dev更易于计算的统计数据,因为它是通过加法组合而成的。它们有一个双射连接,如果你知道count,sum,和std-dev,你可以得到count,sum和sum-squares,反之亦然。如果你愿意,你可以提交它作为答案。这是错误的。您可以通过单个均值的计数加权和来计算组合数据的平均值,或者更清楚地说,通过从和和均值中获得单个分布的和和和计数,然后将组合的计数和和和计算成组合平均值。对于标准偏差也有类似的论点,但它需要多一点代数。@rrenaud:我知道很容易得到新的平均值,我很想看看你对标准偏差的精确解,以及他提供的信息。