連続分布からサンプリングされたデータのモードの計算


12

連続分布からサンプリングされたデータの「モード」を適合させる最良の方法は何ですか?

モードは技術的には未定義(右?)であるため、連続分布では「最も一般的な値をどのようにして見つけるのか」と本当に質問しています。

親分布がガウス分布であると仮定した場合、データをビンに分類すると、モードが最大カウントのビン位置であるとわかります。しかし、ビンのサイズはどのように決定しますか?堅牢な実装はありますか?(つまり、外れ値に対して堅牢)。私はpython/ scipy/ を使用しますnumpyが、おそらくRそれほど難なく翻訳できます。


8
モードがこの方法で技術的に定義されているかどうかはわかりませんが、通常、連続分布のグローバルモードは、最も密度の高いポイントを意味するものと見なされます。
マクロ

1
@Macro-それは役に立ちます。その後、私の質問を「(ピーク)密度を決定するための最良の方法は何ですか?」
ケフラビッチ

1
データのカーネル密度の推定値に適合し、そのピークとしてモードを推定する可能性がありますか?これは合理的なアプローチのように思えますが、この問題に関する文献についてはよく知りません。
マクロ

1
親分布がガウス分布であると仮定しない場合でも、データをビン化し、モードを最大カウントのビン位置にすることは可能ですか?なぜですか?より深刻な注意事項として、サンプルの10 が間隔x i + 1x内にあるように、10進値 見つけてはいけないiなので、モードが最短になっている可能性がありますバツ0=バツバツ1バツ2バツ9バツ10=バツ最大10バツ+1バツinterdecile間隔?次に、ビンのサイズを、この最短の十分位間隔の4分の1になるようにします。1j10バツj+1バツj
ディリップサルワテ

2
親分布であるkeflavichについて、どのような仮定を立てることができますか?パラメーターである場合、パラメーターを推定し、それらのパラメーターからモードを推定するのが最善です。(たとえば、サンプル平均は正規分布のモードを推定します。)そうでない場合、ビニングは不十分な方法になる可能性があります。代わりに、さまざまな半値幅のカーネル推定器のシーケンスを使用して、推定器のシーケンスを提供できます。通常、基礎となる分布が単峰性である場合、カーネルの平滑化のモードは、半値幅が大きくなるにつれて一意のモードに向かって収束するように見えます。
whuber

回答:


4

Rでは、基になる分布のパラメトリックモデリングに基づいていない方法を適用し、10000のガンマ分布変数に対する密度のデフォルトのカーネル推定量を使用します。

x <- rgamma(10000, 2, 5)
z <- density(x)
plot(z) # always good to check visually
z$x[z$y==max(z$y)]

0.199を返します。これは、密度が最も高いと推定されるxの値です(密度推定は「z $ y」として保存されます)。


3
私がそれと違うのは、異なる帯域幅を使用することだけです。density()のデフォルトの帯域幅は特に適切ではありません。density(x、bw = "SJ")の方が優れています。さらに良いのは、モード推定用に設計された帯域幅を使用することです。議論については、sciencedirect.com / science / article / pii / 0167715295000240を参照してください。
ロブハインドマン

2

サイズnの合計サンプルから、ビンサイズbのヒストグラムを作成し、最大のビンにk個のエントリがあるとします。次に、そのビン内の平均PDFはb * k / nとして推定できます。

問題は、メンバーの総数が少ない別のビンのスポット密度が高くなる可能性があることです。このことを知ることができるのは、PDFの変更率について合理的な仮定がある場合のみです。その場合、2番目に大きいビンに実際にモードが含まれる確率を推定できます。

根本的な問題はこれです。サンプルは、コルモゴロフ-スミルノフの定理によるCDFの十分な知識を提供するため、中央値およびその他の分位数の適切な推定値を提供します。ただし、L1の関数の近似を知っていても、その導関数の近似知識は得られません。そのため、追加の仮定なしに、PDFの十分な知識を提供するサンプルはありません。


0

高次元分布でも機能する一般的なソリューションスケッチを次に示します。

  • ジェネレータにランダムな入力を与えることなく、逆KL発散でf-GANをトレーニングします(つまり、強制的に確定的にします)。

  • 逆KL発散でf-GANをトレーニングし、トレーニングの進行に応じてジェネレーターへの入力分布をディラックデルタ関数に向けて移動し、ジェネレーター損失関数に勾配ペナルティを追加します。

  • 任意のポイントでpdfの近似値を扱いやすく評価できる(微分可能な)生成モデルを訓練します(たとえば、VAE、フローベースのモデル、または自己回帰モデルがそうだと思います)。次に、あるタイプの最適化(モデルの推論が微分可能な場合は勾配上昇のフレーバーを使用できます)を使用して、その近似の最大値を見つけます。

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