R语言 MCMC算法及其实现

Metropolis-Hasting算法

Step 1: 选择一个不可约Markov链转移概率q(i,j),i,j ∈ \in S.再从S={1,2,… ,m}中选择某个整数.
Step 2: 令n=0以及 x 0 = k x_0=k x0=k.
Step 3: 产生一个随机变量X使得 P { X = j } = q ( X n , j ) P\{X=j\}=q(X_n,j) P{ X=j}=q(Xn,j), 再产生一个随机数U.
Step 4: 如果 U < π ( X ) q ( X , X n ) π ( X n ) q ( X N , X ) U < \frac{\pi(X)q(X,X_n)}{\pi(X_n)q(X_N,X)} U<π(Xn)q(XN,X)π(X)q(X,Xn), 则MH = X; 否则MH = X n X_n Xn.
Step 5: n ← n + 1 , X n = M H n\leftarrow n+1, X_n=MH nn+1,Xn=MH.
Step 6: 返回Step 3.

建议分布的选择方法:

(1)Metropolis选择;(2)独立抽样;(3)单元素MH算法

举例说明:

设观测变量 Y = ( Y 1 , Y 2 , . . . , Y n ) Y=(Y_1,Y_2,...,Y_n) Y=(Y1,Y2,...,Yn)具有如下分布:
π ( y i ∣ k , θ , λ ) = θ y i e − θ y i ! , i = 1 , 2 , . . . , k , \pi(y_i|k,\theta,\lambda)=\frac{\theta^{y_i}e^{-\theta}}{y_{i}!},i=1,2,...,k, π(yik,θ,λ)=yi!θyieθ,i=1,2,...,k,
π ( y i ∣ k , θ , λ ) = λ y i e − λ y i ! , i = k + 1 , k + 2 , . . . n . \pi(y_i|k,\theta,\lambda)=\frac{\lambda^{y_i}e^{-\lambda}}{y_i!}, i =k+1,k+2,...n. π(yik,θ,λ)=yi!λyieλ

  • 6
    点赞
  • 79
    收藏
    觉得还不错? 一键收藏
  • 6
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论 6
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值