📑 查看全课大纲(第 31 / 41 节)
- 1.数理统计中的基本概念
- 2.统计量与抽样分布(一)
- 3.统计量与抽样分布(二)
- 4.次序统计量
- 5.充分统计量与完备统计量
- 6.统计中常用分布族(一)
- 7.统计中常用分布族(二)
- 8.矩估计
- 9.极大似然估计
- 10.无偏估计与一致最小方差无偏估计(一)
- 11.无偏估计与一致最小方差无偏估计(二)
- 12.完备统计量
- 13.CR不等式及有效估计
- 14.相合估计
- 15.置信区间
- 16.正态总体参数的置信区间
- 17.大样本置信区间
- 18.Fisher显著性检验
- 19.正态总体参数的假设检验(一)
- 20.正态总体参数的假设检验(二)
- 21.似然比检验
- 22.Neyman-Pearson基本引理
- 23.一致最优势检验
- 24.无偏检验与一致最优势无偏检验
- 25.正态概率纸检验
- 26.拟合优度检验
- 27.列联表的独立性检验
- 28.Kolmogorov检验
- 29.正态性检验
- 30.Bayes统计
- 31.先验分布的确定
- 32.Bayes统计推断
- 33.统计判决理论
- 34.Minimax准则
- 35.非参数统计
- 36.符号检验
- 37.Wilcoxon符号秩检验
- 38.抽样调查
- 39.简单随机抽样
- 40.分层随机抽样
- 41.整群随机抽样
先验分布的确定
约 34 分钟
先验分布的确定
小象实战讲义 · 数据科学的统计基础
在贝叶斯统计推断中,先验分布承载了我们对未知参数在获得样本数据之前的认知。如何科学、合理地确定先验分布,是连接主观认知与客观数据的关键一步,也是贝叶斯方法的核心与争议点之一。本节将系统介绍确定先验分布的几种主要方法,重点剖析无信息先验分布与共轭先验分布这两种在理论与实践中至关重要的工具。掌握它们,你将能够为不同场景下的贝叶斯建模选择合适的先验,并理解后验推断结果的含义。
💡 核心导读
- 先验分布的核心地位:贝叶斯推断与经典统计的核心差异在于是否利用先验信息,而先验信息蕴含于先验分布之中。
- 无信息先验:当我们对参数几乎一无所知时,如何选择一个“不偏不倚”的先验?本节将介绍均匀分布与广义先验分布的概念。
- 共轭先验:为了计算便利和理论优美,我们常选择与似然函数“共轭”的先验分布族,使得后验分布与先验分布属于同一族。
- 经典共轭对:我们将总结几个最重要的共轭先验分布族,如二项分布与Beta分布、正态分布(方差已知)与正态分布等。
- 共轭先验的优点:计算简便,且后验分布的参数通常具有清晰的统计解释(如先验信息与样本信息的加权平均)。
先验分布确定方法概述
贝叶斯统计推断的流程可以概括为:先确定先验分布 → 结合样本信息(似然函数)得到后验分布 → 基于后验分布进行所有关于参数的统计推断。因此,先验分布的确定是整个流程的起点,占有核心地位。频率学派对贝叶斯学派的一个主要批评也在于此,认为先验分布的确定往往包含主观成分。
常用的确定先验分布的方法主要有以下几种:
- 客观法:基于对参数的客观认识(如历史数据、理论限制)给出先验分布。
- 主观概率法:基于专家或决策者的主观判断和信念给出先验分布。
- 同等无知原则:当我们对参数没有任何先验信息时,通常假设其在参数空间内“均匀”分布。
- 无信息先验分布:是同等无知原则的形式化与推广,旨在寻找一个能反映“对参数无偏爱”的先验。
- 共轭先验分布:从理论计算便利性出发,选择与似然函数形式相匹配的先验分布族。
前三种方法(客观法、主观概率法、同等无知原则)更依赖于具体问题和领域知识,本节将重点介绍后两种具有普适理论价值的方法:无信息先验分布和共轭先验分布。
无信息先验分布
概念与动机
所谓无信息先验分布,是指当我们对参数 没有先验信息或只有极少信息可用,但仍希望采用贝叶斯方法时,所使用的一种先验。
其直观思想是:先验分布应对参数空间 中的任意一点 都“没有偏爱”,或者说“同等无知”。这本身就蕴含了一种信息:参数在其可能的取值范围内是“均匀”的。需要注意的是,“无信息”这个说法是相对的,其定义本身就包含了“均匀性”这一信息。
均匀分布与广义先验分布
如何构造这种无信息先验?我们分情况讨论:
参数空间 为有限集 设 。要体现对每一点都无偏爱,最自然的选择是赋予每一点相等的概率: 这是一个离散均匀分布。
参数空间 为有限区间 设 ,其中 。此时,体现“无偏爱”的自然选择是在该区间上的连续均匀分布:
参数空间 为无界集(常见情况) 例如,对于正态总体 (已知),均值参数 。若简单地取 (常数),则其在全实数域上的积分 发散(无穷大),这不满足概率密度函数积分为1的条件。此时,我们引入**广义先验分布(Improper Prior Distribution)**的概念。
广义先验密度 满足:
- 。
- (即不是一个正常的概率密度函数)。
但是,如果由此广义先验与样本似然函数结合得到的后验密度是一个正常的概率密度函数(即积分有限且为1),那么我们仍然可以将其作为一个有效的先验使用,并称之为广义先验密度。广义先验密度乘以任意正常数,仍然是一个广义先验密度。
示例:正态均值参数的无信息先验
假设我们从总体 中抽取 个独立样本 ,即方差 已知,均值 未知。
- 样本似然函数:
- 先验分布:我们取无信息先验 。这是一个广义先验,因为 。
- 计算后验分布: 根据贝叶斯公式,后验密度正比于似然乘以先验: 通过配方(将 写成关于 的二次型),可以证明: 其中 为样本均值。
结论:
- 后验分布 ,这是一个正常的概率分布。因此, 是一个有效的(广义)无信息先验。
- 根据贝叶斯推断原则(一切推断基于后验分布),对参数 的一个自然点估计就是其后验均值,即 。这与经典统计中的极大似然估计结果一致。
import numpy as np
import scipy.stats as stats
import matplotlib.pyplot as plt
# 模拟:使用无信息先验进行贝叶斯推断
np.random.seed(321)
true_theta = 5.0 # 真实的总体均值
sigma = 1.0 # 已知的标准差
n = 30 # 样本量
# 生成样本
sample = np.random.normal(loc=true_theta, scale=sigma, size=n)
x_bar = np.mean(sample)
# 计算后验分布:N(x_bar, sigma^2/n)
posterior_mean = x_bar
posterior_std = sigma / np.sqrt(n)
posterior_dist = stats.norm(loc=posterior_mean, scale=posterior_std)
# 绘制先验(广义均匀,无法直接绘制密度)与后验密度曲线
theta_grid = np.linspace(3, 7, 1000)
prior_density = np.ones_like(theta_grid) # 广义先验密度为常数1(非正规化)
fig, ax = plt.subplots(figsize=(10, 6))
# 先验(用水平线示意其“均匀”)
ax.axhline(y=0.1, color='gray', linestyle='--', label='广义先验示意 (π(θ)=1)')
# 后验
ax.plot(theta_grid, posterior_dist.pdf(theta_grid), 'b-', linewidth=2, label=f'后验分布 N({posterior_mean:.2f}, {posterior_std**2:.3f})')
# 真实值
ax.axvline(x=true_theta, color='r', linestyle=':', label=f'真实值 θ={true_theta}')
# 样本均值(后验均值)
ax.axvline(x=x_bar, color='g', linestyle='--', label=f'样本均值/后验均值 = {x_bar:.2f}')
ax.set_xlabel('参数 θ')
ax.set_ylabel('密度')
ax.set_title('无信息先验下正态均值的后验分布')
ax.legend()
ax.grid(True, alpha=0.3)
plt.show()
print(f"样本均值 (后验均值): {x_bar:.4f}")
print(f"后验标准差: {posterior_std:.4f}")
print(f"基于后验的95%可信区间: [{posterior_dist.ppf(0.025):.4f}, {posterior_dist.ppf(0.975):.4f}]")共轭先验分布
定义与动机
从理论计算便利性出发,我们希望在已知样本分布形式的情况下,选择一种先验分布,使得后验分布与先验分布属于同一个分布族。这样的先验分布族称为共轭先验分布族。
正式定义:设样本 的分布族为 。如果先验分布族 满足:对任意的先验 和任意可能的样本观测 ,由此计算得到的后验分布 仍然属于分布族 ,则称 为该样本分布族(关于参数 )的共轭先验分布族。
优点:
- 计算方便:后验分布的形式已知,只需根据样本数据更新分布参数即可,无需复杂的积分计算。
- 解释清晰:后验分布的参数通常可以直观地解释为先验信息与样本信息的某种结合(如加权平均)。
示例一:二项分布的成功概率
问题设定:
- 样本分布:,其中试验次数 已知,成功概率 未知。其概率质量函数为:
- 目标:寻找参数 的共轭先验分布。
结论:二项分布参数 的共轭先验分布是 Beta 分布。
验证:
- 先验:设 ,其密度函数为: 其中 是Beta函数。
- 后验:给定观测 ,后验密度正比于似然乘以先验: 忽略归一化常数,可以看出后验密度具有 的形式,这正是 Beta 分布的核心部分。因此: 后验分布仍然是 Beta 分布,属于同一分布族,验证了 Beta 分布是二项分布的共轭先验。
特例:当 时, 就是 区间上的均匀分布 ,这是一种特殊的无信息先验。此时后验为 。
示例二:正态分布的均值(方差已知)
问题设定:
- 样本分布:,其中方差 已知,均值 未知。其密度为:
- 目标:寻找参数 的共轭先验分布。
结论:正态分布均值 (方差已知)的共轭先验分布是 正态分布。
验证:
- 先验:设 ,其密度为:
- 后验(单样本):给定观测 ,后验密度 。通过指数部分配方(详细推导略),可以证明: 其中
- 后验(多样本):若有 个独立同分布样本 ,样本均值 是 的充分统计量,且 。将单样本公式中的 替换为 , 替换为 ,即可得到多样本下的后验分布:
解释:
- 后验均值 是先验均值 与样本均值 的加权平均。
- 权重与信息精度(方差的倒数)成正比:先验精度为 ,样本均值的精度为 。
- 当样本量 很大或样本方差 很小时(样本信息精度高),后验均值主要由样本均值决定;反之,当先验精度很高时,后验均值主要由先验均值决定。这直观地体现了贝叶斯学习过程中先验信息与样本信息的折衷与融合。
import numpy as np
import scipy.stats as stats
import matplotlib.pyplot as plt
# 模拟:正态均值的共轭先验推断
np.random.seed(321)
true_mu = 10.0 # 真实的总体均值
sigma = 2.0 # 已知的标准差
n = 20 # 样本量
# 先验分布参数:我们假设先验认为均值可能在8附近,但有较大不确定性
prior_mu = 8.0
prior_tau = 3.0 # 先验标准差
prior_dist = stats.norm(loc=prior_mu, scale=prior_tau)
# 生成样本
sample = np.random.normal(loc=true_mu, scale=sigma, size=n)
x_bar = np.mean(sample)
# 计算后验分布参数
posterior_precision = 1/prior_tau**2 + n/sigma**2
posterior_tau = np.sqrt(1/posterior_precision)
posterior_mu = (prior_mu/prior_tau**2 + n*x_bar/sigma**2) / posterior_precision
posterior_dist = stats.norm(loc=posterior_mu, scale=posterior_tau)
# 绘制先验、似然(以样本均值为中心)与后验
mu_grid = np.linspace(5, 15, 1000)
fig, ax = plt.subplots(figsize=(12, 6))
ax.plot(mu_grid, prior_dist.pdf(mu_grid), 'g--', linewidth=2, label=f'先验 N({prior_mu}, {prior_tau**2:.2f})')
# 似然函数(关于μ,已正比于样本均值处的正态密度,仅用于示意形状)
likelihood_scale = sigma / np.sqrt(n) # 样本均值的标准差
likelihood_dist = stats.norm(loc=x_bar, scale=likelihood_scale)
# 对似然进行缩放以便在同一尺度下可视化
likelihood_pdf = likelihood_dist.pdf(mu_grid)
likelihood_pdf = likelihood_pdf / np.max(likelihood_pdf) * np.max(prior_dist.pdf(mu_grid)) * 0.8
ax.plot(mu_grid, likelihood_pdf, 'r:', linewidth=2, label=f'似然(中心在样本均值={x_bar:.2f})')
ax.plot(mu_grid, posterior_dist.pdf(mu_grid), 'b-', linewidth=3, label=f'后验 N({posterior_mu:.2f}, {posterior_tau**2:.3f})')
ax.axvline(x=prior_mu, color='g', linestyle='--', alpha=0.5)
ax.axvline(x=x_bar, color='r', linestyle=':', alpha=0.5)
ax.axvline(x=posterior_mu, color='b', linestyle='-', alpha=0.5)
ax.axvline(x=true_mu, color='k', linestyle='-', alpha=0.7, label=f'真实均值={true_mu}')
ax.set_xlabel('参数 μ')
ax.set_ylabel('密度')
ax.set_title('正态均值参数的共轭先验推断:先验、似然与后验')
ax.legend()
ax.grid(True, alpha=0.3)
plt.show()
print(f"先验均值: {prior_mu:.4f}")
print(f"样本均值: {x_bar:.4f}")
print(f"后验均值 (加权平均): {posterior_mu:.4f}")
print(f"先验权重: {(1/prior_tau**2)/posterior_precision:.4f}")
print(f"样本权重: {(n/sigma**2)/posterior_precision:.4f}")常见共轭先验分布族总结
下表总结了几种常见总体分布及其参数的共轭先验分布族:
| 总体分布 | 参数 | 共轭先验分布 |
|---|---|---|
| 二项分布 | 成功概率 | |
| 正态分布 | 均值 (方差 已知) | |
| 正态分布 | 方差 (均值 已知) | 逆伽马分布 |
| 泊松分布 | 均值 | |
| 指数分布 | 率参数 |
注意:
- 伽马分布 有两种常用参数化。一种以形状参数 (shape) 和率参数 (rate) 表示,密度函数为 ,此时均值为 。另一种使用形状参数和尺度参数 (scale) (),密度为 ,均值为 。使用时需明确约定。
scipy.stats.gamma采用形状-尺度参数化。 - 逆伽马分布 :若 ,则 。其密度函数为 。
📝 动手练一练
无信息先验计算:假设观测到一组来自泊松分布 的样本:。若我们采用广义无信息先验 (这是一个常见的泊松率参数的无信息先验,相当于对 取均匀先验,具有尺度不变性;注意它与 Jeffreys 先验 不同),请推导后验分布 的形式(指出其属于何种分布,并给出参数)。提示:泊松分布的似然函数为 。
参考答案: 后验分布 。 这与伽马分布的核心形式 一致。因此,(采用形状-率参数化)。本例中 ,故后验为 。
共轭先验应用:你正在分析一款新应用的用户次日留存情况。根据初步的行业经验(先验信息),你认为留存率 大致在30%左右,但不确定性相当于进行了10次试验观察到3次成功。现在,你的应用上线后,首批100个新用户中有38个次日返回(即成功留存)。 a) 请为留存率 建立一个贝叶斯模型,明确先验分布和似然函数。 b) 计算后验分布,并给出后验均值。 c) 与单纯使用样本数据计算的留存率(38%)相比,后验估计有何不同?试解释原因。
参考答案: a) 模型:用户次日留存行为可视为伯努利试验,成功(留存)概率为 。100个独立用户的留存情况构成二项分布样本:,观测到 。 先验信息:“相当于10次试验3次成功”可解读为采用共轭先验 ,且先验均值 ,先验等效样本量 。解得 。故先验分布:。 b) 后验分布:根据共轭性质,。 后验均值 。 c) 样本留存率为 ,后验均值为 ,略低于样本率。这是因为先验信息(认为留存率在0.3附近)通过加权平均“拉低”了完全依赖样本的估计。随着样本量增大,样本信息权重增加,后验估计会越来越接近样本率。
本章小结
本节深入探讨了贝叶斯统计中确定先验分布的核心方法。
- 无信息先验分布反映了“对参数无偏爱”的认知,在参数空间有界时可用均匀分布,无界时则可能引入广义先验分布,其有效性取决于后验分布是否正常。
- 共轭先验分布是基于计算便利和理论性质的选择,它使得后验分布与先验属于同一分布族。我们重点掌握了二项分布-Beta分布、正态分布(方差已知)-正态分布这两对最重要的共轭关系,并理解了后验参数作为先验信息与样本信息加权平均的直观解释。
- 总结表格提供了快速查找常见分布共轭先验的参考。
行动清单
- 建模时先问:对于当前问题的参数,我是否有可靠的先验信息?如果没有,无信息先验或弱信息先验是否是合适的选择?
- 计算优先:如果样本分布属于常见族(如二项、正态、泊松),首先考虑其共轭先验分布族,这将极大简化后验计算与模拟。
- 解释后验:得到后验分布后,特别是使用共轭先验时,尝试解读后验参数(如均值、方差)如何融合了先验与样本信息,这能加深对贝叶斯学习过程的理解。
— 小象教研组
- 第6章课件:Bayes统计与统计判决理论(PDF · 3.6MB)下载
领取《小象 11GB VIP 课件资料包与大厂真题手册》
包含全套实战 Jupyter 源码、清洗后数据集、大厂高频面试真题与专属学员答疑交流群。
- ✔完整 Python / 数据分析 Jupyter 实战源码
- ✔大厂真实业务数据集与练习题
- ✔微信扫码添加课程顾问,免费获取网盘下载链接
微信扫码添加顾问