当前位置:网站首页>拒绝采样小记
拒绝采样小记
2022-07-31 05:16:00 【Young_win】
section 1
拒绝采样最关键的部分,搞个矩形、向矩形里投点等等,所做的一切都是为了获得一个密度曲线所围成区域的均匀分布。只要能获得这样一个在密度曲线下满足均匀分布的样本,我们就可以获得与该密度曲线相匹配的随机变量的采样样本。方法是,只需把每个蓝点的横坐标提取出来,这些横坐标所构成的样本就是我们的目标样本。
step1:用一个矩形将这个密度曲线套起来,把密度曲线 框在一个矩形里。
step2:向矩形里随机投点10000次(虚值)。随机投点意味着在矩形这块区域内,这些点是满足均匀分布的。
step3:有的点落在了密度曲线下侧,有的点落在了密度曲线的上侧。只保留密度曲线下侧的点。
step4:把每个蓝点的横坐标提取出来,这些横坐标所构成的样本就是我们的目标样本。
section2
上述用了一个矩形,该矩形就是一个满足均匀分布的建议分布,建议分布只是获得目标密度函数曲线下均匀分布样本的一个辅助工具。采用均匀分布作为建议分布有时效率很低,为什么这么说?从上例就可以看出,均匀分布的好多点(那些绿点)都被剔除了,造成了一种浪费。可以选择一些其他曲线来把密度曲线框起来,效率会提高一点。这里目标密度函数曲线为 h ( x ) h(x) h(x),对应于下图中的蓝线;建议分布密度曲线为 g ( x ) g(x) g(x),我们把 g ( x ) g(x) g(x)乘上一个常数因子 c c c,然后 用 c g ( x ) cg(x) cg(x)这条曲线 将目标密度曲线框起来。
假定满足 g ( x ) g(x) g(x)的随机变量易于采样,拒绝采样的步骤如下:
- 从 g ( x ) g(x) g(x)采到一个样本数据,记 x ⋆ x^{\star} x⋆,把它作为一个建议
- 要不要接受这个建议 作为满足 h ( x ) h(x) h(x)分布的一个样本数据呢?我们定义一个接受概率: α = h ( x ⋆ ) c g ( x ⋆ ) \displaystyle\alpha = \frac{h(x^{\star})}{c g(x^{\star})} α=cg(x⋆)h(x⋆)
也就是说,我们以 α \alpha α的概率 接受 x ⋆ x^{\star} x⋆ 作为 h ( x ) h(x) h(x)分布的一个样本数据。
实际操作中,取一个 U ( 0 , 1 ) U(0, 1) U(0,1)的随机数 μ \mu μ,如果 μ < α \mu<\alpha μ<α,就接受 x ⋆ x^{\star} x⋆作为 h ( x ) h(x) h(x)的一个样本数据;否则,把它舍弃掉,回到1.步继续循环。最终可以获得一个样本。
- 文章开头是一下子抽取10000个点,到后来怎么成了一个个抽了呢?其实它们是对应的,把蓝点去掉的过程 就相当于做是否拒绝判断的过程。
- 如果有密度曲线下的均匀分布样本,就可以得到与密度曲线相匹配的分布的一个样本。
- 如果建议分布的形状和目标分布越接近,采样的效率就越高。
参考文献:https://gaolei786.github.io/statistics/reject.html
边栏推荐
- cocoscreator3.5.2打包微信小游戏发布到QQ小游戏修改
- 场效应管 | N-mos内部结构详解
- flutter arr 依赖
- quick lua加密
- js中的break与continue退出
- cocos2d-x implements cross-platform directory traversal
- MYSQL事务与锁问题处理
- The server time zone value ‘й‘ is unrecognized or represents more than one time zone
- Tencent Cloud Lightweight Server deletes all firewall rules
- js中的全局作用域与函数作用域
猜你喜欢
活体检测CDCN学习笔记
UiBot has an open Microsoft Edge browser and cannot perform the installation
二进制转换成十六进制、位运算、结构体
Chinese garbled solution in UTF-8 environment in Powershell
Attention based ASR(LAS)
Pytorch常用函数
如何修改数据库密码
Android software security and reverse analysis reading notes
深度学习知识点杂谈
pytorch学习笔记10——卷积神经网络详解及mnist数据集多分类任务应用
随机推荐
UiBot has an open Microsoft Edge browser and cannot perform the installation
UiBot存在已打开的MicrosoftEdge浏览器,无法执行安装
小米手机短信定位服务激活失败
JS写一段代码,判断一个字符串中出现次数最多的字符串,并统计出现的次数JS
cocos2d-x-3.2创建项目方法
场效应管 | N-mos内部结构详解
this指向问题
Global scope and function scope in js
通信原理——纠错编码 | 汉明码(海明码)手算详解
quick lua加密
powershell statistics folder size
SSH automatic reconnection script
Notes on creating a new virtual machine in Hyper-V
Pytorch学习笔记13——Basic_RNN
VS2017连接MYSQL
Flow control statement in js
this points to the problem
cocos2d-x-3.2 image graying effect
人脸识别AdaFace学习笔记
计网 Packet Tracer仿真 | 简单易懂集线器和交换机对比(理论+仿真)