计算流数据的直方图 - 在线直方图计算

时间:2011-06-17 12:26:31

标签: algorithm stream statistics streaming

我正在寻找一种算法来生成大量流数据的直方图,max和min预先不知道,但标准偏差和均值在特定范围内。

感谢您的想法。

干杯,

3 个答案:

答案 0 :(得分:4)

我刚找到一个解决方案。秒。 2.2“从流式并行决策树算法构建在线直方图”论文。算法由Hive项目中的NumericHistogram类实现:

  

通用的,可重复使用的直方图类   支持部分聚合。   该算法是一种启发式改编   来自以下论文:Yael   Ben-Haim和Elad Tom-Tov,“A   流并行决策树   算法“,J。机器学习   Research 11(2010),pp.849-872。   虽然没有近似值   保证,似乎运作良好   有足够的数据和大量(例如,   20-80)直方图箱的数量。

答案 1 :(得分:1)

标准偏差和平均值对于直方图无关紧要。只需选择您的分辨率并绘制一个高达其范围的击中条形图。当然,这将以更高的分辨率变得更加昂贵。您可以尝试通过尝试将现有数据拟合到正常曲线(或任何您喜欢的模型)并找到标准偏差来选择合理的粒度来调整分辨率。

编辑:第一次读错了。如果您知道近似标准偏差,则可以从一开始就为直方图组选择合理的尺寸。只需将每个新条目与当前的最小值和最大值进行比较,然后相应地调整范围。

答案 2 :(得分:0)

我使用名为" GoHistogram"它提供了两个流式近似直方图(NumericHistogram和Weighted Numeric Histogram)。它在Golang(https://code.google.com)中实现。这是链接:

https://github.com/VividCortex/gohistogram