概率 Python:PyMC Bayesian 建模简介#
简介#
贝叶斯统计方法提供了一套强大的工具来解决各种数据科学问题。此外,贝叶斯方法生成的结果易于解释,并自动考虑了我们希望估计和预测的数量的不确定性。从历史上看,计算挑战一直是一个障碍,特别是对于新用户而言,但现在存在一套成熟的概率编程工具,它们既强大又易于学习。在本教程中,我们将使用 PyMC 的最新版本(版本 4),但将要教授的概念和方法可以移植到任何概率编程框架。
本教程旨在帮助希望学习如何将贝叶斯统计和概率编程应用于工作的从业和有抱负的数据科学家和分析师。它将为学习者提供贝叶斯统计方法及其在各种应用中使用的潜力的高级理解。他们还将获得使用 PyMC 应用这些方法的实践经验,特别是包括应用于几个真实世界数据集的模型的规范、拟合和检查。
由于这是一个入门教程,因此不需要直接使用 PyMC 或贝叶斯统计的经验。但是,为了最大限度地从本教程中受益,学习者应该熟悉基本统计学(如回归和估计)以及科学 Python 堆栈的核心组件(例如 NumPy、pandas 和 Jupyter)。
由于本教程的目标是让新用户开始使用贝叶斯方法,因此内容侧重于模型的实现,而理论方面较少,尽管会提供一些统计背景以供参考和澄清。由于 PyMC 是一个高级统计软件包,因此很容易忽略底层算法的重要细节。因此,本教程首先仅使用 NumPy 和 SciPy 函数解决一个简单的模型,然后再深入研究 PyMC。作为本教程的总结,将向学习者介绍“贝叶斯工作流程”,以重申流程中的重要步骤,以及有用的技巧和窍门。
关于演讲者#
Chris 是费城费城人队棒球研究与开发部门的首席定量分析师。他对计算统计、机器学习、贝叶斯方法和应用决策分析感兴趣。他来自加拿大温哥华,并在佐治亚大学获得博士学位。
GitHub: @fonnesbeck
LinkedIn: @christopher-fonnesbeck
视频#
时间戳#
00:00 欢迎!
0:08 简介
1:19 概率编程
1:53 随机语言“原语”
3:06 贝叶斯推断
3:27 什么是贝叶斯?
3:57 逆概率
4:21 随机程序
4:39 为什么选择贝叶斯
5:13 贝叶斯公式
6:51 先验分布
8:12 似然函数
8:29 正态分布
8:53 二项分布
9:14 泊松分布
9:32 推断潜在变量的值
9:47 概率编程抽象了推断过程
9:54 后验分布
10:56 手动贝叶斯
12:18 共轭性
16:43 Python 中的概率编程
17:24 PyMC 及其功能
19:15 问题:在不同的概率编程库中,它们提供的功能有什么区别吗?
20:39 问题:如何知道选择哪个似然分布?
21:35 问题:是否有用于指定似然分布的方法?
22:30 示例:在 PyMC 中构建模型
27:31 随机变量和确定性变量
37:11 观测到的随机变量
41:00 问题:如果在不同的后端编译 PyMC 的功能,其支持程度如何?
41:47 马尔可夫链蒙特卡洛和贝叶斯近似
43:04 马尔可夫链
44:19 可逆马尔可夫链
45:06 Metropolis 采样
48:00 Hamiltonian 蒙特卡洛
49:10 Hamiltonian 动力学
50:49 无 U 型转弯采样器 (NUTS)
52:11 问题:如何知道要采取多少步跳蛙步?
52:55 示例:PyMC 中的马尔可夫链蒙特卡洛
1:13:30 发散以及如何处理它们
1:15:08 贝叶斯缺失信息分数
1:16:25 潜在尺度缩减
1:17:57 拟合优度
1:22:40 直观贝叶斯课程
1:23:09 问题:博彩公司使用 PyMC 或贝叶斯方法吗?
1:23:53 问题:如果您对不同的变量使用不同的采样器,它是如何工作的?
1:25:09 问题:如果数据具有许多离散变量和许多可能的值,应该采取哪条路线?
1:25:39 问题:是否有在 CPU 集群上使用 PyMC 的自然方法?
PyMC 机构合作伙伴#
与 PyMC 联系#
通过以下方式与 PyMC 联系
网站: pymc.io
Discourse: discourse.pymc.io
YouTube: PyMCDevelopers
Star GH repo: pymc-devs/pymc
加入 Meetup: pymc-online-meetup
Twitter: @pymc_devs
LinkedIn: @pymc