接受拒绝采样(Acceptance-Rejection Sampling)

我们所说的抽样,其实是指从一个概率分布中生成观察值(observations)的方法。而这个分布通常是由其概率密度函数(PDF)来表示的。而且, 即使在已知PDF的情况下,让计算机自动生成观测值也不是一件容易的事情。从本质上来说,计算机只能实现对均匀分布(Uniform distribution)的采样。 那如何实现计算机很好的采样数据样本呢?今天我们一起来看看实现方法。

在采样问题上我们可能会面对这些问题:

  • 计算机只能实现对均匀分布的采样,但我们仍然可以在此基础上对更为复杂的分布进行采样,那具体该如何操作呢?
  • 随机分布的某些数字特征可能需要通过积分的形式来求解,但是某些积分可能没有(或者很难求得)解析解,彼时我们该如何处理呢?
  • 在贝叶斯推断中,后验概率的分布是正⽐于先验和似然函数之积的,但是先验和似然函数的乘积形式可能相对复杂,我们又该如何对这种形式复杂的分布进行采样呢?

针对这些问题衍生出一系列求解的方法。

一、接受拒绝采样(Acceptance-Rejection Sampling)

在数学中,拒绝抽样是用来从分布产生观测值的基本技术。它也被称为接受拒绝方法或“接受 - 拒绝算法”,是一种蒙特卡罗方法,这种方法与Metropolis-Hastings算法也有一定关系。

1. 简单认识

下图是一个随机变量的密度函数曲线,试问如何获得这个随机变量的样本呢?
在这里插入图片描述
利用这个曲线的形状来抽取样本,用一个矩形将这个密度曲线套起来,把密度曲线框在一个矩形里,如下:
在这里插入图片描述
然后,向这个矩形里随机投点。随机投点意味着在矩形这块区域内,这些点是满足均匀分布的。投了大概10000个点,如下面这个样子:
在这里插入图片描述
显然,有的点落在了密度曲线下侧,有的点落在了密度曲线的上侧。上侧的点用绿色来表示,下侧的点用蓝色来表示,如下图:
在这里插入图片描述
只保留密度曲线下侧的点,即蓝色的点:
在这里插入图片描述
到这里,提一个问题,在密度曲线以下的这块区域里,这些点满足什么分布?均匀分布!这是拒绝采样最关键的部分,搞个矩形、向矩形里投点等等,所做的一切都是为了获得一个密度曲线所围成区域的均匀分布。只要能获得这样一个在密度曲线下满足均匀分布的样本,我们就可以获得与该密度曲线相匹配的随机变量的采样样本。方法是,只需把每个蓝点的横坐标提取出来,这些横坐标所构成的样本就是我们的目标样本。下图左侧,是按照以上方法获得的一个样本的直方图以及核密度估计,下图右侧,是开始的密度曲线。
在这里插入图片描述
可见,采样样本的核密度估计与目标密度曲线基本一致,可以肯定这个样本就是目标样本。

最开始时候用到了一个矩形,这个矩形就是一个满足均匀分布的建议分布,建议分布只是获得目标密度函数曲线下均匀分布样本的一个辅助工具。采用均匀分布作为建议分布有时效率很低,为什么这么说?从上例就可以看出,均匀分布的好多点(那些绿点)都被剔除了,造成了一种浪费。可以选择一些其他曲线来把密度曲线框起来,效率会提高一点,如下图:
在这里插入图片描述
数曲线为h(x), 对应于下图中的蓝线,建议分布密度曲线为g(x),我们把g(x)乘上一个常数因子c,然后用cg(x)这条曲线将目标密度曲线框起来。

我们假定满足g(x)的随机变量易于采样,那么拒绝采样的步骤如下:

  • 从g(x)采到一个样本数据,记为x⋆x^{\star}x,我们把它作为一个建议
  • 要不要接受这个建议,作为满足h(x)分布的一个样本数据呢?我们定义一个接受概率:

也就是说,我们以α\alphaα的概率接受x⋆x^{\star}x作为h(x)分布的一个样本数据。实际操作中,我们是取一个U(0,1)U(0, 1)U(0,1)的随机数μ\muμ,如果μ<α\mu<\alphaμ<α,就接受x⋆x^{\star}x作为h(x)的一个样本数据,否则,把它舍弃掉,回到1步继续循环。最终可以获得一个样本。

  • 文章开头是一下子抽取10000个点,到后来怎么成了一个个抽了呢?其实它们是对应的,把蓝点去掉的过程就相当于你做是否拒绝判断的过程。
  • 如果有密度曲线下的均匀分布样本,就可以得到与密度曲线相匹配的分布的一个样本。
  • 如果建议分布的形状和目标分布越接近,采样的效率就越高。

2. Acceptance-Rejection Sampling过程

在这里插入图片描述

3. Acceptance-Rejection Sampling的直观解释

在这里插入图片描述

4. Acceptance-Rejection Sampling有效性证明(待)

在这里插入图片描述
在这里插入图片描述

5.python实现

在这里插入图片描述
2. 生成代码如下:

import random
import math
import matplotlib.pyplot as plt
import seaborn as sns
import numpy as np%matplotlib inline
sns.set_style('darkgrid')
plt.rcParams['figure.figsize'] = (12, 8)def AceeptReject(split_val):global cglobal powerwhile True:x = random.uniform(0, 1)y = random.uniform(0, 1)if y*c <= math.pow(x - split_val, power):return xpower = 4
t = 0.4  
sum_ = (math.pow(1-t, power + 1) - math.pow(-t, power + 1)) / (power + 1)  #求积分
x = np.linspace(0, 1, 100)
#常数值c
c = 0.6**4/sum_
cc = [c for xi in x]
plt.plot(x, cc, '--',label='c*f(x)')
#目标概率密度函数的值f(x)
y = [math.pow(xi - t, power)/sum_ for xi in x]
plt.plot(x, y,label='f(x)')
#采样10000个点
samples = []
for  i in range(10000):samples.append(AceeptReject(t))
plt.hist(samples, bins=50, normed=True,label='sampling')
plt.legend()
plt.show()

在这里插入图片描述

5. 小结

在这里插入图片描述

要想将蒙特卡罗方法作为一个通用的采样模拟求和的方法,还的需马尔科夫链的帮忙。

https://gaolei786.github.io/statistics/reject.html
https://zhuanlan.zhihu.com/p/75264565

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

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

相关文章

gradle文件不识别_识别Gradle约定

gradle文件不识别通过约定进行配置具有许多优点&#xff0c;尤其是在简洁方面&#xff0c;因为开发人员不需要显式配置通过约定隐式配置的内容。 但是&#xff0c;在利用约定进行配置时&#xff0c;需要注意这些约定。 这些约定可能已记录在案&#xff0c;但是当我可以编程方式…

Telesat、OneWeb及SpaceX三个全球宽带低轨卫星星座系统的技术对比

编者按&#xff1a;本文来自微信公众号“卫星与网络”&#xff08;ID&#xff1a;satnetdy&#xff09;&#xff0c;作者Inigo del Portilloa,*, Bruce G. Cameronb, Edward F. Crawleyc&#xff0c;编译 刘帅军、胡月梅&#xff08;中科院软件所&#xff09;&#xff0c;36氪经…

腾讯人均每月薪酬成本超8万元,员工总数首次超10万

11月10日&#xff0c;腾讯在23岁“生日”即将到来之际发布2021年第三季度业绩报告。财报显示&#xff0c;第三季度腾讯总收入为人民币1424亿元&#xff08;220亿美元 &#xff09;&#xff0c;同比增长13%&#xff1b;净利润(Non-IFRS&#xff09;317.5亿元&#xff0c;同比减少…

Spring State Machine:它是什么,您需要它吗?

状态机是基于有限状态的计算模型 &#xff0c;正如Wikipedia非常明确地说的那样。 通常&#xff0c;工作流会与状态一起使用&#xff0c;这意味着您不能仅从任何状态进入任何其他状态&#xff1a;应遵循一些规则。 这些状态之间的转换受规则限制。 Spring框架具有一个称为Spri…

【渝粤题库】国家开放大学2021春2097民法学(1)题目

试卷代号&#xff1a;2097 2021年春季学期期末统一考试 民法学(1) 试题 2021年7月 一、单项选择题&#xff08;每小题有四个备选答案&#xff0c;有一个正确的&#xff0c;请将正确答案的序号填在题干的括号内。每小题3分&#xff0c;共15分&#xff09; 1.我国法律规定&#x…

信关站、关口站、earth station、gatway

卫星通信系统上行站一般建设在电信港里&#xff08;teleport&#xff09;里&#xff0c;这种上行站规模庞大&#xff0c;一般称为earth station&#xff0c;他是通过SCPC, VSAT或者MESH等多种卫星通讯系统为用户提供服务的核心站点&#xff0c;一般我们称为主站。远端用户使用的…

【渝粤题库】国家开放大学2021春2542行政组织学题目

试卷代号&#xff1a;2542 2021年春季学期期末统一考试 行政组织学试题 2021年7月 一、单项选择题&#xff08;每小题2分&#xff0c;共10分&#xff0c;每小题只有一项答案正确&#xff0c;请将正确答案的序号填在括号内&#xff09; 1.规范而言&#xff0c;行政组织是追求( )…

低轨卫星通信系统发展综述

最近几年低轨移动通信领域风起云涌&#xff0c;Iridium、OneWeb、Boeing、SpaceX 这些商业航天的 独角兽 都先后实施或宣布自己在这一领域雄心勃勃的计划。 通信、导航和遥感是卫星应用领域的三驾马车&#xff0c;简称 通导遥。鉴于任务特性&#xff0c;通信卫星和导航卫星通常…

【渝粤题库】国家开放大学2021春1425调剂学(本)题目

试卷代号&#xff1a;1425 2021年春季学期期末统一考试 调剂学&#xff08;本&#xff09; 试题 2021年7月 一、单项选择题&#xff08;每题2分&#xff0c;共60分&#xff09; 1.以下名词的英文缩写不正确的是&#xff08; &#xff09;。 A.世界卫生组织WHO B.中国药学会医院…

【渝粤题库】国家开放大学2021春2109刑事诉讼法学题目

试卷代号&#xff1a;2109 2021年春季学期期末统一考试 刑事诉讼法学 试题 2021年7月 一、单项选择题&#xff08;每题1分&#xff0c;共10分&#xff0c;每题只有一项答案正确&#xff0c;请将正确答案的序号填在括号内&#xff09; 1_在我国刑事诉讼中&#xff0c;犯罪嫌疑人…

【渝粤题库】国家开放大学2021春2180办公室管理题目

试卷代号&#xff1a;2180 2021年春季学期期末统一考试 办公室管理 试题 2021年7月 一、单项选择题&#xff08;请将正确答案的字母序号填在括号内&#xff0c;每小题3分&#xff0c;共15分&#xff09; 1.加强对办公用品的库存控制与监督&#xff0c;要求保证进货卡、库存卡和…

java运行时参数_运行时的Java 8参数名称

java运行时参数Java 8将引入一种更容易的方法来发现方法和构造函数的参数名称。 在Java 8之前&#xff0c;找到参数名称的方法是在编译阶段打开调试符号&#xff0c;这会在生成的类文件中添加有关参数名称的元信息&#xff0c;然后提取复杂的信息&#xff0c;需要处理字节码。…

天地一体化信息网络发展与拟态技术应用构想

天地一体化信息网络发展与拟态技术应用构想 2019-07-20 08:00 作者: 梁浩, 陈福才, 季新生, 吕平, 高彦钊 国家数字交换系统工程技术研究中心 摘要: 天地一体化信息网络是国家面向2030的重大科技工程, 现有的基础架构及由此构建的技术体系在其节点高性能处理、网络高效互联…

【渝粤题库】国家开放大学2021春2224物业管理法规题目

试卷代号&#xff1a;2224 2021年春季学期期末统一考试 物业管理法规 试题&#xff08;开卷&#xff09; 2021年7月 一、选择题&#xff08;在所给出的四个选择项中选出一个以上的正确答案&#xff0c;然后将其序号填写在题中的括号内。少选、多选、错选均不得分。每小题4分&am…

【渝粤题库】国家开放大学2021春2247社会工作政策法规题目

试卷代号&#xff1a;2247 2021年春季学期期末统一考试 社会工作政策法规 试题 2021年7月 一、单项选择题&#xff08;每题2分&#xff0c;共20分&#xff09; 1-社会工作服务购买的主体是( )。 A.国家 B.社会 C.社区 D.政府 2.夫妻双方自愿、并就离婚的相关问题的处理达成了合…

创建您的第一个servlet

在本教程中&#xff0c;我们将学习如何使用Servlet创建非常基本的Web应用程序。 Servlet是一类&#xff0c;扩展了服务器拦截和响应传入请求的功能。 Servlet是一个Web组件&#xff0c;可在服务器上进行编写&#xff0c;构建和部署&#xff0c;以创建动态Web页面。 首先&…

【渝粤题库】国家开放大学2021春2332高等数学基础题目

试卷代号&#xff1a;2332 2021年春季学期期末统一考试 高等数学基础 试题 2021年7月 导数基本公式&#xff1a; 积分基本公式&#xff1a; &#xff08;c&#xff09;′0 (xa)′axa-1 &#xff08;ax&#xff09;′axlna(a&#xff1e;0且a≠1) (ex)′ex (logax)′ (lnx)′ (…

StarLink星座最新动态及星间组网动态路由探讨

StarLink星座最新动态及星间组网动态路由探讨 2020-06-24 11:50 StarLink星座最新动态及星间组网动态路由探讨 作者 | 刘帅军、徐帆江、刘立祥、范媛媛、王大鹏 &#xff08;中国科学院软件研究所&#xff0c;天基综合信息系统重点实验室&#xff09; 一 概述 自2020年6月开…

【渝粤题库】国家开放大学2021春2411中国现代文学题目

试卷代号&#xff1a;2411 2021年春季学期期末统一考试 中国现代文学 试题&#xff08;开卷&#xff09; 2021年7月 一、单项选择题&#xff08;每题2分&#xff0c;共20分&#xff09; 要求&#xff1a;将正确答案的序号填在括号内。每题只有一个正确答案&#xff0c;错选或多…

【渝粤题库】国家开放大学2021春2503学前儿童健康教育题目

试卷代号&#xff1a;2503 2021年春季学期期末统一考试 学前儿童健康教育 试题 2021年7月 一、判断题&#xff08;每小题3分&#xff0c;共30分。要求先判断正误&#xff0c;错误的要予以改正&#xff09; 1.无机物能使骨具有韧性和弹性。( ) 2.婴儿的前囟出生时已闭合。( ) 3.…