我有一个集合列表和每个集合的基本统计数据(项目数,min,max,mean,stddev)。我想计算所有组合的相同统计数据。计算总计数,最小最大值和平均值很容易,但我不确定如何计算总标准偏差。
数据如下所示:
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 ???
答案 0 :(得分:2)
我假设您正在编写维护分发的代码,而不仅仅是消耗已经计算出标准差的一些数据。标准开发不是维护计算机的真正自然参数。相反,您应该保持项目的数量,总和以及平方项目的总和,然后您可以轻松地计算这三个原始信息的分布的均值和标准差。我在这里的代码中使用了这个策略。添加操作支持合并两个分发。注意它的实现有多简单。 http://github.com/rrenaud/dominionstats/blob/master/stats.py#L17
答案 1 :(得分:0)
我认为不可能从您拥有的数据中精确计算出来。问题是标准偏差取决于组合数据集的平均值,该平均值不一定与单个平均值相同,也取决于每个点与该平均值之间的距离,您没有精确(但可能是近似值)访问。