← 返回《数据科学的统计基础》
📑 查看全课大纲(第 30 / 41 节)

Bayes统计

约 27 分钟

📺 正在播放小象官方高清录播(支持倍速与清晰度调节)

Bayes统计

小象实战讲义 · 数据科学的统计基础

欢迎来到《数据科学的统计基础》第六章的第一节。在这一节,我们将开启一个全新的统计思想体系——贝叶斯统计。它颠覆了传统频率学派将参数视为固定常数的观点,转而将参数本身视为随机变量,并利用“先验信息”来更新我们对参数的认知。学完本节,你将理解贝叶斯公式背后的归纳推理思想,掌握频率学派与贝叶斯学派的核心区别,并能够清晰地定义先验分布与后验分布,为后续的贝叶斯推断打下坚实基础。

💡 核心导读

本节你将掌握:

  • 贝叶斯公式的统计内涵:从条件概率到归纳推理,理解其如何将“由果溯因”的问题转化为“由因推果”的问题。
  • 两大统计学派之争:明确频率学派与贝叶斯学派在利用信息上的根本区别——是否使用先验信息。
  • 先验信息的力量:通过生动的例子,体会历史经验或主观认知在统计决策中的关键作用。
  • 贝叶斯统计的核心概念:精确定义先验分布与后验分布,并理解后验分布是贝叶斯统计推断的唯一依据。
  • 贝叶斯统计的三类信息:梳理总体信息、样本信息和先验信息如何被整合到统一的概率框架中。

从贝叶斯公式到贝叶斯学派

贝叶斯公式:归纳推理的数学表达

贝叶斯统计的起点是著名的贝叶斯公式。从数学上看,它是全概率公式与条件概率公式的自然推论。

H1,H2,,HkH_1, H_2, \ldots, H_k 是样本空间 Ω\Omega 的一个划分,即它们互不相容且并集为全空间:HiHj=(ij)H_i \cap H_j = \varnothing (i \neq j),且 i=1kHi=Ω\bigcup_{i=1}^{k} H_i = \Omega。对于任一事件 AA (P(A)>0P(A) > 0),全概率公式为: P(A)=i=1kP(Hi)P(AHi)P(A) = \sum_{i=1}^{k} P(H_i) P(A | H_i)

那么,在事件 AA 发生的条件下,某个划分 HkH_k 发生的概率,即后验概率,可由贝叶斯公式给出: P(HkA)=P(Hk)P(AHk)i=1kP(Hi)P(AHi),k=1,2,P(H_k | A) = \frac{P(H_k) P(A | H_k)}{\sum_{i=1}^{k} P(H_i) P(A | H_i)}, \quad k=1,2,\ldots 其中:

  • P(Hk)P(H_k) 称为 先验概率,是在观测到数据 AA 之前,对 HkH_k 发生的可能性的初始认知。
  • P(AHk)P(A | H_k) 称为 似然,是在假设 HkH_k 成立的条件下,观测到数据 AA 的可能性。
  • P(HkA)P(H_k | A) 称为 后验概率,是在观测到数据 AA 之后,对 HkH_k 发生的可能性的更新认知。

这个由英国学者托马斯·贝叶斯(Thomas Bayes)在1763年发表的公式,形式上简单,却蕴含了深刻的归纳推理思想。

一个诊断的例子

假设一位病人出现了一系列症状(事件 AA),医生需要判断他患了哪种疾病(HkH_k)。直接评估 P(HkA)P(H_k | A)(症状下患病的概率)是困难的。但贝叶斯公式告诉我们,可以将其转化为两个更容易获取或估计的量:

  1. 先验概率 P(Hk)P(H_k):该疾病在人群中的总体发病率(历史统计信息)。
  2. 似然 P(AHk)P(A | H_k):如果一个人确实患了病 HkH_k,他表现出症状 AA 的概率(医学知识或临床数据)。

通过贝叶斯公式,我们将“由果(症状)溯因(疾病)”的难题,转化为了“由因(疾病)推果(症状)”和利用历史先验信息的可解问题。医生最终会比较所有疾病的后验概率 P(HkA)P(H_k | A),选择概率最大的作为诊断结果。这种基于证据更新信念的过程,就是贝叶斯思想的核心。

频率学派 vs. 贝叶斯学派

基于不同的哲学基础和所使用的信息,统计学界形成了两大主要学派:频率学派贝叶斯学派。它们的争论推动了数理统计学的蓬勃发展。

我们可以将统计推断中使用的信息归纳为三类:

  1. 总体信息:关于总体分布或分布族的信息。例如,知道总体服从正态分布,即使不知道其参数,我们也知道该分布是对称的、单峰的等性质。
  2. 样本信息:从总体中抽取的样本所提供的信息。这是“最新鲜”的信息,我们希望通过它来对总体进行推断。样本量越大,信息越丰富。
  3. 先验信息:在抽样之前,关于待研究问题(尤其是未知参数)已有的经验和认识。

两大学派的根本区别在于对先验信息的利用:

  • 频率学派(经典统计)只利用总体信息和样本信息进行统计推断。它视未知参数 θ\theta 为一个固定的常数,虽然未知,但没有随机性。我们之前学习的点估计、区间估计和假设检验都属于频率学派的范畴。
  • 贝叶斯学派综合利用总体信息、样本信息和先验信息进行统计推断。它视未知参数 θ\theta 为一个随机变量,具有某种概率分布(先验分布)。推断的目标是基于所有信息,得到参数 θ\theta 在给定样本后的更新分布(后验分布)。

先验信息为何重要?

贝叶斯学派常被频率学派批评其先验分布的选择具有“主观性”。然而,先验信息在实际问题中往往不可或缺,且作用巨大。

例1:品茶与鉴乐 英国统计学家费舍尔(R.A. Fisher)曾提出一个经典例子:一位女士声称能品尝出奶茶中是先加茶还是先加奶,10次测试全对;一位音乐家声称能辨别乐谱出自海顿还是莫扎特,10次测试也全对。 如果认为他们纯属猜测(每次成功概率 p=0.5p=0.5),那么10次全对的概率为 0.5100.000980.5^{10} \approx 0.00098,这是一个极小概率事件,几乎不可能发生。因此,“纯猜测”的假设很可能被否定。 这个推理过程本身就隐含了“先验”认知:我们根据常识认为,普通人具备这种超凡能力的先验概率很低,而连续猜对10次的似然p=0.5p=0.5 假设下极低,从而更新了我们的信念(后验),认为他们很可能真的具备这种能力。这里,常识就是我们的先验信息。

例2:产品质量抽检 某工厂每日抽查产品以估计废品率 θ\theta。对于特定一天,θ\theta 是一个固定值。但长期来看,由于原材料、设备状态等随机因素,每日的废品率 θ\theta 是波动的,可以看作一个随机变量。 根据长期的历史质检数据,我们可以整理出 θ\theta 的一个经验分布,例如,发现 θ\theta 的值大多集中在0.01附近。这个历史经验分布就是关于废品率 θ\theta先验分布。 如果后续多次抽检结果与这个先验分布吻合(即废品率持续很低),使用方就可能做出“产品信得过,可减少抽检频次(如改为每月一检)”的决策,从而节省大量人力物力。这里,历史数据提供的先验信息直接指导了生产决策。

import numpy as np
import matplotlib.pyplot as plt
from scipy import stats

# 模拟历史废品率数据:假设长期来看,废品率theta服从Beta分布
# Beta分布常用于描述比例或概率的分布,其支撑集为[0,1]
np.random.seed(42)
alpha_prior, beta_prior = 2, 40  # 先验分布参数,均值约0.0476
historical_thetas = stats.beta.rvs(alpha_prior, beta_prior, size=1000)

# 模拟后续一个月(30天)的每日抽检结果
# 假设真实废品率theta_true为0.03,每日抽检100件
theta_true = 0.03
daily_sample_size = 100
daily_defectives = stats.binom.rvs(n=daily_sample_size, p=theta_true, size=30)

# 计算每日观测到的废品率
daily_observed_rates = daily_defectives / daily_sample_size

# 可视化
fig, axes = plt.subplots(1, 2, figsize=(12, 4))

# 左图:历史先验分布(模拟)
axes[0].hist(historical_thetas, bins=30, density=True, alpha=0.7, color='skyblue', edgecolor='black')
x = np.linspace(0, 0.2, 200)
axes[0].plot(x, stats.beta.pdf(x, alpha_prior, beta_prior), 'r-', lw=2, label=f'Beta({alpha_prior},{beta_prior})')
axes[0].axvline(theta_true, color='green', linestyle='--', label=f'True θ={theta_true}')
axes[0].set_xlabel('废品率 θ')
axes[0].set_ylabel('密度')
axes[0].set_title('历史废品率先验分布(模拟)')
axes[0].legend()
axes[0].grid(True, alpha=0.3)

# 右图:后续观测的每日废品率
axes[1].plot(range(1, 31), daily_observed_rates, 'bo-', markersize=4, linewidth=0.8)
axes[1].axhline(y=theta_true, color='green', linestyle='--', label=f'True θ={theta_true}')
axes[1].axhline(y=np.mean(daily_observed_rates), color='red', linestyle='-', label=f'Observed Mean={np.mean(daily_observed_rates):.4f}')
axes[1].set_xlabel('天数')
axes[1].set_ylabel('观测废品率')
axes[1].set_title('后续30日抽检观测结果')
axes[1].legend()
axes[1].grid(True, alpha=0.3)

plt.tight_layout()
plt.show()

# 基于先验和观测更新信念(后验分布) - 这里简单演示Beta-Binomial共轭更新
# 30天总抽检数:30*100=3000,总次品数:sum(daily_defectives)
total_n = 30 * daily_sample_size
total_defectives = np.sum(daily_defectives)
alpha_posterior = alpha_prior + total_defectives
beta_posterior = beta_prior + total_n - total_defectives

print(f"先验分布: Beta(α={alpha_prior}, β={beta_prior})")
print(f"观测数据: 总抽检数 n={total_n}, 总次品数 k={total_defectives}")
print(f"后验分布: Beta(α={alpha_posterior}, β={beta_posterior})")
print(f"后验均值 (点估计): {alpha_posterior/(alpha_posterior+beta_posterior):.5f}")
print(f"真实废品率: {theta_true:.5f}")

代码说明:我们模拟了一个产品质量检验的场景。左图展示了根据历史数据拟合的废品率先验分布(Beta分布),其概率质量集中在低值区。右图展示了基于一个较低的真实废品率生成的后续观测数据。代码最后演示了如何将先验信息与样本信息结合,更新得到后验分布(利用了Beta-Binomial的共轭性质,下节详述)。可以看到,后验均值结合了先验和样本信息,是对真实参数的一个估计。

先验分布与后验分布

定义

在贝叶斯统计的框架下,我们正式引入两个核心概念:

  • 先验分布:参数 θ\theta(被视为随机变量)在获得样本数据 X=(X1,,Xn)\mathbf{X} = (X_1, \ldots, X_n) 之前的概率分布,记为 π(θ)\pi(\theta)。它反映了我们在抽样前对 θ\theta 的认知(先验信息)。

  • 后验分布:在获得样本观测值 x=(x1,,xn)\mathbf{x} = (x_1, \ldots, x_n) 之后,参数 θ\theta 的条件概率分布,记为 π(θx)\pi(\theta | \mathbf{x})。它综合了先验信息(π(θ)\pi(\theta))和样本信息(似然 f(xθ)f(\mathbf{x} | \theta)),是我们对 θ\theta 认知的更新。

后验分布的计算:连续形式的贝叶斯公式

设样本 X\mathbf{X} 在给定参数 θ\theta 下的条件概率密度函数(或分布律)为 f(xθ)f(\mathbf{x} | \theta),即似然函数。参数 θ\theta 的先验密度函数为 π(θ)\pi(\theta)

样本 X\mathbf{X} 与参数 θ\theta 的联合密度为: h(x,θ)=f(xθ)π(θ)h(\mathbf{x}, \theta) = f(\mathbf{x} | \theta) \pi(\theta)

样本 X\mathbf{X} 的边缘密度(或称预测分布)为: m(x)=Θh(x,θ)dθ=Θf(xθ)π(θ)dθm(\mathbf{x}) = \int_{\Theta} h(\mathbf{x}, \theta) d\theta = \int_{\Theta} f(\mathbf{x} | \theta) \pi(\theta) d\theta

那么,根据条件概率的定义,后验密度为: π(θx)=h(x,θ)m(x)=f(xθ)π(θ)Θf(xθ)π(θ)dθ\boxed{\pi(\theta | \mathbf{x}) = \frac{h(\mathbf{x}, \theta)}{m(\mathbf{x})} = \frac{f(\mathbf{x} | \theta) \pi(\theta)}{\int_{\Theta} f(\mathbf{x} | \theta) \pi(\theta) d\theta}}

这就是连续场合下的贝叶斯公式。分母 m(x)m(\mathbf{x}) 是一个与 θ\theta 无关的归一化常数,确保后验密度积分为1。因此,后验分布正比于似然函数与先验分布的乘积: π(θx)f(xθ)π(θ)\pi(\theta | \mathbf{x}) \propto f(\mathbf{x} | \theta) \cdot \pi(\theta) 符号 \propto 表示“正比于”。

贝叶斯统计推断的原则

贝叶斯学派有一个根本性的推断原则:

所有关于参数 θ\theta 的统计推断(点估计、区间估计、假设检验等),都必须且只能基于其后验分布 π(θx)\pi(\theta | \mathbf{x}) 来进行。

后验分布包含了关于 θ\theta 的全部信息(先验+样本)。因此,它是贝叶斯统计推断的出发点和唯一依据。

贝叶斯统计的基本观点

我们可以用以下三个假设来概括贝叶斯统计的基本框架:

  1. 总体信息:随机变量 XX 的分布是包含参数 θ\theta 的条件分布 f(xθ)f(x | \theta)。在贝叶斯观点下,经典统计中的模型 f(x;θ)f(x; \theta) 都被视为给定 θ\theta 后的条件分布。
  2. 样本信息:从总体中随机抽取的样本 X=(X1,,Xn)\mathbf{X} = (X_1, \ldots, X_n),其联合分布(似然函数) f(xθ)=i=1nf(xiθ)f(\mathbf{x} | \theta) = \prod_{i=1}^{n} f(x_i | \theta) 综合了总体信息和样本信息。
  3. 先验信息:参数 θ\theta 被视为随机变量,其分布 π(θ)\pi(\theta) 总结了抽样前我们对 θ\theta 的认知。

贝叶斯统计的任务,就是利用样本数据 x\mathbf{x},将先验分布 π(θ)\pi(\theta) 更新为后验分布 π(θx)\pi(\theta | \mathbf{x}),并基于此后验分布对 θ\theta 进行各种统计推断。这个过程完美地体现了“用数据更新信念”的贝叶斯哲学。

📝 动手练一练

  1. 概念辨析:频率学派和贝叶斯学派在对待未知参数 θ\theta 和利用信息上有何本质区别?请各用一句话概括。
  2. 贝叶斯计算:假设某种疾病的患病率 P(D)=0.001P(D) = 0.001。针对该疾病的检测方法,其灵敏度(真阳性率)P(+D)=0.99P(+ | D) = 0.99,特异度(真阴性率)P(Dˉ)=0.95P(- | \bar{D}) = 0.95。如果一个人检测结果为阳性(+),请使用贝叶斯公式计算他实际患病的后验概率 P(D+)P(D | +)。这个结果说明了什么?

参考答案:

  1. 频率学派将参数 θ\theta 视为固定未知常数,仅利用总体信息和样本信息进行推断;贝叶斯学派将参数 θ\theta 视为随机变量,综合利用总体信息、样本信息和先验信息(以先验分布形式)进行推断,并基于后验分布做出决策。
  2. 根据贝叶斯公式: P(D+)=P(D)P(+D)P(D)P(+D)+P(Dˉ)P(+Dˉ)=0.001×0.990.001×0.99+0.999×0.050.000990.00099+0.049950.000990.050940.0194\begin{aligned} P(D | +) &= \frac{P(D)P(+ | D)}{P(D)P(+ | D) + P(\bar{D})P(+ | \bar{D})} \ &= \frac{0.001 \times 0.99}{0.001 \times 0.99 + 0.999 \times 0.05} \ &\approx \frac{0.00099}{0.00099 + 0.04995} \ &\approx \frac{0.00099}{0.05094} \approx 0.0194 \end{aligned} 计算结果表明,即使检测结果为阳性,此人实际患病的概率也只有约1.94%。这是因为疾病本身患病率(先验概率)极低,而检测存在一定的假阳性(P(+Dˉ)=10.95=0.05P(+ | \bar{D}) = 1 - 0.95 = 0.05)。这个例子生动地展示了先验信息如何显著影响后验结论,也解释了为何针对罕见病的大规模筛查需要非常谨慎。

本章小结

本节我们迈入了贝叶斯统计的大门,理解了其与经典频率统计的根本差异在于哲学基础和所使用的信息。

要点回顾:

  • 贝叶斯公式是归纳推理的数学基石,实现了用“由因推果”的似然和历史先验来求解“由果溯因”的后验概率。
  • 频率学派视参数为固定常数,仅用总体和样本信息;贝叶斯学派视参数为随机变量,额外利用先验信息。
  • 先验分布 π(θ)\pi(\theta) 封装了抽样前对参数的认知;后验分布 π(θx)\pi(\theta | \mathbf{x}) 综合了先验和样本信息,是认知的更新。
  • 贝叶斯推断原则:所有推断必须基于后验分布。
  • 贝叶斯统计整合了总体样本先验三类信息。

行动清单:

  1. 重塑参数观:尝试在下一个统计问题中,思考如果将该问题的参数视为随机变量,你可以从历史、经验或常识中为其赋予怎样的先验认知?
  2. 应用贝叶斯公式:找一个类似“疾病诊断”的现实问题,明确其中的先验概率、似然,并手动计算后验概率,体会信念更新的过程。
  3. 代码验证:运行并理解本节提供的Python模拟代码,观察先验分布如何与样本数据结合产生后验分布。尝试修改先验分布的参数(alpha_prior, beta_prior)或真实废品率(theta_true),观察后验估计的变化。

— 小象教研组

配套学习资源与课件
  • 第6章课件:Bayes统计与统计判决理论(PDF · 3.6MB)
    下载
🎁 免费学习资源

领取《小象 11GB VIP 课件资料包与大厂真题手册》

包含全套实战 Jupyter 源码、清洗后数据集、大厂高频面试真题与专属学员答疑交流群。

  • 完整 Python / 数据分析 Jupyter 实战源码
  • 大厂真实业务数据集与练习题
  • 微信扫码添加课程顾问,免费获取网盘下载链接
微信二维码:扫码添加课程顾问微信扫码添加顾问