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

统计判决理论

约 18 分钟

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

统计判决理论与贝叶斯准则

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

统计判决理论为统计推断提供了一个统一的决策框架。它将参数估计、假设检验等问题都视为在不确定环境下做出决策的过程,通过引入损失函数来量化决策后果,并寻找风险最小的决策方案。本节将系统介绍统计决策问题的三要素、风险函数、一致最优决策函数,并重点讲解在一致最优解通常不存在时,如何通过贝叶斯准则寻找最优决策。学完本节,你将能够理解统计决策的基本思想,掌握贝叶斯估计在不同损失函数下的具体形式,并能运用Python进行相关计算。

💡 核心导读

  • 统计决策三要素:样本空间与分布族、行动空间、损失函数是构成统计决策问题的基石。
  • 从损失到风险:决策函数在给定参数下的损失是随机的,其期望值(风险函数)是评价决策优劣的核心指标。
  • 一致最优的困境:理想的一致最优决策函数(对所有参数风险都最小)通常不存在,需要放宽标准。
  • 贝叶斯准则:引入先验分布,对风险函数求关于参数的期望,得到贝叶斯风险。使贝叶斯风险最小的决策函数即为贝叶斯解。
  • 损失函数决定估计形式:在平方损失下,贝叶斯估计是后验期望;在绝对值损失下,是后验中位数。

统计决策问题的基本要素

统计判决理论由统计学家 Wald 在20世纪50年代创立。它将统计推断(如参数估计、假设检验)统一为一种决策问题:在不确定性的环境下,根据观测到的样本数据,从一系列可能的行动中选择一个,并评估该行动可能带来的“损失”。为了形式化地描述一个统计决策问题,我们需要三个基本要素。

例:一个简单的决策问题 某工厂收到一批零部件,质检部门需要决定是否接收该批次。工厂面临两种行动:

  1. 行动 a1a_1:接收该批次。
  2. 行动 a2a_2:拒收该批次。

这批零部件的真实质量状态(自然状态)有两种可能:

  • 状态 θ1\theta_1:批次合格率高。
  • 状态 θ2\theta_2:批次合格率低。

不同行动在不同状态下的损益(单位:元)如下表所示:

行动 \ 状态θ1\theta_1 (合格率高)θ2\theta_2 (合格率低)
a1a_1 (接收)+2000 (获利)-10000 (亏损)
a2a_2 (拒收)-3000 (损失)-1000 (损失)

这个损益矩阵清晰地展示了决策的后果。一个好的决策需要综合考虑不同状态发生的可能性以及相应的损失。统计决策理论将这种思想数学化,定义了以下三个要素。

要素一:样本空间与样本分布族 这是问题的信息来源。设 XX 是一个取值于样本空间 X\mathscr{X} 的随机变量,它代表我们观测到的数据(样本)。XX 的概率分布依赖于一个未知参数 θ\theta,该参数属于参数空间 Θ\Theta。所有可能的分布构成一个分布族 {F(x;θ):θΘ}{F(x; \theta): \theta \in \Theta}。通常,我们观测到的是来自总体 XX 的一个样本 X1,X2,,XnX_1, X_2, \dots, X_n

要素二:行动空间 这是决策者所有可能采取的行动的集合,记为 A\mathscr{A}。它是一个非空集合。

  • 在估计问题中,行动就是给出参数 θ\theta 的一个估计值。因此,行动空间通常就是参数空间 Θ\Theta 本身,或者其一个子集。此时的决策函数 δ(X)\delta(X) 就是我们熟悉的估计量。
  • 在假设检验问题中,行动只有两个:接受原假设 H0H_0 或拒绝原假设 H0H_0。因此,行动空间 A={a0,a1}\mathscr{A} = {a_0, a_1},其中 a0a_0 表示接受,a1a_1 表示拒绝。

要素三:损失函数 损失函数 L(θ,a)L(\theta, a) 是定义在参数空间 Θ×\Theta \times 行动空间 A\mathscr{A} 上的一个非负函数。它表示当真实参数为 θ\theta 时,采取行动 aa 所造成的损失。 常见的损失函数有:

  • 平方损失L(θ,a)=(aθ)2L(\theta, a) = (a - \theta)^2。常用于估计问题,惩罚大的偏差。
  • 绝对值损失L(θ,a)=aθL(\theta, a) = |a - \theta|。对偏差的惩罚相对温和。
  • 线性损失L(θ,a)={k0(θa),if aθk1(aθ),if a>θL(\theta, a) = \begin{cases} k_0(\theta - a), & \text{if } a \le \theta \ k_1(a - \theta), & \text{if } a > \theta \end{cases} 其中 k0,k1>0k_0, k_1 > 0。常用于非对称的决策场景。

对于贝叶斯统计决策问题,还需要第四要素:先验分布。即定义在参数空间 Θ\Theta 上的一个概率分布 π(θ)\pi(\theta),它代表了在观测数据之前,我们对参数 θ\theta 的认知。

决策函数、风险函数与一致最优准则

决策函数 决策函数(或称判决函数)δ(X)\delta(X) 是一个定义在样本空间 X\mathscr{X} 上,取值于行动空间 A\mathscr{A} 的函数。它的含义是:当我们观测到样本 X=xX=x 时,就采取行动 δ(x)\delta(x)。决策函数将数据转化为行动,是统计决策的核心。

风险函数 对于一个给定的决策函数 δ\delta 和真实的参数值 θ\theta,由于样本 XX 是随机的,损失 L(θ,δ(X))L(\theta, \delta(X)) 也是一个随机变量。为了综合评价决策函数 δ\delta 在参数 θ\theta 下的表现,我们使用其期望值,称为风险函数,记为 R(θ,δ)R(\theta, \delta)

R(θ,δ)=EXθ[L(θ,δ(X))]R(\theta, \delta) = E_{X|\theta}[L(\theta, \delta(X))]

这里的期望是对样本 XX 在其分布 F(x;θ)F(x;\theta) 下求取的。风险函数 R(θ,δ)R(\theta, \delta) 同时依赖于参数 θ\theta 和决策函数 δ\delta。根据 Wald 的理论,评价一个决策函数优劣的唯一依据就是它的风险函数——风险越小越好。

一致最优决策函数 最理想的情况是,存在一个决策函数 δ\delta^*,对于参数空间 Θ\Theta 中的每一个 θ\theta,它的风险都是所有决策函数中最小的。即,对任意决策函数 δ\delta,都有:

R(θ,δ)R(θ,δ),θΘR(\theta, \delta^*) \le R(\theta, \delta), \quad \forall \theta \in \Theta

如果这样的 δ\delta^* 存在,则称其为一致最优决策函数。这类似于假设检验中的一致最优势检验。

然而,遗憾的是,在绝大多数实际问题中,一致最优决策函数并不存在。因为一个决策函数可能在某个 θ\theta 值处风险很小,但在另一个 θ\theta 值处风险很大,很难找到一个在所有 θ\theta 上都“统治”其他函数的决策。因此,我们需要放宽评价标准,引入一些更弱但更实用的优良性准则。

贝叶斯准则

由于一致最优准则过于严苛,我们转而寻求在某种平均意义下最优的决策。贝叶斯准则就是其中最重要的一种。

贝叶斯风险 在贝叶斯框架下,我们拥有参数 θ\theta 的先验分布 π(θ)\pi(\theta)。我们可以将风险函数 R(θ,δ)R(\theta, \delta) 对参数 θ\theta 求期望,从而“平均掉”参数的不确定性。这个期望值称为决策函数 δ\delta贝叶斯风险,记为 Rπ(δ)R_\pi(\delta)

Rπ(δ)=Eθ[R(θ,δ)]=ΘR(θ,δ)π(θ)dθR_\pi(\delta) = E_{\theta}[R(\theta, \delta)] = \int_{\Theta} R(\theta, \delta) \pi(\theta) d\theta

贝叶斯风险 Rπ(δ)R_\pi(\delta) 仅依赖于决策函数 δ\delta 和先验分布 π\pi,它给出了在考虑先验信息后,采用决策 δ\delta 所带来的平均风险。

贝叶斯解 使贝叶斯风险达到最小的决策函数称为该统计决策问题的贝叶斯解(或贝叶斯决策函数)。形式化地,如果存在决策函数 δ\delta^*,使得对任意决策函数 δ\delta,都有:

Rπ(δ)Rπ(δ)R_\pi(\delta^*) \le R_\pi(\delta)

则称 δ\delta^* 为贝叶斯解。

比较决策函数 基于贝叶斯风险,我们可以比较两个决策函数的优劣:如果 Rπ(δ1)Rπ(δ2)R_\pi(\delta_1) \le R_\pi(\delta_2),则称 δ1\delta_1 在贝叶斯意义下优于(或不劣于)δ2\delta_2

一般损失函数下的贝叶斯估计

在参数估计问题中,行动 aa 就是参数 θ\theta 的一个估计值,决策函数 δ(X)\delta(X) 就是估计量。下面我们讨论在几种常见损失函数下,贝叶斯解的具体形式。记 θ\theta 的后验分布为 π(θX)\pi(\theta | X)

1. 平方损失下的贝叶斯估计 当损失函数为平方损失 L(θ,a)=(aθ)2L(\theta, a) = (a - \theta)^2 时,贝叶斯解(即贝叶斯估计)是后验分布的期望。

定理:在平方损失下,参数 θ\theta 的贝叶斯估计为其后验期望: δ(X)=E[θX]\delta^*(X) = E[\theta | X]

这个结论非常重要。它告诉我们,在“偏差的平方”作为损失的标准下,最优的估计就是后验均值。这也与我们之前在贝叶斯统计推断中,将后验期望作为点估计的做法是一致的,但这里的背景是基于明确的决策损失框架。

2. 加权平方损失下的贝叶斯估计 考虑更一般的加权平方损失:L(θ,a)=w(θ)(aθ)2L(\theta, a) = w(\theta)(a - \theta)^2,其中 w(θ)>0w(\theta) > 0 是参数空间上的一个正值函数。此时,贝叶斯估计为: δ(X)=E[w(θ)θX]E[w(θ)X]\delta^*(X) = \frac{E[w(\theta)\theta | X]}{E[w(\theta) | X]}w(θ)1w(\theta) \equiv 1 时,即退化为普通的平方损失。

3. 绝对值损失下的贝叶斯估计 当损失函数为绝对值损失 L(θ,a)=aθL(\theta, a) = |a - \theta| 时,贝叶斯解是后验分布的中位数。 δ(X)=Median of π(θX)\delta^(X) = \text{Median of } \pi(\theta | X) 即,使得 P(θδX)1/2P(\theta \le \delta^| X) \ge 1/2P(θδX)1/2P(\theta \ge \delta^* | X) \ge 1/2 的那个值。

示例:正态总体的贝叶斯估计(平方损失) 设总体 XN(θ,σ2)X \sim N(\theta, \sigma^2),其中 σ2\sigma^2 已知。取 θ\theta 的先验分布为 N(μ0,τ02)N(\mu_0, \tau_0^2)。现有样本 X1,,XnX_1, \dots, X_n,样本均值为 Xˉ\bar{X}。 可以证明,θ\theta 的后验分布为 N(μn,τn2)N(\mu_n, \tau_n^2),其中: μn=1τ02μ0+nσ2Xˉ1τ02+nσ2,τn2=(1τ02+nσ2)1\mu_n = \frac{\frac{1}{\tau_0^2}\mu_0 + \frac{n}{\sigma^2}\bar{X}}{\frac{1}{\tau_0^2} + \frac{n}{\sigma^2}}, \quad \tau_n^2 = \left( \frac{1}{\tau_0^2} + \frac{n}{\sigma^2} \right)^{-1} 根据定理,在平方损失下,θ\theta 的贝叶斯估计为后验期望 δ=μn\delta^* = \mu_n。这正是先验均值 μ0\mu_0 与样本均值 Xˉ\bar{X} 的加权平均。

import numpy as np
import scipy.stats as stats

# 参数设置
np.random.seed(42)
mu_0, tau_0 = 5, 2      # 先验 N(5, 2^2)
theta_true = 6          # 真实参数
sigma = 1               # 已知总体标准差
n = 10                  # 样本量

# 生成样本
sample = stats.norm.rvs(loc=theta_true, scale=sigma, size=n)
x_bar = np.mean(sample)

# 计算后验分布的参数(方差已知的正态-正态共轭)
tau_n_sq = 1 / (1/tau_0**2 + n/sigma**2)
mu_n = tau_n_sq * (mu_0/tau_0**2 + n*x_bar/sigma**2)

print(f"真实参数 theta = {theta_true}")
print(f"先验均值 mu_0 = {mu_0:.2f}, 先验标准差 tau_0 = {tau_0:.2f}")
print(f"样本均值 x_bar = {x_bar:.4f}")
print(f"后验均值 mu_n (贝叶斯估计) = {mu_n:.4f}")
print(f"后验标准差 tau_n = {np.sqrt(tau_n_sq):.4f}")

# 可视化先验、似然(近似)与后验
import matplotlib.pyplot as plt
theta_grid = np.linspace(0, 10, 500)
prior_pdf = stats.norm.pdf(theta_grid, mu_0, tau_0)
# 似然函数(归一化到与先验/后验可比的高度)
likelihood = stats.norm.pdf(theta_grid, x_bar, sigma/np.sqrt(n))
likelihood = likelihood / np.max(likelihood) * np.max(prior_pdf) # 缩放以便观察形状
posterior_pdf = stats.norm.pdf(theta_grid, mu_n, np.sqrt(tau_n_sq))

plt.figure(figsize=(10, 6))
plt.plot(theta_grid, prior_pdf, 'b--', label='先验分布', alpha=0.7)
plt.plot(theta_grid, likelihood, 'g:', label='似然函数(缩放后)', alpha=0.7)
plt.plot(theta_grid, posterior_pdf, 'r-', label='后验分布', linewidth=2)
plt.axvline(x_bar, color='g', linestyle=':', alpha=0.5, label='样本均值')
plt.axvline(mu_n, color='r', linestyle='-', alpha=0.5, label='贝叶斯估计(后验均值)')
plt.axvline(theta_true, color='k', linestyle='-', alpha=0.3, label='真实参数')
plt.xlabel(r'参数 <span class="katex"><span class="katex-mathml"><math xmlns="http://www.w3.org/1998/Math/MathML"><semantics><mrow><mi>θ</mi></mrow><annotation encoding="application/x-tex">\theta</annotation></semantics></math></span><span class="katex-html" aria-hidden="true"><span class="katex-base"><span class="katex-strut" style="height:0.6944em;"></span><span class="mord mathnormal" style="margin-right:0.0278em;">θ</span></span></span></span>')
plt.ylabel('概率密度')
plt.title('正态-正态共轭模型下的贝叶斯估计(平方损失)')
plt.legend()
plt.grid(True, alpha=0.3)
plt.show()

📝 动手练一练

  1. 决策问题分析:考虑本节开头的零部件质检决策问题。假设根据历史数据,质检工程师认为批次合格率高 (θ1\theta_1) 的先验概率为 0.70.7,合格率低 (θ2\theta_2) 的先验概率为 0.30.3。若定义损失函数即为损益矩阵中的负收益(即收益为负值即为损失,收益为正值则损失为0的简化模型),计算行动 a1a_1 (接收) 和 a2a_2 (拒收) 的贝叶斯风险。根据贝叶斯准则,工厂应该采取哪个行动?

  2. 不同损失下的贝叶斯估计:设某参数 θ\theta 的后验分布为 Gamma(α=3,β=2)Gamma(\alpha=3, \beta=2)(即形状参数为3,尺度参数为2)。 a) 在平方损失函数下,求 θ\theta 的贝叶斯估计 δ\delta^。 b) 在绝对值损失函数下,求 θ\theta 的贝叶斯估计 δ\delta^。 (提示:Gamma分布 Gamma(α,β)Gamma(\alpha, \beta) 的期望为 E[θ]=αβE[\theta] = \alpha\beta,方差为 Var[θ]=αβ2Var[\theta] = \alpha\beta^2。其后验中位数需通过数值计算或查表求得。)

参考答案:

  1. 将损益矩阵中的值视为损失(负收益表示正损失,正收益表示零损失)。则损失函数为: L(θ1,a1)=0,L(θ2,a1)=10000L(\theta_1, a_1) = 0, \quad L(\theta_2, a_1) = 10000 L(θ1,a2)=3000,L(θ2,a2)=1000L(\theta_1, a_2) = 3000, \quad L(\theta_2, a_2) = 1000 先验分布:π(θ1)=0.7,π(θ2)=0.3\pi(\theta_1)=0.7, \pi(\theta_2)=0.3。 行动 a1a_1 的贝叶斯风险:Rπ(a1)=0×0.7+10000×0.3=3000R_\pi(a_1) = 0 \times 0.7 + 10000 \times 0.3 = 3000 行动 a2a_2 的贝叶斯风险:Rπ(a2)=3000×0.7+1000×0.3=2100+300=2400R_\pi(a_2) = 3000 \times 0.7 + 1000 \times 0.3 = 2100 + 300 = 2400 因为 Rπ(a2)<Rπ(a1)R_\pi(a_2) < R_\pi(a_1),根据贝叶斯准则,应选择行动 a2a_2,即拒收该批次。

  2. a) 在平方损失下,贝叶斯估计为后验期望。对于 Gamma(α=3,β=2)Gamma(\alpha=3, \beta=2) 分布,其期望为 E[θ]=αβ=3×2=6E[\theta] = \alpha\beta = 3 \times 2 = 6。因此 δ=6\delta^* = 6。 b) 在绝对值损失下,贝叶斯估计为后验中位数。Gamma分布的中位数没有解析表达式,需要使用数值方法求解。即求解满足 P(θmX)=0.5P(\theta \le m | X) = 0.5mm

    import scipy.stats as stats
    alpha, beta = 3, 2
    # 计算后验中位数
    median_bayes = stats.gamma.ppf(0.5, a=alpha, scale=beta) # scale参数对应尺度参数beta
    mean_bayes = alpha * beta
    print(f"平方损失下的贝叶斯估计(后验期望): {mean_bayes}")
    print(f"绝对值损失下的贝叶斯估计(后验中位数): {median_bayes:.4f}")

    运行上述代码,可以得到后验中位数约为 5.348。因此,δ5.348\delta^* \approx 5.348

本章小结

本节系统介绍了统计判决理论的核心思想与贝叶斯决策准则。

要点回顾

  1. 统计决策三要素(样本空间与分布族、行动空间、损失函数)为将统计问题形式化为决策问题提供了框架。
  2. 风险函数 R(θ,δ)=E[L(θ,δ(X))]R(\theta, \delta) = E[L(\theta, \delta(X))] 是评价决策函数性能的核心指标,它衡量了在特定参数值下决策的平均损失。
  3. 理想化的一致最优决策函数通常不存在,促使我们转向更实用的准则。
  4. 贝叶斯准则引入先验分布,通过最小化贝叶斯风险 Rπ(δ)=Eθ[R(θ,δ)]R_\pi(\delta) = E_\theta[R(\theta, \delta)] 来寻找最优决策函数(贝叶斯解)。
  5. 在参数估计问题中,损失函数的形式直接决定了贝叶斯估计的表达式:
    • 平方损失后验期望
    • 绝对值损失后验中位数
    • 加权平方损失加权后验期望

行动清单

  • 重构视角:尝试将学过的点估计(如用样本均值估计总体均值)放入统计决策框架中思考:它的行动空间是什么?隐含使用了哪种损失函数?风险函数如何表达?
  • 代码实践:运行并理解本节提供的Python示例,尝试修改先验参数或样本量,观察贝叶斯估计如何随之变化,体会先验信息与数据的权衡。
  • 拓展思考:除了平方损失和绝对值损失,你能设想一个业务场景(如产品质量控制),其中使用非对称的线性损失函数是更合理的吗?此时的贝叶斯解可能会有什么特点?

— 小象教研组

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

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

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

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