MC MCMC Gibbs采样 原理 实现(in R)

本文介绍了MC、Markov Chain、MCMC(包括M-H算法和Gibbs采样)的基本原理,并提供了R语言的实现。通过随机抽样方法,讲解了如何生成指定分布的随机数。文章还提到了MCMC的平衡方程,以及Gibbs采样的迭代采样过程。
摘要由CSDN通过智能技术生成
               

本文用讲一下指定分布的随机抽样方法:MC(Monte Carlo), MC(Markov Chain), MCMC(Markov Chain Monte Carlo)的基本原理,并用R语言实现了几个例子:

1. Markov Chain (马尔科夫链)

2. Random Walk(随机游走)

3. MCMC具体方法:

     3.1 M-H法

     3.2 Gibbs采样 


PS:本篇blog为ese机器学习短期班参考资料(20140516课程),课上讲详述。



下面三节分别就前面几点简要介绍基本概念,并附上代码。这里的概念我会用最最naive的话去概括,详细内容就看我最下方推荐的链接吧(*^__^*) 


0. MC(Monte Carlo) 

     生成指定分布的随机数的抽样。

1. Markov Chain (马尔科夫链)

     假设 f(t) 是一个时间序列,Markov Chain是假设f(t+1)只与f(t)有关的随机过程。

     Implement in R:


#author: rachel @ ZJU#email: zrqjennifer@gmail.comN = 10000signal = vector(length = N)signal[1] = 0for (i in 2:N){ # random select one offset (from [-1,1]) to signal[i-1] signal[i] = signal[i-1] + sample(c(-1,1),1) }plot( signal,type = 'l',col = 'red')






2. Random Walk(随机游走)

如布朗运动,只是上面Markov Chain的二维拓展版:

Implement in R:


#author: rachel @ ZJU#email: zrqjennifer@gmail.comN = 100x = vector(length = N)y = vector(length = N)x[1] = 0y[1] = 0for (i in 2:N){ x[i] = x[i-1] + rnorm(1) y[i] = y[i-1] + rnorm(1)}plot(x,y,type = 'l', col='red')








评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值