2011-06-17 9 views
5

多量のストリーミングデータに対してヒストグラムを生成するアルゴリズムを探していますが、最大値と最小値は事前に分かっていませんが、標準偏差と平均は特定の範囲。ストリーミングデータのヒストグラム計算 - オンラインヒストグラム計算

あなたのアイデアを高く評価します。

乾杯、

+0

ですか? – CharlesB

+0

私は正確なヒストグラムを望んでいないことを意味しました(各バケットの要素の数は正確である必要はありません)。 –

+0

も参照してくださいhttp://stackoverflow.com/questions/2464871/numpy-histogram-of-large-arrays – mtrw

答えて

2

解決策が見つかりました。 Sec。 「ストリーミング並列決定木アルゴリズムからのオンラインヒストグラム構築」論文の2.2。

ジェネリック、再利用可能なヒストグラムクラス 部分集計をサポートしています。アルゴはハイブプロジェクトにNumericHistogramクラスによって実装されます。 アルゴリズムは、ヒューリスティックは、次の紙から に適合されている:。ヤエル ベン・ハイムとELADトムサートフ、「 ストリーミング並列決定木 アルゴリズム」、J.機械学習 研究11(2010)、頁849- -872。 の保証はありませんが、十分なデータと大きな(例えば、 20-80)個のヒストグラムビンがあると、 がうまく機能しているようです。

1

標準偏差と平均はヒストグラムには関係ありません。単にあなたの解像度を選んで、その範囲でヒットしたバーを上げてください。これはもちろん高解像度でより高価になります。既存のデータを通常のカーブ(または好きなモデル)に合わせて、標準偏差を見つけて合理的な精度を選ぶことで、解像度を調整することができます。

編集:初めて間違って読む。おおよその標準偏差が分かっている場合は、ヒストグラムグループの合理的なサイズを取得することができます。新しいエントリを現在の最小値と最大値と比較し、それに応じて範囲を調整してください。