カーネル密度推定からのシミュレーション(経験的PDF)


8

グローバル帯域幅カーネル密度推定器(動的混合モデルを含むパラメトリックモデルは適切に適合しないことが判明しました)によって最適にモデル化された観測ベクトルがXありN=900ます。

ここに画像の説明を入力してください

さて、このKDEからシミュレーションしたいと思います。これはブートストラップによって実現できることを知っています。

Rでは、すべてがこの単純なコード行(ほぼ疑似コード)にx.sim = mean(X) + { sample(X, replace = TRUE) - mean(X) + bw * rnorm(N) } / sqrt{ 1 + bw^2 * varkern/var(X) }帰着します。ここで、分散補正付きの平滑化されたブートストラップが実装され、varkern選択されたカーネル関数の分散です(たとえば、ガウスカーネルの場合は1 )。

500回の繰り返しで得られるのは次のとおりです。

ここに画像の説明を入力してください

それは機能しますが、観測値のシャッフル(ノイズを追加したもの)が確率分布からのシミュレーションと同じであることを理解するのに苦労していますか?(分布はここではKDEです)、標準のモンテカルロと同様です。さらに、ブートストラップはKDEからシミュレーションする唯一の方法ですか?

編集:分散補正付きの平滑化されたブートストラップの詳細については、以下の私の回答を参照してください。


1
ブートストラップ実験は、カーネル密度推定の変動性を示します。これは、以下のDougalで詳しく説明されているように、カーネルからのシミュレーションとは関係ありません。
西安

うん、それはかなりの変動性です。ここでは、動的混合モデルよりもKDEの方が優れていると思いますか?
アントワーヌ

したがって、上記のスムーズなブートストラップはカーネルからのシミュレーションと同等ではないことを理解しています。しかし、それは同じ目標を達成します:経験的なPDFからシミュレーションすることですよね?以下にダグラスが提案した戦略の結果を投稿し(KDEから直接シミュレーション)、時間があるときに比較してみます。
アントワーヌ

カーネルエスティメータからのシミュレーションは、経験的cdfからのシミュレーションにつながりません。また、ヒストグラムとカーネル推定の間の経験的pdfの明確な定義はありません。これらはすべて帯域幅のキャリブレーションを必要とします。
西安

最初のコメントに同意しません。以下の私の回答をご覧ください。
アントワーヌ

回答:


10

これは、任意の混合からサンプリングするアルゴリズムですf(x)=1Ni=1Nfi(x)

  • i
  • fi

これにより正確なサンプルが生成されることは明らかです。

1Ni=1NN(x;xi,h2)Nxih2

xi

  • xiμ^+xiμ^1+h2/σ^2
  • 分散ゼロ平均法線ノイズを追加するh21+h2/σ^2=11h2+1σ^2h2σ2

この手順によるサンプルの期待値はであることがわかります。

1Ni=1Nxi1+h2/σ^2+μ^11+h2/σ^2μ^=μ^
μ^=1Ni=1Nxi

でも、サンプリング分布は同じではないと思います。


この素敵な答えをありがとう。私は現在このアプローチを模索しています。この他の非常に最近の(そして多少関連のある)スレッドを見てみませんか?前もって感謝します。
アントワーヌ

3

ブートストラップアプローチを使用してKDEから値を引き出すことが可能かどうかについての混乱を排除するために、それは可能です。ブートストラップは、変動間隔の推定に限定されません。

YisKhy^y^

Y{X1,...Xn}

  • i{1,...,n}
  • ϵKK
  • Y=X¯+(XiX¯+h.ϵ)/1+h2σK2/σX2

X¯σX2σK2KKX¯σX2Y=Xi+h.ϵ

上記の質問のRコードスニペットは、このアルゴリズムに厳密に従っています。

ブートストラップよりも平滑化されたブートストラップの利点は次のとおりです。

  • サンプル内の値とは異なる値が生成される可能性があるため、データ内の「偽の特徴」は再現されません。
  • 観測の最大/最小を超える値を生成できます。
弊社のサイトを使用することにより、あなたは弊社のクッキーポリシーおよびプライバシーポリシーを読み、理解したものとみなされます。
Licensed under cc by-sa 3.0 with attribution required.