箱ひげ図を作成できるように、多数のサンプルを記述する統計セットを蓄積することは可能ですか?


22

私は統計学者ではなく実践的なソフトウェア開発者であり、大学の統計学の授業はかなり前のことであることをすぐに明確にしなければなりません…

それは、個々のサンプルの束を保存することを必要としない、箱ひげ図を作成するために使用できる記述統計のセットを蓄積する方法があるかどうかを知りたいですか?

私がやろうとしているのは、複雑なマルチキュープロセス内のキューサービス時間のグラフィカルな要約を作成することです。私は過去にtnftoolsと呼ばれるパッケージを使用していました。これにより、大きなサンプルを蓄積し、後処理して応答時間と外れ値の素敵なグラフを作成できました。

理想的には、プロセスの実行中に一連の記述統計を「オンザフライ」で蓄積し、必要に応じて分析のためにデータを抽出できるようにしたいと考えています。ただし、メモリ/ IOがシステムのパフォーマンスに許容できない影響を与えるため、プロセスにサンプルを蓄積させることはできません。


Kaelin:>中央値や四分位数などの要約統計量を計算する「オンザフライ」方式が存在するかどうかを意味しますか?これがあなたが望むものであるならば、私はそれらを詳述する論文へのリンクを与えることができます。また、あなたは、これらの方法の効率的なGNUの実装はそうR.に存在するように取り組んでいるプラットフォームの詳細与えることができる
user603

@kwak:はい、それは私が探しているもののように聞こえます。これらのリンクを大いに感謝します。:-) Mac OS Xに取り組んでいます…Rをデータの後処理に使用できますが、通常の理由でGPLコードを会社の製品にリンクできません。
Kaelin Colclasure

回答:


27

「オンザフライ」ボックスプロットでは、「オンザフライ」の最小/最大(自明)および「オンザフライ」四分位数(0.25、0.5 =中央値および0.75)が必要です。

最近、中央値計算用のオンライン(または「オンザフライ」)アルゴリズムの問​​題で多くの作業が行われています。

最近の開発はビンメディアンです。サイドキックとして、クイック選択(オンラインでもシングルパスでもない)よりも最悪のケースの複雑さを享受します。

CおよびFORTRANコードと同様に、関連する論文をこちらでオンライン見つけることができます。著者とライセンスの詳細を確認する必要がある場合があります。

また、四分位数用のシングルパスアルゴリズムが必要になります。このアルゴリズムでは、上記のアプローチと、中央値に関する四分位数の次の再帰的特性を使用できます。

Q0.75バツQ0.5バツバツ>Q0.5バツ

そして

Q0.25バツQ0.5バツバツ<Q0.5バツ

つまり、25(75)パーセントの四分位数は、中央値よりも小さい(大きい)観測値の中央値に非常に近いです。

補遺:

変位値を計算するための古いマルチパス方式が多数存在します。一般的なアプローチは、ストリームからランダムに選択された決定論的にサイズ決定された観測値のリザーバーを維持/更新し、このリザーバーで再帰的に変位値を計算することです(このレビューを参照)。この(および関連する)アプローチは、上で提案したアプローチに取って代わられます。


1
+1右; 私はまだヒストグラムから近似する暗黒時代でした。

このような中央値からの四分位数の再帰的定義には、単純に実装する場合は2つのパスが必要であることを正しく理解できますか?シングルパスアルゴリズムを知っていますか?
クォーツ

@Quartz:いいえ、1つのパスで十分です。2つのシングルパスで実行中の中央値計算があります。
user603 14

2

中央値を見つけるだけでなく、推定ヒストグラムを直接維持するアルゴリズム、「観測値を保存せずに分位点とヒストグラムを動的に計算するP-Squareアルゴリズム」があります。これはおそらく、必要な分位ごとにビニングを繰り返すよりもはるかに効率的です。

弊社のサイトを使用することにより、あなたは弊社のクッキーポリシーおよびプライバシーポリシーを読み、理解したものとみなされます。
Licensed under cc by-sa 3.0 with attribution required.