第2章 概率编程
“计算机中的泥人[1]很少有物质形态,但也可以认为它们是由硅中的黏土制成的,生活在计算机里。”
[1] 这句话中的泥人起源于犹太教,是指用“巫术”灌注黏土而产生可自由行动的人偶。在《圣经·旧约》中它所代表的是未成形或没有灵魂的躯体。另外,硅是计算机芯片的核心材料,在这句话中指代计算机的物理形态。——译者注
——理查德·麦克尔里思(Richard McElreath),《统计反思》作者
现在我们对贝叶斯统计有了初步的了解,接下来将学习如何用一些工具构建概率模型,特别是学习用PyMC3进行概率编程。基本思想是使用代码指定模型,然后以或多或少自动化的方式求解它们。当然这并不是因为我们偷懒才没有用数学的方法,也不是因为我们特别热衷于编写代码。做这个决定主要是因为很多模型都没有一个闭式解[2],也就是说我们只能使用数值解的方法计算。
[2] 求解方程式有闭式解与数值解两种方式,其中闭式解(又称“解析解”)就是一些严格的公式,给出任意的自变量就可以求出其因变量;而数值解是在特定条件下通过近似计算得出来的一个数值。——译者注
学习概率编程的另一个原因是,现代的贝叶斯统计主要是通过编程实现的。既然我们已经熟悉Python了,干嘛还要学习其他方式呢?概率编程提供了一个有效构建复杂模型的方式,它让我们更加关注模型设计、评估和解释,而不需要过多地考虑数学或计算的细节。在本章以及本书其余内容中,我们将使用PyMC3(一个非常灵活的概率编程 Python 库)以及 ArviZ(一个新的 Python 库,将帮助我们解释概率模型的结果)。学习PyMC3和ArviZ有助于我们以一种更实用的方法学习高阶的贝叶斯概念。
本章将涵盖以下主题。
● 概率编程。
● PyMC3指南。
● 重温抛硬币问题。 ...
Get Python贝叶斯分析(第2版) now with the O’Reilly learning platform.
O’Reilly members experience books, live events, courses curated by job role, and more from O’Reilly and nearly 200 top publishers.