MCMCチェーンの急速な混合に注意する必要があるのはなぜですか?


21

推論を描くためにマルコフ連鎖モンテカルロを使用する場合、急速に混合する、つまり、事後分布のサポートを迅速に通過する連鎖が必要です。しかし、私が理解していることから、受け入れられた候補描画は事後分布の高密度部分に集中すべきであり、集中するため、なぜこのプロパティが必要なのか理解できません。私が理解していることが真実である場合、サポート(低密度部分を含む)を介してチェーンを移動させたいですか?

さらに、MCMCを使用して最適化を行っている場合、迅速なミキシングに注意する必要がありますか?

ご意見をお寄せいただきありがとうございます!


MCMCの文献では、マルコフ連鎖が幾何学的にエルゴード的である場合、指数関数的に高速なアルファ混合減衰を持つことが知られています。X_ {n}がどのようにターゲット分布に急速に収束し、それでも連続するサンプル間で高い相関を維持できるかはわかりません。簡単な例はありますか?入力をありがとう!

回答:


16

理想的なモンテカルロアルゴリズムは、独立した連続したランダム値を使用ます。MCMCでは、連続する値は独立していないため、メソッドの収束が理想的なモンテカルロより遅くなります。ただし、混合が速いほど、連続する反復で依存関係が急速に減衰し¹、収束が速くなります。

¹Iは、連続した値が値所与ことなく迅速に初期状態の「ほぼ独立した」、またはであることをここで意味一点で、値素早くの「ほぼ独立」なるとして大きくなります。そのため、コメントでqkhhlyが言っているように、「チェーンは状態空間の特定の領域に留まることはありません」。XnXń+kXnk

編集:次の例が役立つと思います

MCMCによっての均一分布の平均を推定したいと想像してください。順序付けられたシーケンスから始めます。各ステップで、シーケンスの要素を選択し、ランダムにシャッフルします。各ステップで、位置1の要素が記録されます。これは均一な分布に収束します。の値は混合の速さを制御します場合、遅いです。場合、連続した要素は独立して、混合を高速です。{1,,n}(1,,n)k>2kk=2k=n

このMCMCアルゴリズムのR関数は次のとおりです。

mcmc <- function(n, k = 2, N = 5000)
{
  x <- 1:n;
  res <- numeric(N)
  for(i in 1:N)
  {
    swap <- sample(1:n, k)
    x[swap] <- sample(x[swap],k);
    res[i] <- x[1];
  }
  return(res);
}

適用して、MCMCの反復に沿った平均の連続推定をプロットします。n=99μ=50

n <- 99; mu <- sum(1:n)/n;

mcmc(n) -> r1
plot(cumsum(r1)/1:length(r1), type="l", ylim=c(0,n), ylab="mean")
abline(mu,0,lty=2)

mcmc(n,round(n/2)) -> r2
lines(1:length(r2), cumsum(r2)/1:length(r2), col="blue")

mcmc(n,n) -> r3
lines(1:length(r3), cumsum(r3)/1:length(r3), col="red")

legend("topleft", c("k = 2", paste("k =",round(n/2)), paste("k =",n)), col=c("black","blue","red"), lwd=1)

mcmc収束

ここで、(黒)の場合、収束が遅いことがわかります。以下のために(青)、それは速いが、それでも遅い場合よりも(赤)。k=2k=50k=99

また、100回の反復など、一定回数の反復後の推定平均の分布のヒストグラムをプロットすることもできます。

K <- 5000;
M1 <- numeric(K)
M2 <- numeric(K)
M3 <- numeric(K)
for(i in 1:K)
{
  M1[i] <- mean(mcmc(n,2,100));
  M2[i] <- mean(mcmc(n,round(n/2),100));
  M3[i] <- mean(mcmc(n,n,100));
}

dev.new()
par(mfrow=c(3,1))
hist(M1, xlim=c(0,n), freq=FALSE)
hist(M2, xlim=c(0,n), freq=FALSE)
hist(M3, xlim=c(0,n), freq=FALSE)

ヒストグラム

(M1)の場合、100回の反復後の初期値の影響はひどい結果しか与えないことがわかります。ではこれは、[OK]をクリックしてよりもさらに大きな標準偏差と思わ。ここに手段とSDがあります:k=2k=50k=99

> mean(M1)
[1] 19.046
> mean(M2)
[1] 49.51611
> mean(M3)
[1] 50.09301
> sd(M2)
[1] 5.013053
> sd(M3)
[1] 2.829185

4
「混合が速くなればなるほど、連続する反復で依存関係が速く減衰する」という記述は正しいとは思いません。たとえば、Metropolis-Hastingsアルゴリズムを使用すると、連続する反復は常に依存します。ミキシングは、サンプルがターゲット分布に収束する速度に関係しており、連続する反復がどの程度依存しているかに関係しています。
マクロ

これは同じです。ターゲット分布に高速で収束する場合、初期状態からの依存性は急速に減衰します...もちろん、これはチェーンの任意のポイントで同じになります(初期状態として選択できます)。上記の例の最後の部分は、この側面の啓発になると思います。
エルビス

1
はい、初期状態からの依存性は減衰しますが、連続する反復間の依存性は必ずしもありません。
マクロ

「間」ではなく、「連続した反復」で作成しました。私は本当に「に沿って」という意味です...これはあいまいです、私は修正します。
エルビス

2
ミキシングが急速に意味することは理解できたと思います。チェーンがターゲット配布のサポートのすべての部分に移動するわけではありません。むしろ、それはサポートの特定の部分に閉じ込められていないチェーンに関するものです。
-qkhhly

10

(Xn)α

α(n)=supA,B{|P(X0A,XnB)P(X0A)P(XnB)},nN,
(Xn)π

Xn

特定のコメントについて

...受理された候補の描画は、事後分布の高密度部分に集中する必要があります。私が理解していることが真実である場合、サポート(低密度部分を含む)を介してチェーンを移動させたいですか?

(Xn)


1
+1アンチシミュレーションシミュレーションについてのコメントに感謝します。これはクールです。
エルビス

ααα0

ρβ

3

迅速なミキシングチェーンへの欲求を動機づける推定は、計算時間に関心があり、後から代表的なサンプルが欲しいということです。前者は、問題の複雑さに依存します。小さな/単純な問題がある場合、アルゴリズムが効率的であるかどうかはそれほど重要ではありません。事後不確実性に関心がある場合、または事後平均を高精度で知る場合、後者は非常に重要です。ただし、MCMCを使用して近似的な最適化を行っているだけなので、後部の代表的なサンプルを用意する必要がない場合、これはあまり重要ではありません。

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