回答:
ええ、はい、MCMCからのドローはマルコフ連鎖を形成するため、2つの用語の間に関係があります。ゲルマン、ベイジアンデータ分析(第3版)、p。265:
マルコフチェーンシミュレーション(マルコフチェーンモンテカルロまたはMCMC とも呼ばれます)は、適切な分布から値を描画し、それらの描画を修正してターゲット事後分布をより良く近似する一般的な方法です。サンプリングは連続して行われ、サンプリングされた描画の分布は、最後に描画された値に応じて行われます。したがって、ドローはマルコフ連鎖を形成します。
両方の概念の関係は、マルコフ連鎖モンテカルロ(別名MCMC)メソッドがマルコフ連鎖理論に依存して、複雑なターゲット分布からシミュレーションとモンテカルロ近似を生成することです。
実際には、これらのシミュレーション方法の出力シーケンスマルコフ連鎖、すなわち、分布するようなものであるXは、iが全体過去を与え{ X iは、- 1、... 、X 1 }のみに依存するX i − 1。言い換えれば、X i = f (X i − 1、ϵ i)ここでf
MCMCアルゴリズムの最も簡単な例は、スライスサンプラーです。このアルゴリズムの反復iで、
- シミュレート
- シミュレートε 1 I〜U(0 、1
またはR
T=1e4
x=y=runif(T) #random initial value
for (t in 2:T){
epsilon=runif(2)#uniform white noise
y[t]=epsilon[1]*dnorm(x[t-1])#vertical move
x[t]=sample(c(-1,1),1)*epsilon[2]*sqrt(-2*#Markov move from
log(sqrt(2*pi)*y[t]))}#x[t-1] to x[t]
curve(dnorm,-3,3,lwd=2,col="sienna",ylab="")
for (t in (T-100):T){
lines(rep(x[t-1],2),c(y[t-1],y[t]),col="steelblue");
lines(x[(t-1):t],rep(y[t],2),col="steelblue")}