2016-07-07 16 views
1

私は操作中に浮動小数点値を計算しています。私はそれらをすべてメモリに保存するのではなく、コレクションの大まかな配布を保存したいと思います。単一の値を保存せずに確率分布を保存する

私の考えは、すべての値の指数を決定し、それらをヒストグラムで数えることでした。しかし、これはもちろん、値が異なる指数を持つ場合にのみ機能します。

どのように私は配布がどのように見えるか知らずにこれを行うことができるアイデアはありますか?

+0

からそれをPDFを再構築あなたがどんなに荒いかに依存します。また、価値の範囲について考えていますか?それらはすべて0から100万の間ですか? –

答えて

5

私はランダムにいくつかを保存し、それから事実の後にヒストグラムを作成することをお勧めします。たとえば、数値の0.1%をランダムに保存すると、100,000を保存するだけで済み、非常に正確な分布を計算できます。

数字を保存して1..2000の範囲の乱数を見つけるたびに呼び出すことで、rand()の呼び出し回数を減らすことができます。

+0

入力データが十分にランダム/均等に分布している場合は、_n_番目のデータをサンプリングするだけで、乱数ジェネレータを一切必要とせずに済みます。 – Tomboyo

+0

@ Tomboyo私はそれについて考えましたが、私は個人的にそれをしたいと思うにはあまりにも多くの "同期アーティファクト"を見てきました。 – btilly

+1

私は同意します。私はしばしば "毎n回"のサンプリングで歪んだ結果を得ました。 –

1

最小値と最大値をおおよそ知っていれば、ビニング戦略が良い選択だと思います。ここで私が言いたいのアウトラインです:あなたは私のすべての番号については を必要とするどのように多くのビン

図アウトは、この数はビン

関連する問題