MCMC:Metropolis-Hastings抽样

马尔可夫链有两个要素:

  1. 一步转移概率矩阵:P=(P_{ij})_{ij} \quad P_{ij}=P(X_1=j|X_0=i)
  2. 初始分布:Q

如果这两个要素都确定了,这个链的转移行为就被完全确定下来了。我们就可以求得极限分布 \pi,只需解下面这个方程即可。

\pi=\pi P

但是MCMC试图解决的问题刚好是反过来。即已知极限分布 \pi,如何求得一步转移概率矩阵 P

如果这件事情能够做到,而我们的目标是想要获得服从分布 \pi 的伪随机数。那么我们只需要找到一个符合条件的矩阵 P,然后运行这条马氏链直到达到稳态,从这一时刻之后起,生成的每一个随机数都可以当做我们的采样样本。

下面,我们将分三步来说明解算这个问题的方法:

Step1. 什么是细致平衡方程(Detailed Balance)

如果满足如下方程:

\pi_iP_{ij}=\pi_jP_{ji}

我们管这样的关系叫做细致平衡:当你取得平衡之后,各个状态之间的相互的转移行为是处于一种平衡态上的,即转移出去的量和转移进来的量是相等的。也可以看成是在做某种平衡的物质交换。

满足细致平衡方程的马氏链一定处于稳态:\pi=\pi P。注意,这是一个充分条件,证明如下:

(\pi P)_j=\sum\limits_{i}\pi_i P_{ij}=\sum\limits_{i}\pi_j P_{ji}=\pi_j\quad(\sum\limits_{j}P_{ij}=1)

Step2. 任取一个一步转移概率矩阵作为一个 Proposal

\forall \ P=(P_{ij})_{ij}\quad (\mbox{Proposal})

Step3. 对 Proposal 的矩阵进行如下的校正(Correction)

\widetilde{P}_{ij}=P_{ij}\min\{1,\frac{\pi_j P_{ji}}{\pi_iP_{ij}}\}

 \widetilde{P}_{ij} 不难发现满足细致平衡方程:\pi_i\widetilde{P}_{ij}=\pi_j\widetilde{P}_{ji},于是 \widetilde{P}_{ij} 也就是我们要找的那个 P

这个方法的名字叫做 Metropolis-Hastings

其实只要基于细致平衡方程,我们不难从物质交换的角度理解 Step3 的校正所干的事情:如果 i\to j 的物质 \pi_i P_{ij} 超过了 j\to i 的物质\pi_j P_{ji} ,那么 Metropolis-Hastings 的策略就是:P_{ji} 不动,P_{ij} 减小,而 P_{ij} 减小所乘的这一项 \frac{\pi_j P_{ji}}{\pi_iP_{ij}} 不难看成是先单位化,再确定一个放缩量,使之达到和 j\to i 一样的物质交换水平,即:

\pi_i\widetilde{P}_{ij} =\pi_iP_{ij}\cdot\frac{\pi_j P_{ji}}{\pi_iP_{ij}}=\pi_j P_{ji}

但是我学的时候一直存在一个疑问,就是 \widetilde{P}_{ij} 的值校正之后可能会减小,那么 \widetilde{P} 是否还满足一步转移概率矩阵行和为1的条件呢?据说只要将减小的损失部分补到对角线上就可以了。但是这一点我始终搞不太明白为什么。因为教材普遍都是用接受拒绝策略一带而过,并没有触及这个问题。

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.hqwc.cn/news/317553.html

如若内容造成侵权/违法违规/事实不符,请联系编程知识网进行投诉反馈email:809451989@qq.com,一经查实,立即删除!

相关文章

JOSEF约瑟 断电延时继电器 SRTD-220VDC-2H2D 导轨安装

系列型号: SRTD-24VDC-1H1D断电延时继电器;SRTD-110VDC-1H1D断电延时继电器; SRTD-220VDC-1H1D断电延时继电器;SRTD-110VAC-1H1D断电延时继电器; SRTD-220VAC-1H1D断电延时继电器;SRTD-24VDC-2H断电延时继电…

rime中州韵小狼毫 中英互绎 滤镜

英文在日常生活中已经随处可见,我们一般中英互译需要使用专业的翻译软件来实现。但如果我们在输入法中,在输入中文的时候,可以顺便瞟一眼对应的英文词汇,或者在输入英文的时候可以顺便了解对应的中文词汇,那将为我们的…

Python+Selenium实现网站滑块拖动操作

实现效果 示例代码 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38 39 40 41 42 43 44 45 46 47 48 49 50 51 52 53 54 55 56 57 58 59 60 61 62 63 64 65 66 67 68 69 70 71 72 import time from selenium impo…

c++基础(对c的扩展)

文章目录 命令空间引用基本本质引用作为参数引用的使用场景 内联函数引出基本概念 函数补充默认参数函数重载c中函数重载定义条件函数重载的原理 命令空间 定义 namespace是单独的作用域 两者不会相互干涉 namespace 名字 { //变量 函数 等等 }eg namespace nameA {int num;v…

小狗伪原创轻松实现文案二次原创

摘要:在学术和商业领域,文案的原创性和独特性至关重要。然而,很多时候我们需要对已有的文案进行修改或重写。这时,小发猫、小狗伪原创等论文降重工具就派上了用场。这些工具能帮助我们快速、高效地完成文案的二次原创,…

vue3 接入 Element Plus

vue3 接入 Element Plus vue3 发布已经很久了,官方也已经发布公告,自2023年12月31日起停止对 vue2 版本的维护更新,因此,vue3 正式登上了历史的舞台。组件库一直是前端开发的利器,减少了开发者开发复杂度,提…

【UE5.1】给森林添加天气效果

在上一篇博客(【UE5.1】程序化生成Nanite植被)基础上给森林添加天气交互效果,角色和雪地、水坑的交互效果。 目录 效果 步骤 一、准备工作 二、添加超动态天空 2.1 修改时间 2.2 昼夜交替 三、添加超动态天气 3.1 改变天气 3.2 …

JRT打印元素绘制协议之-A4Double

以前打印相信很多人因为A4打印两个报告头大过,M要把一堆报告既有A4的也有A5的还有微生物的,可能输出Page还不那么严谨。要么换页不对叠加了、要么多空白页、中间夹杂A4报告就更加头大。也有的人为了打印页码的共几页而头大。 借助新设计的优势&#xff…

JAVA电商平台 免 费 搭 建 B2B2C商城系统 多用户商城系统 直播带货 新零售商城 o2o商城 电子商务 拼团商城 分销商城

在数字化时代,电商行业正经历着前所未有的变革。鸿鹄云商的saas云平台以其独特的架构和先进的理念,为电商行业带来了全新的商业模式和营销策略。该平台涉及多个平台端,包括平台管理、商家端、买家平台、微服务平台等,涵盖了pc端、…

【数据结构——二叉树】二叉树及其应用2023(头歌习题)【合集】

目录 第1关:括号表示法创建二叉树任务描述相关知识编程要求测试说明完整代码 第2关:先序序列创建二叉树任务描述相关知识二叉树的前序遍历如何创建一颗二叉树伪代码如下: 二叉树的中序遍历 编程要求测试说明完整代码 第3关:计算二…

图片中src属性绑定不同的路径

vue3 需求是按钮disable的时候,显示灰色的icon;非disable状态,显示白色的icon 一开始src写成三元表达式,发现不行,网上说src不能写成三元表达式,vue会识别成字符串 最后的解决方案 同时,发现…

打造炫酷粒子效果的前端利器tsParticles

前端潮流速递 :打造炫酷粒子效果的前端利器tsParticles 在现代前端开发中,动画和视觉效果是吸引用户的关键元素之一。而实现炫酷而引人入胜的粒子效果,常常需要耗费大量的时间和精力。然而,有了 tsParticles,这一切变…