拓端tecdat|python贝叶斯随机过程:马尔可夫链Markov-Chain,MC和Metropolis-Hastings,MH采样算法可视化

原文链接:http://tecdat.cn/?p=25428

原文出处:拓端数据部落公众号

介绍

本文,我们说明了贝叶斯学习和 计算统计一些结果。

  1.    
  2.   from math import pi
  3.   from pylab import *

马尔可夫链的不变测度

考虑一个高斯 AR(1) 过程, 拓端tecdat|python贝叶斯随机过程:马尔可夫链Markov-Chain,MC和Metropolis-Hastings,MH采样算法可视化, 其中 拓端tecdat|python贝叶斯随机过程:马尔可夫链Markov-Chain,MC和Metropolis-Hastings,MH采样算法可视化 是标准高斯随机变量的独立同分布序列,独立于 拓端tecdat|python贝叶斯随机过程:马尔可夫链Markov-Chain,MC和Metropolis-Hastings,MH采样算法可视化。假使 拓端tecdat|python贝叶斯随机过程:马尔可夫链Markov-Chain,MC和Metropolis-Hastings,MH采样算法可视化.。然后,具有均值的高斯分布 拓端tecdat|python贝叶斯随机过程:马尔可夫链Markov-Chain,MC和Metropolis-Hastings,MH采样算法可视化 和方差 拓端tecdat|python贝叶斯随机过程:马尔可夫链Markov-Chain,MC和Metropolis-Hastings,MH采样算法可视化 是马尔可夫链的平稳分布。我们用马尔可夫链的单个轨迹所取值的直方图来检查这个属性。

  1.    
  2.   f=lambda x,m,sq: np.exp(-(x-m)**2/(2*sq))/np.sqrt(2*pi*sq)
  3.    
  4.    
  5.   plt.hist

拓端tecdat|python贝叶斯随机过程:马尔可夫链Markov-Chain,MC和Metropolis-Hastings,MH采样算法可视化

第二个例子

我们在这里考虑一个马尔可夫链的例子,它的状态空间 拓端tecdat|python贝叶斯随机过程:马尔可夫链Markov-Chain,MC和Metropolis-Hastings,MH采样算法可视化 是开单位区间。如果链条在 拓端tecdat|python贝叶斯随机过程:马尔可夫链Markov-Chain,MC和Metropolis-Hastings,MH采样算法可视化,它​等概率 拓端tecdat|python贝叶斯随机过程:马尔可夫链Markov-Chain,MC和Metropolis-Hastings,MH采样算法可视化 ​选择两个区间之一 拓端tecdat|python贝叶斯随机过程:马尔可夫链Markov-Chain,MC和Metropolis-Hastings,MH采样算法可视化 或者 拓端tecdat|python贝叶斯随机过程:马尔可夫链Markov-Chain,MC和Metropolis-Hastings,MH采样算法可视化 ,然后移动到一个点, 拓端tecdat|python贝叶斯随机过程:马尔可夫链Markov-Chain,MC和Metropolis-Hastings,MH采样算法可视化 它均匀分布在选定的区间内。马尔可夫链的不变分布有 cdf, 拓端tecdat|python贝叶斯随机过程:马尔可夫链Markov-Chain,MC和Metropolis-Hastings,MH采样算法可视化。 通过微分,我们可以得到相关的密度: 拓端tecdat|python贝叶斯随机过程:马尔可夫链Markov-Chain,MC和Metropolis-Hastings,MH采样算法可视化 。对所有 拓端tecdat|python贝叶斯随机过程:马尔可夫链Markov-Chain,MC和Metropolis-Hastings,MH采样算法可视化, 我们现在用马尔可夫链取值的直方图检查这个属性。

  1.    
  2.   x=arange(1,m)/m
  3.    
  4.   for i in range(p-1):
  5.   [a,b]=rand(2)
  6.    
  7.   plt.hist

拓端tecdat|python贝叶斯随机过程:马尔可夫链Markov-Chain,MC和Metropolis-Hastings,MH采样算法可视化

我们还可以说明直方图如何收敛到平稳分布的密度。这可以通过使用 matplotlib 中的“动画”模块的动态动画来完成。下面是python代码。

  1.    
  2.    
  3.   anm = animation.FuncAnimation

以这个例子结束,这是一个动画。

  1.    
  2.    
  3.   data = []
  4.   for i in range(p-1):
  5.   [a,b]=npr.rand(2
  6.    
  7.   if ((i+1)%100==0):
  8.   data.append
  9.    
  10.   anim = animation.Func

我们现在用一个例子来说明大数定律。如 拓端tecdat|python贝叶斯随机过程:马尔可夫链Markov-Chain,MC和Metropolis-Hastings,MH采样算法可视化。 那么,我们期望 拓端tecdat|python贝叶斯随机过程:马尔可夫链Markov-Chain,MC和Metropolis-Hastings,MH采样算法可视化,拓端tecdat|python贝叶斯随机过程:马尔可夫链Markov-Chain,MC和Metropolis-Hastings,MH采样算法可视化

  1.    
  2.   x=np.arange/(p)
  3.   for i in range(p-1):
  4.   [a,b]=npr.rand
  5.   m=np.cumsum(g(m))/np.arange(1,p+1)
  6.   plot

拓端tecdat|python贝叶斯随机过程:马尔可夫链Markov-Chain,MC和Metropolis-Hastings,MH采样算法可视化

对称随机游走 Metropolis Hasting 算法

我们现在考虑一个目标分布,它是两个高斯分布的混合,一个集中在 拓端tecdat|python贝叶斯随机过程:马尔可夫链Markov-Chain,MC和Metropolis-Hastings,MH采样算法可视化 ,另一个集中在 拓端tecdat|python贝叶斯随机过程:马尔可夫链Markov-Chain,MC和Metropolis-Hastings,MH采样算法可视化

拓端tecdat|python贝叶斯随机过程:马尔可夫链Markov-Chain,MC和Metropolis-Hastings,MH采样算法可视化

 拓端tecdat|python贝叶斯随机过程:马尔可夫链Markov-Chain,MC和Metropolis-Hastings,MH采样算法可视化 是中心标准正态分布的密度。

为了针对此分布,我们根据对称随机游走 Metropolis Hasting 算法进行采样。当链条处于状态时 拓端tecdat|python贝叶斯随机过程:马尔可夫链Markov-Chain,MC和Metropolis-Hastings,MH采样算法可视化,我们提出一个候选 拓端tecdat|python贝叶斯随机过程:马尔可夫链Markov-Chain,MC和Metropolis-Hastings,MH采样算法可视化, 根据 拓端tecdat|python贝叶斯随机过程:马尔可夫链Markov-Chain,MC和Metropolis-Hastings,MH采样算法可视化 ,其中 拓端tecdat|python贝叶斯随机过程:马尔可夫链Markov-Chain,MC和Metropolis-Hastings,MH采样算法可视化 。然后我们接受 拓端tecdat|python贝叶斯随机过程:马尔可夫链Markov-Chain,MC和Metropolis-Hastings,MH采样算法可视化 ,有概率 拓端tecdat|python贝叶斯随机过程:马尔可夫链Markov-Chain,MC和Metropolis-Hastings,MH采样算法可视化, 其中 拓端tecdat|python贝叶斯随机过程:马尔可夫链Markov-Chain,MC和Metropolis-Hastings,MH采样算法可视化. 否则, 拓端tecdat|python贝叶斯随机过程:马尔可夫链Markov-Chain,MC和Metropolis-Hastings,MH采样算法可视化.

  1.   from IPython.display import HTML
  2.    
  3.    
  4.   rc('animation', html='jshtml')
  5.   ani

独立Metropolis Hasting 算法

我们再次考虑一个目标分布,它是两个高斯分布的混合,一个集中在 拓端tecdat|python贝叶斯随机过程:马尔可夫链Markov-Chain,MC和Metropolis-Hastings,MH采样算法可视化 ,另一个集中在 拓端tecdat|python贝叶斯随机过程:马尔可夫链Markov-Chain,MC和Metropolis-Hastings,MH采样算法可视化拓端tecdat|python贝叶斯随机过程:马尔可夫链Markov-Chain,MC和Metropolis-Hastings,MH采样算法可视化,其中 拓端tecdat|python贝叶斯随机过程:马尔可夫链Markov-Chain,MC和Metropolis-Hastings,MH采样算法可视化 是中心标准正态分布的密度。

为了针对这种分布,我们根据具有独立提议的 Metropolis Hasting 算法进行采样。当链条处于状态时 拓端tecdat|python贝叶斯随机过程:马尔可夫链Markov-Chain,MC和Metropolis-Hastings,MH采样算法可视化,我们提出一个候选 拓端tecdat|python贝叶斯随机过程:马尔可夫链Markov-Chain,MC和Metropolis-Hastings,MH采样算法可视化 ,根据 拓端tecdat|python贝叶斯随机过程:马尔可夫链Markov-Chain,MC和Metropolis-Hastings,MH采样算法可视化 ,其中 拓端tecdat|python贝叶斯随机过程:马尔可夫链Markov-Chain,MC和Metropolis-Hastings,MH采样算法可视化 。然后我们接受 拓端tecdat|python贝叶斯随机过程:马尔可夫链Markov-Chain,MC和Metropolis-Hastings,MH采样算法可视化 有概率 拓端tecdat|python贝叶斯随机过程:马尔可夫链Markov-Chain,MC和Metropolis-Hastings,MH采样算法可视化, 其中 拓端tecdat|python贝叶斯随机过程:马尔可夫链Markov-Chain,MC和Metropolis-Hastings,MH采样算法可视化 和 拓端tecdat|python贝叶斯随机过程:马尔可夫链Markov-Chain,MC和Metropolis-Hastings,MH采样算法可视化 是密度 拓端tecdat|python贝叶斯随机过程:马尔可夫链Markov-Chain,MC和Metropolis-Hastings,MH采样算法可视化.。否则, 拓端tecdat|python贝叶斯随机过程:马尔可夫链Markov-Chain,MC和Metropolis-Hastings,MH采样算法可视化.。

  1.    
  2.   mc=npr.randn*np.one
  3.   data=[]
  4.   for i in range:
  5.   v=sig*npr+sft
  6.   alpha
  7.   if (npr.rand()<alpha):
  8.   mc[i+1] = v
  9.   if ((i+1)%r==0):
  10.   data.append
  11.    
  12.   x=np.linspac
  13.    
  14.    
  15.    
  16.   anim = animation.FuncAn


拓端tecdat|python贝叶斯随机过程:马尔可夫链Markov-Chain,MC和Metropolis-Hastings,MH采样算法可视化

最受欢迎的见解

1.matlab使用贝叶斯优化的深度学习

2.matlab贝叶斯隐马尔可夫hmm模型实现

3.R语言Gibbs抽样的贝叶斯简单线性回归仿真

4.R语言中的block Gibbs吉布斯采样贝叶斯多元线性回归

5.R语言中的Stan概率编程MCMC采样的贝叶斯模型

6.Python用PyMC3实现贝叶斯线性回归模型

7.R语言使用贝叶斯 层次模型进行空间数据分析

8.R语言随机搜索变量选择SSVS估计贝叶斯向量自回归(BVAR)模型

9.matlab贝叶斯隐马尔可夫hmm模型实现

上一篇:不用PLC,怎么用组态王和step7编程软件结合实现新年晚会舞台灯光效果,简单好看怎么做?


下一篇:ARC086简要题解(只有两题