贝叶斯方法与推论,本文应作为我的教程的背景,该教程使用(Py)Stan进行轻松的的应用贝叶斯推理,以及使用r-INLA进行(近似)贝叶斯回归的介绍。

在本文中,我将提供有关贝叶斯推理和蒙特卡洛方法的非常简短,自成体系的介绍,希望可以激发您通过我所包括的一些参考文献进行更深入的研究。

Image by imarksm from Pixabay

您可能听说过贝叶斯推理/回归/建模/分析……您可能听说过,或者您可能只是在通过之前才遇到过它,而没有真正怀疑它的用途,或没有任何良好的入门资源。

现实情况是,贝叶斯推论[1]比其频频论推论要复杂得多,并且大多数人在学术界或非常专业的工业应用中真正使用过它。 但是,它提供了一个非常丰富的框架,可以在推理过程中欣赏,并最终利用更多信息。 此外,它以一种可笑的方式提升了概率与应用统计之间的联系-真正的贝叶斯模型是一个生成模型。

对于本系列文章,我将采用(传统)基于似然的建模方法。

5分钟贝叶斯推断

贝叶斯推理使我们可以将一些先入为主的信念(即先验的信念)纳入我们的建模中。 进行实验后,我们可以从后验概率分布中采样,以更好地了解目标参数的行为,而不必寻找允许我们最大化似然性的参数值(最大似然估计) 。

The primordial Bayesian identity in the context of model fitting and inference.

简单来说,我声明模型参数()的先验分布,并将其乘以观察到的数据的可能性(D)。 为了使该数量充当概率密度函数,我必须将其除以归一化常数。 然后获得后验分布函数。

请注意,上面的归一化常数是很棘手的,当我们使用蒙特卡洛从后验分布中进行这种推断时,我们可以消除这一数量而不会失眠。

您可能会问:为什么这样做?

更好的科学,更严格的推论,正则化,数值稳定性,昂贵的数据获取,这并不能完全考虑MLE,还有许多其他原因。

您可能会问:什么是好的先验?

· 可牵引性? 共轭! 例如,正常先验x正常似然会产生正常后验!

· 科学相关性

· 正则化。 在标准线性回归的情况下,您的回归/ beta服务器上的N(0,1)可以用作L2正则化。

理想情况下,先验条件应该永远不要看数据。

您可能会问:那里有什么样的先验条件?

· 没有信息的(固定的)先验。 在大多数情况下,更具体地说,在下面的抛硬币问题中,原始的无先验先验将是均匀的分布。

· 先验信息薄弱。 我在下面的抛硬币问题中声明的beta优先级信息不足,因为我不抛弃theta参数空间中的间隔或点,而我赞成"公平"。

· 信息先验(通常基于专家意见或扎实的科学知识。

例如,假设我在地板上找到一枚硬币,并且想知道它是否公平。 我声明p = 是在给定的抛硬币中硬币将产生"正面"(y = 1)的概率。 那么q = 1-是硬币产生"尾巴"(y = 0)的概率。 请注意,可以使用以下函数形式将硬币的这种行为建模为bernoulli随机变量:

假设我抛硬币四次,并观察到它总是给我"反面"。如果我采用"最大似然"框架,则我将得到以下ML估计值(样本比例):

在我们的情况下,以上结果为0。 但这有点太极端了……具有相等表面积的两个面意味着硬币应该有一个非零的概率落在"正面"上(尽管很小)。 我们会立即注意到,如果一侧比另一侧小得多。

现在,正如贝叶斯主义者所说,我们遇到了同样的问题。 在自己扔硬币之前,我们需要对硬币建立先验的信念。 根据我的经验,硬币通常是公平的,因此我认为这种硬币很可能是公平的,并且很有可能不是。 然后,我将进行实验,以了解这枚硬币是否符合我的信念。 哦,我得到了相同的结果{0,0,0,0}。

为了获得有效(信息量有限)的先验知识,我将使用带有a,b个非负整数的beta(a,b)分布。 该先验是有道理的,因为伽马分布的域是[0,1],并且to在这里对应于概率,并且不能小于0或大于1。设置a = b = u其中u是一个正整数,得出a 分布对称约0.5。 此外,β分布与伯努利分布共轭(也与二项分布共轭,因为二项式随机变量由伯努利随机变量之和组成)。

Simulation of a beta(5,5) distribution

然后,我考虑以下模型:

这导致:

在此,C≥0表示归一化常数,出于本申请的目的,不必对其进行估计。

如果我们在上面的先验中设置a = b = 5,则Stan [2]-有关如何执行此操作的信息,请参见教程-收益率和mean的近似后均值0.36 <0.5。 因此,我们的估算表明存在偏差的硬币,没有立即变为0。

5分钟蒙特卡洛方法

出于本教程的目的,蒙特卡洛方法[3]将允许我们从模型参数的后验分布中进行采样。

用于估计实值可积函数f(x)的积分(I)(例如0≤x≤1)的最简单的蒙特卡洛方法表明,我们在[0,1 ],为每个x_ {i}计算f(x}),然后求和并求平均值。 我们要求I

As K goes to infinity, this vanilla Monte Carlo estimate should converge to the value of the integra

上面的内容很容易,但是通过观察以下内容,我们实际上可以使用更多的统计知识:

We can think of the integral I as the expected value of f(x) and the below quantity as its unbiased

我们的估计量只是一个近似值,因此我们应该量化其准确性:

Here we simply change the notation a bit and show the formula for the standard error

那么,现在我们有了均值的无偏估计和标准误差的估计,该怎么办? 让我们调用中心极限定理,这对于足够大的K是合理的。

使用上述方法,我们可以为积分的估计量建立95%的置信区间:

上面的方法非常幼稚且不准确,尤其是随着目标(概率)在维数,多峰等方面的增长。然而,这为您提供了MC方法的要点:从分布中采样以近似于另一个分布或感兴趣的数量。

请注意,蒙特卡洛方法是一个非常活跃的研究领域,具有非常丰富的理论和应用程序,我鼓励您阅读有关它们的更多信息。 蒙特卡洛计算引擎(PyMC3,Stan,BUGS等)上也有几个包,可以轻松地集成到Python,R和其他现代统计/机器学习软件中。

以下是一些非常基本的入门方法:

· 重要抽样

· 拒绝采样

· Metropolis-Hastings算法(马尔可夫链蒙特卡洛)

· 奖励:模拟退火(优化)

LaTeX和数学交流

最后一件事。 如果您对开发简洁,准确地传达数学/统计思想的能力很认真,那么我鼓励您开始使用LaTeX [5]。 LaTeX是功能强大的排版系统,可让您编写漂亮的方程式并将其无缝呈现在文档中。 我在本文档和所有工作中的所有数学表达式中都使用LaTeX。

结论

贝叶斯推理和计算最近凭借出色的计算硬件和软件获得了辉煌的复兴。 此外,贝叶斯方法跨越了活跃的研究领域,涉及统计学,数学,计算机科学,人口统计学,经济学以及许多其他领域。

以下是现代ML和统计学研究中的一些最热门主题,这些主题依赖或大量使用贝叶斯推理框架:

· 因果推论

· 可解释性(DL和RL)

· 贝叶斯超参数优化(AlphaGo)

· 多任务学习

· RL中的探索与开发

· 高效,计算稳定的MCMC(HMC)

参考文献

[1] R. Neal,关于ML的贝叶斯推理教程(2004),2004 NeurIPS。

[2] B. Carpenter等人,《斯坦:一种概率编程语言》(2017年),《统计软件》。

[3] C. Robert和G. Casella,《蒙特卡洛统计方法》(2005年),《 Springer Texts in Statistics》。

[4] D. Wackerley等人,《数学统计及其应用》(2014年),参与学习

[5] LaTeX3项目,LaTeX-文件准备系统(1985年),LaTeX项目公共许可证(

(本文翻译自Sergio E. Betancourt的文章《15-Minute Conceptual and Painless Introduction to Monte Carlo Methods and Applied Bayesian Inference》,参考:https://towardsdatascience.com/conceptual-background-for-painless-introduction-to-applied-bayesian-regression-using-pystan-c8f744e3823f)

贝叶斯软件genle教程_一文读懂蒙特卡罗方法和应用贝叶斯推理相关推荐

  1. 贝叶斯软件genle教程_手把手教你用R的gemtc包对生存数据进行贝叶斯网状Meta分析...

    大家好,本教程将介绍如何使用R的gemtc包对生存数据(HR为效应量)进行贝叶斯网状Meta分析. 前提条件: 需要下载R软件(推荐使用的R版本为3.5.3),以及RStudio(一个R的友好交互界面 ...

  2. 贝叶斯软件genle教程_贝叶斯网络可视化软件GeNIe使用说明

    [实例简介] 详细的介绍了贝叶斯网络可视化软件GeNIe使用说明,适合初学者 Table of contents 3 1. Read me first 2. Hello gentel 13 3. In ...

  3. 贝叶斯软件genle教程_贝叶斯网络软件SMILE和GENIE的使用

    [TOC] For Beginners 预备步骤 下载和使用库文件 在官方网站上下载对应版本的SMILE库,解压文件后将库文件放在debug文件夹下.需要声明的是,SMILE有两个版本,只有Acade ...

  4. gps导航原理与应用_一文读懂角速度传感器(陀螺仪)的应用场景

    前文我们大致了解陀螺仪的来历,原理和种类,那么,它与我们的日常生活有怎样的关系呢? 陀螺仪器最早是用于航海导航,但随着科学技术的发展,它在航空和航天事业中也得到广泛的应用.陀螺仪器不仅可以作为指示仪表 ...

  5. mysql 默认事务隔离级别_一文读懂MySQL的事务隔离级别及MVCC机制

    回顾前文: <一文学会MySQL的explain工具> <一文读懂MySQL的索引结构及查询优化> (同时再次强调,这几篇关于MySQL的探究都是基于5.7版本,相关总结与结论 ...

  6. stata 求输出相关系数矩阵命令_一文读懂结果输出命令大全(上)

    目录 描述统计量 help tabstat   //Stata 官方命令 描述统计量组间均值差异检验 help ttest help ttable2 help estout 相关分析命令 help p ...

  7. psm倾向得分匹配法举例_一文读懂倾向得分匹配法(PSM)举例及stata实现(一)

    原标题:一文读懂倾向得分匹配法(PSM)举例及stata实现(一) 一.倾向匹配得分应用之培训对工资的效应 政策背景:国家支持工作示范项目( National Supported Work,NSW ) ...

  8. 超融合和服务器关系_一文读懂超融合服务器

    原标题:一文读懂超融合服务器 1.什么叫超融合服务器 融合基础架构(Hyper-Converged Infrastructure)是一种集成了虚拟计算资源和存储设备的信息基础架构.在这样的架构环境中, ...

  9. stata 将数据集变量名称导出_一文读懂空间计量经济学及stata操作

    在Stata 15中,推出了最新的空间计量官方命令,均以sp开头,表示 spatial data),可以处理横截面与面板形式的空间数据.本文主要为大家介绍空间计量命令之spregress的使用. 一. ...

最新文章

  1. 如何在OpenStack环境中实现多Region
  2. 区块链和同态加密结合使用的电子投票系统_全同态加密资源汇总
  3. 事件相关去同步 (ERD) 和事件相关同步化 (ERS)在脑电信号研究中的应用
  4. 高级C语言教程-作用域
  5. 【NOIP2015模拟10.22】最大子矩阵
  6. 华硕笔记本卸载并重新安装Ubuntu16.04
  7. 如何保证进程间同步工作_冬季建房如何保证混凝土浇筑效果好,做好养护工作...
  8. 【洛谷3768】简单的数学题【莫比乌斯反演】【杜教筛】【小学奥数】
  9. java复选框批量删除_vue+element+Java实现批量删除功能
  10. 动态修改服务器配置文件,asp.net(c#)动态修改webservice的地址和端口(动态修改配置文件)...
  11. 数据库与表的操作之创建、修改和删除数据
  12. 转 PHP函数---$_Get()和$_Post()的用法
  13. TIA protal与SCL从入门到精通(1)——SCL编程入门
  14. java 静态方法中调用非静态方法
  15. div背景颜色设置成渐变色
  16. 33种著名汽车标志及来历
  17. SEO优化 关键词部署策略
  18. speedoffice(Word)怎么添加页码
  19. 什么除酵节?什么是逾越节?
  20. python绘制分形图基础_Python 绘制分形图(曼德勃罗集、分形树叶、科赫曲线、分形龙、谢尔宾斯基三角等)附代码...

热门文章

  1. 简单存取款机的实现---控制输入变量的规则
  2. ASP.NET MVC必知必会知识点总结(二)
  3. MySql命令——命令行客户机的分隔符
  4. C# 淘宝商品微信返利助手开发-(六)返利助手开发(4)如何通过淘口令解析的出来的地址获得返利信息
  5. Mysql数据库查询当前操作的数据库名
  6. vue router-link 添加点击事件
  7. SpringBoot中的Tomcat是如何启动的
  8. execCommand全集
  9. java错位_java – 如何保护自己免受参数错位的影响
  10. jqgrid多选和禁止某行记录选择