MCMC 采样编程实战
MCMC 采样方法编程应用实战【摘要】贝叶斯统计需要在贝叶斯定理基础上,通过参数先验和数据似然对参数的后验概率分布作出推断。从推断精度上区分,贝叶斯推断方法大致包含精确推断和近似推断两大类,其中精确推断常见有变量消除法(Variable Elimination, VE)和信念传播法(Belief Propagation, BP);而近似推断方法主要是马尔科夫链蒙特卡洛法(Mente Carlo, MCMC)和变分近似推断法(Variational Inference,VI),从原理上来说,前者属于随机性近似推断,而后者属于确定性近似推断。本文从概率编程角度,引导读者了解 MCMC 方法的使用过程,以便形成整体印象。 【原文】 MCMC sampling for dummies — While My MCMC Gently Samples (twiecki.io) p{text-indent:2em;2} 引子当谈论贝叶斯统计和概率编程时,通常会掩藏统计推断实际执行的细节,将其视为黑匣子。概率编程好处在于...
一篇文章读懂 MCMC 方法
马尔可夫链蒙特卡洛( MCMC )采样【摘要】传统的蒙特卡洛方法采用随机抽样的方式获得样本,其中大量随机抽取的样本要么被拒绝(拒绝采样)、要么被加权(重要性采样),样本效率不高。因此科学家在思考是否存在一种接受率为 $100%$ 的采样方法。马尔可夫链蒙特卡洛方法真是满足此要求的一种高效采样方法,它充分利用马尔可夫链的可逆性和平稳分布收敛特性,通过一段时间的老化后,所得到的样本能够实现 $100%$ 的接受率。 【原文】 MCMC and Gibbs Sampling 1 问题的提出随机模拟(或者统计模拟)方法有一个很酷的别名是蒙特卡罗模拟(Monte Carlo Simulation)。这个方法始于20世纪40年代,和原子弹制造的曼哈顿计划密切相关,当时乌拉姆、冯.诺依曼、费米、费曼、Nicholas Metropolis 等, 在美国洛斯阿拉莫斯国家实验室研究裂变物质的中子连锁反应的时候,开始使用统计模拟的方法,并在最早的计算机上进行编程实现。 图 1: 随机模拟与计算机 现代的统计模拟方法最早由数学家乌拉姆提出,被 Metropolis...
直接采样、拒绝采样与重要性采样
直接采样、拒绝采样与重要性采样【摘要】蒙特卡洛(Monte Carlo method)是一种以概率统计理论为指导的重要数值计算方法。它使用随机数来解决随机变量(或随机函数)的期望值积分求解、仿真模拟等非常棘手的计算问题,特别适用于无解析形式的复杂概率分布。根据对蒙特卡洛方法的理解,会发现其中最为核心的部分是如何在给定一个复杂分布时,按照概率随机、高效地获得样本,即采样方法问题。本文将介绍其中最为基础和直觉的几种早期方法,分别是基于 CDF 的直接采样、拒绝采样和重要性采样。 1 直接采样直接采样的思想是:计算机适合于随机的均匀采样,如果能够把任意概率分布的采样转化成对均匀分布的采样,就可以解决采样问题。 假设 $y$ 服从某项分布 $p(y)$,其累积分布函数( CDF )为 $h(y)$,现有均匀分布的样本 $z \sim \operatorname{Uniform}(0,1)$,令 $z = h(y)$,即 $y = h^{-1}(z)$,结果 $y$ 即为对分布 $p(y)$ 的采样。 图 1: 直接采样算法流程 举个例子: 图 2:直接采样示例...
蒙特卡洛方法原理
〖摘要〗贝叶斯统计需要在贝叶斯定理基础上,通过参数先验和数据似然对参数的后验概率分布作出推断。从推断精度上区分,贝叶斯推断方法大致包含精确推断和近似推断两大类,其中精确推断常见有变量消除法(Variable Elimination, VE)和信念传播法(Belief Propagation, BP);而近似推断方法主要是蒙特卡洛法(Mente Carlo, MC)和变分近似推断法(Variational Inference,VI)。蒙特卡洛方法是一种以概率统计理论为指导的重要数值计算方法。它使用随机数来解决随机变量(或随机函数)期望值积分求解、仿真模拟等非常棘手的计算问题,特别适用于没有明确解析形式的复杂概率分布。蒙特卡洛方法中最为核心的部分是如何在给定一个复杂分布时,按照概率随机地、高效地获得样本,即采样方法问题。 〖原文〗蒙特卡洛方法数学基础、蒙特卡洛方法实践 1...