贝叶斯估计
原理、架构与设计思想
贝叶斯估计的基本概念
贝叶斯估计是一种基于贝叶斯定理的统计推断方法,它通过结合先验知识和观测数据来更新我们对未知参数的信念。与频率学派方法不同,贝叶斯估计将未知参数视为随机变量,并为其分配概率分布。
贝叶斯估计是在给定训练数据D时,确定假设空间H中的最佳假设。最佳假设被定义为在给定数据D以及H中不同假设的先验概率的有关知识下的最可能假设。贝叶斯理论提供了一种计算假设概率的方法,基于假设的先验概率、给定假设下观察到不同数据的概率以及观察到的数据本身。
先验知识
对参数的初始信念
观测数据
通过似然函数更新
后验信念
更新后的参数分布
贝叶斯定理
贝叶斯定理是贝叶斯估计的数学基础,它描述了条件概率之间的关系。贝叶斯定理允许我们通过先验概率和似然函数来计算后验概率。
P(θ|X)
后验概率:观测数据X后,参数θ的概率分布
P(X|θ)
似然函数:给定参数θ下,观测数据X的概率
P(θ)
先验概率:观测数据X前,参数θ的概率分布
P(X)
边缘概率:观测数据X的总概率(归一化常数)
先验分布、似然函数与后验分布
观测数据前,对参数θ的概率分布描述,代表先验知识或信念。
给定参数θ下,观测数据X的概率,是参数θ的函数,表示不同参数值下观测数据的可能性。
观测数据X后,对参数θ的更新后概率分布,结合了先验和观测数据。
假设我们有一枚硬币,想要估计其正面朝上的概率θ。在抛掷之前,我们对θ没有任何先验知识,可以假设θ服从均匀分布U(0,1),即先验分布P(θ) = 1(0 ≤ θ ≤ 1)。
现在我们抛掷硬币10次,观察到7次正面朝上。似然函数为二项分布:
根据贝叶斯定理,后验分布为:
这是一个Beta(8,4)分布,其均值为8/(8+4)=0.67,表示在观测到7次正面朝上后,我们对硬币正面朝上概率的更新后的信念。
贝叶斯估计与频率学派估计的区别
- 参数θ是固定的未知常数
- 概率是长期频率的度量
- 不使用先验信息
- 基于重复抽样的概念
- 使用点估计和置信区间
- 主要方法:最大似然估计(MLE)
- 适用于大样本情况
- 参数θ是随机变量
- 概率是信念的度量
- 使用先验信息
- 基于观测数据更新信念
- 使用后验分布和可信区间
- 主要方法:最大后验估计(MAP)
- 适用于小样本情况
在估计硬币正面朝上概率的问题中:
- 频率学派:通过大量抛掷硬币,计算正面朝上的频率作为概率的估计。例如,抛掷100次,60次正面朝上,则估计概率为0.6。
- 贝叶斯学派:首先设定先验分布(如均匀分布),然后根据观测数据(如10次抛掷中7次正面朝上)更新信念,得到后验分布(如Beta(8,4)),然后基于后验分布进行推断。
贝叶斯置信区间(可信区间)
贝叶斯置信区间(也称为可信区间)是基于后验分布构造的区间,用于表示参数θ的可能取值范围。与频率学派的置信区间不同,贝叶斯置信区间直接给出了参数落在该区间的概率。
等尾区间
选择后验分布的α/2和1-α/2分位数作为区间的上下限
最高后验密度区间(HPD)
选择后验密度最高的区域,使得该区域内的概率为1-α
假设我们有一个后验分布为Beta(8,4),我们想要构造95%的贝叶斯置信区间。
使用等尾区间方法,我们需要找到Beta(8,4)分布的2.5%和97.5%分位数:
# Beta(8,4)分布的2.5%和97.5%分位数
lower = stats.beta.ppf(0.025, 8, 4)
upper = stats.beta.ppf(0.975, 8, 4)
print(f”95%贝叶斯置信区间: [{lower:.4f}, {upper:.4f}]”)
# 输出: 95%贝叶斯置信区间: [0.4097, 0.8682]
这意味着,根据我们的后验分布,参数θ有95%的概率落在[0.4097, 0.8682]区间内。
贝叶斯估计的计算方法
当先验分布和似然函数的共轭时,后验分布有解析解。共轭先验是指先验分布和后验分布属于同一分布族。
当后验分布没有解析解时,需要使用数值近似方法:
- 马尔可夫链蒙特卡洛(MCMC)
- 变分推断(VI)
- 拉普拉斯近似
假设我们有一组观测数据,想要估计正态分布的均值μ和方差σ²。我们可以使用PyMC3库进行MCMC抽样:
import numpy as np
# 生成一些观测数据
np.random.seed(42)
data = np.random.normal(loc=5, scale=2, size=100)
# 定义贝叶斯模型
with pm.Model() as model:
# 先验分布
mu = pm.Normal(‘mu’, mu=0, sigma=10)
sigma = pm.HalfNormal(‘sigma’, sigma=10)
# 似然函数
likelihood = pm.Normal(‘likelihood’, mu=mu, sigma=sigma, observed=data)
# MCMC抽样
trace = pm.sample(1000, tune=1000)
# 查看结果
pm.summary(trace)
通过MCMC抽样,我们得到了μ和σ²的后验分布样本,可以进一步计算贝叶斯置信区间和进行统计推断。
贝叶斯估计的应用场景
机器学习
贝叶斯神经网络、高斯过程
医学诊断
疾病诊断、药物效果评估
金融风险
投资风险评估、资产定价
自然语言
文本分类、情感分析
在垃圾邮件过滤中,我们可以使用贝叶斯方法计算一封邮件是垃圾邮件的概率:
其中:
- P(垃圾邮件)是先验概率,可以通过历史数据估计
- P(邮件内容|垃圾邮件)是似然函数,可以通过词频统计估计
- P(垃圾邮件|邮件内容)是后验概率,表示邮件是垃圾邮件的概率
当后验概率超过某个阈值时,我们将邮件分类为垃圾邮件。
总结
贝叶斯估计是一种强大的统计推断方法,它通过结合先验知识和观测数据来更新我们对未知参数的信念。与频率学派方法不同,贝叶斯估计将未知参数视为随机变量,并为其分配概率分布。贝叶斯估计的核心是贝叶斯定理,它将先验分布和似然函数结合起来,得到后验分布。基于后验分布,我们可以进行点估计、区间估计和假设检验等统计推断。
贝叶斯估计在机器学习、医学诊断、金融风险评估等领域有广泛应用。随着计算技术的发展,贝叶斯估计的计算方法也在不断进步,从解析解到MCMC、变分推断等数值近似方法,使得贝叶斯估计能够处理更复杂的问题。
理解贝叶斯估计的原理、架构和设计思想,对于数据科学家来说至关重要,它不仅能够帮助我们更好地理解数据,还能够为我们的决策提供科学依据。