一致最优势检验 (UMP Test)
小象实战讲义 · 数据科学的统计基础
在上一节,我们学习了 Neyman-Pearson 基本引理,它为我们提供了在简单原假设对简单备择假设下寻找最优势检验 (MP Test) 的方法。然而,在实际的数据分析中,我们面临的假设检验问题往往是复合的,即原假设或备择假设对应的是一个参数集合。本节将引入一致最优势检验 (Uniformly Most Powerful Test, UMP Test) 的概念,它是在控制第一类错误概率的前提下,对备择假设参数空间中所有参数点都具有最大功效(即最小第二类错误)的检验。我们将学习 UMP 检验的定义、存在性定理,并重点探讨在单调似然比分布族 (MLR Family) 下单边假设和双边假设的 UMP 检验构造方法。掌握 UMP 检验的理论,能帮助我们在面对复杂的参数假设时,找到理论上最优的决策规则。
💡 核心导读
- 从 MP 到 UMP:理解一致最优势检验 (UMP) 是最优势检验 (MP) 在复合备择假设下的自然推广,其核心要求是检验的功效函数在整个备择参数空间上都达到最大。
- MLR 分布族:认识单调似然比分布族 (MLR Family),这是一类重要的分布族,其似然比是某个统计量的单调函数。许多常见分布(如正态、指数、泊松、二项分布)都属于 MLR 族,这为 UMP 检验的存在和构造提供了基础。
- 单边假设的 UMP 检验:学习对于形如 H0:θ≤θ0 vs H1:θ>θ0 的单边假设检验问题,当总体属于 MLR 族时,如何构造其水平为 α 的 UMP 检验,并确定其拒绝域。
- 双边假设的 UMP 检验:了解对于形如 H0:θ≤θ1 或 θ≥θ2 vs H1:θ1<θ<θ2 的双边假设检验问题,在单参数指数族下,UMP 检验的存在性及其构造形式。
一致最优势检验的定义
考虑一个一般的参数假设检验问题: H0:θ∈Θ0vsH1:θ∈Θ1 其中 Θ0 和 Θ1 是参数空间 Θ 的两个不相交子集,它们都可以是复合的。
设 ϕ1(X) 和 ϕ2(X) 是该检验问题的两个水平为 α 的检验函数,即满足: θ∈Θ0supEθ[ϕi(X)]≤α,i=1,2.
定义(一致优于):如果对于备择假设空间 Θ1 中的每一个参数 θ,都有 βϕ1(θ)=Eθ[ϕ1(X)]≥Eθ[ϕ2(X)]=βϕ2(θ), 则称检验 ϕ1 一致地优于检验 ϕ2。
定义(一致最优势检验,UMP Test):如果一个水平为 α 的检验 ϕ∗,对于任何其他水平为 α 的检验 ϕ,都满足 ϕ∗ 一致地优于 ϕ,则称 ϕ∗ 是该假设检验问题的一个水平为 α 的一致最优势检验。
核心思想:UMP 检验在严格控制第一类错误概率不超过 α 的前提下,使得在备择假设 Θ1 中所有可能参数值处的功效(即正确拒绝 H0 的概率)都达到最大。MP 检验是 UMP 检验当 Θ1 只包含一个点(简单备择假设)时的特例。
单调似然比分布族 (MLR Family)
为了讨论单边和双边假设的 UMP 检验,我们需要引入一个重要的分布族概念。
定义(单调似然比分布族):设总体分布族为 {f(x;θ):θ∈Θ},其中 Θ 是直线上的一个区间。如果对于任意 θ1<θ2,似然比 f(x;θ1)f(x;θ2) 都是某个统计量 T(x) 的非降函数,则称该分布族是关于 T(x) 的单调似然比分布族 (Monotone Likelihood Ratio Family)。如果是非增函数,则称为单调递减似然比族。
重要性:MLR 族广泛存在。单参数指数族是 MLR 族的一个重要子类。单参数指数族的密度/概率函数可写为: f(x;θ)=c(θ)h(x)exp{Q(θ)T(x)}. 如果 Q(θ) 是 θ 的严格单调函数(通常假设严格递增),则该分布族是关于充分统计量 T(x) 的 MLR 族。
常见例子:正态分布 N(μ,σ2)(σ2 已知时关于 μ)、指数分布 Exp(λ)、泊松分布 Pois(λ)、二项分布 B(n,p) 等,在适当的参数化下,都属于 MLR 族。
单边假设的 UMP 检验
考虑如下单边假设检验问题: H0:θ≤θ0vsH1:θ>θ0.(4.6.1)
定理(单边 UMP 检验):设总体分布族 {f(x;θ):θ∈Θ} 是关于统计量 T(X) 的非降 MLR 族。则对于假设检验问题 (4.6.1),存在一个水平为 α 的 UMP 检验,其检验函数具有如下形式: ϕ(x)=⎩⎨⎧1,δ,0,T(x)>c,T(x)=c,T(x)<c, 其中常数 c 和 δ∈[0,1] 由下列方程确定: Eθ0[ϕ(X)]=Pθ0(T(X)>c)+δPθ0(T(X)=c)=α. 并且,该 UMP 检验的势函数 β(θ)=Eθ[ϕ(X)] 是 θ 的非降函数,且在 {θ:0<β(θ)<1} 上严格递增。
直观理解:由于分布族是 MLR 族,当备择假设 θ>θ0 成立时,样本更倾向于产生较大的 T(X) 值。因此,最优的拒绝域自然应取为 T(X) 较大的区域,即 {T(X)>c}。常数 c 和 δ 的作用是精确控制第一类错误概率在边界点 θ0 处等于 α。对于连续型分布,通常 Pθ0(T(X)=c)=0,此时 δ 可取任意值,检验退化为非随机化检验:ϕ(x)=I(T(x)>c)。
例子(正态总体均值的单边检验):设 X1,…,Xn∼i.i.d.N(μ,1),考虑检验: H0:μ≤0vsH1:μ>0. 样本联合密度为: f(x;μ)=(2π)−n/2exp{−21i=1∑n(xi−μ)2}=(2π)−n/2e−21∑xi2exp{μnxˉ−2nμ2}. 这属于单参数指数族,Q(μ)=μ 是 μ 的严格增函数,充分统计量 T(X)=nXˉ。因此,该分布族是关于 Xˉ(或 T)的 MLR 族。 根据定理,其水平为 α 的 UMP 检验为: ϕ(x)=I(xˉ>c). 为确定 c,令在 H0 边界 μ=0 处犯第一类错误的概率为 α: Pμ=0(Xˉ>c)=α. 由于 Xˉ∼N(0,1/n),故 Pμ=0(Xˉ>c)=1−Φ(nc)=α,解得 c=nz1−α,其中 z1−α 是标准正态分布的 1−α 分位数。 因此,UMP 检验的拒绝域为:xˉ>nz1−α。
我们可以用模拟来验证该检验的功效确实优于其他水平为 α 的检验(例如一个基于错误统计量构造的检验)。
import numpy as np
import scipy.stats as stats
import matplotlib.pyplot as plt
# 固定随机种子以确保结果可复现
np.random.seed(42)
# 参数设置
n = 10 # 样本量
alpha = 0.05 # 显著性水平
mu0 = 0 # 原假设边界
sigma = 1 # 已知标准差
z_alpha = stats.norm.ppf(1 - alpha) # z_{1-alpha}
c = z_alpha / np.sqrt(n) # UMP检验的临界值
# 定义两个检验函数
def test_ump(sample):
"""UMP检验:基于样本均值"""
x_bar = np.mean(sample)
return 1 if x_bar > c else 0
# 对比检验的临界值:在H0下中位数的(1-alpha)分位数。
# 注意:该临界值只与H0分布有关,与具体样本无关,因此只需在函数外模拟一次,
# 避免在每次检验调用时重复进行上万次模拟。
n_sim_crit = 5000
medians_h0 = np.array([np.median(stats.norm.rvs(loc=mu0, scale=sigma, size=n)) for _ in range(n_sim_crit)])
critical_val_other = np.percentile(medians_h0, 100*(1-alpha))
def test_other(sample):
"""另一个水平为alpha的检验:基于样本中位数(仅作对比示例)"""
# 为了构造一个水平也为alpha的检验,临界值通过在mu=0下中位数的模拟分布近似确定(见上方)。
# 注意:这只是一个用于对比的、功效可能较差的检验。
median = np.median(sample)
return 1 if median > critical_val_other else 0
# 计算势函数:对于不同的真实mu,计算检验拒绝H0的概率
mu_values = np.linspace(-0.5, 2, 50)
power_ump = []
power_other = []
n_sim_power = 1000 # 每个mu值下的模拟次数
for mu in mu_values:
reject_ump = 0
reject_other = 0
for _ in range(n_sim_power):
sample = stats.norm.rvs(loc=mu, scale=sigma, size=n)
reject_ump += test_ump(sample)
reject_other += test_other(sample)
power_ump.append(reject_ump / n_sim_power)
power_other.append(reject_other / n_sim_power)
# 绘制势函数曲线
plt.figure(figsize=(10, 6))
plt.plot(mu_values, power_ump, 'b-', linewidth=2, label='UMP检验 (基于均值)')
plt.plot(mu_values, power_other, 'r--', linewidth=2, label='其他检验 (基于中位数)')
plt.axvline(x=mu0, color='k', linestyle=':', label=f'H0边界 mu=mu0')
plt.axhline(y=alpha, color='gray', linestyle='--', label=f'显著性水平 alpha=alpha')
plt.xlabel('真实均值 mu', fontsize=12)
plt.ylabel('势函数 beta(mu)', fontsize=12)
plt.title(f'单边检验 H0:mulemu0 vs H1:mu>mu0 的势函数比较 (n={n})', fontsize=14)
plt.legend()
plt.grid(True, alpha=0.3)
plt.show()
运行上述代码,你将看到基于样本均值的 UMP 检验的势函数曲线(蓝色实线)在整个备择假设区域 (μ>0) 上都位于基于中位数的检验的势函数曲线(红色虚线)之上,这直观地验证了 UMP 检验的“一致最优”性。在原假设区域 (μ≤0),两者的势函数都保持在 α 以下。
对于另一个方向的单边检验 H0:θ≥θ0 vs H1:θ<θ0,其 UMP 检验的形式类似,但拒绝域为 T(x)<c。
双边假设的 UMP 检验
考虑如下双边假设检验问题: H0:θ≤θ1 或 θ≥θ2vsH1:θ1<θ<θ2,(θ1<θ2).(4.6.2)
定理(双边 UMP 检验):设 X1,…,Xn∼i.i.d.f(x;θ),其中 f(x;θ) 属于单参数指数族: f(x;θ)=c(θ)h(x)exp{θT(x)}, 且 θ 为自然参数。则对于假设检验问题 (4.6.2),存在一个水平为 α 的 UMP 检验,其检验函数具有如下形式: ϕ(x)=⎩⎨⎧1,δi,0,T(x)<c1 或 T(x)>c2,T(x)=ci,i=1,2,c1<T(x)<c2, 其中常数 c1<c2 和 δ1,δ2∈[0,1] 由下列方程组确定: Eθ1[ϕ(X)]Eθ2[ϕ(X)]=α,=α.
直观理解:对于形如 (4.6.2) 的双边假设,备择假设对应参数的一个中间区间。在单参数指数族(θ 为自然参数)下,其充分统计量 T(X) 的分布在 θ 取中间值时,会倾向于集中在某个中间范围;而当 θ 取两端值 (θ1 或 θ2) 时,T(X) 的分布会偏向两边。因此,最优的拒绝域是 T(X) 取值过小或过大的区域,即 {T(X)<c1}∪{T(X)>c2}。常数 c1,c2,δ1,δ2 通过要求在两个边界点 θ1 和 θ2 处的第一类错误概率都恰好为 α 来确定。
例子(正态总体均值的双边检验):设 X1,…,Xn∼i.i.d.N(μ,1),考虑检验: H0:μ≤−1 或 μ≥1vsH1:−1<μ<1. 样本联合密度可写为指数族形式,自然参数 θ=μ,充分统计量 T(X)=∑i=1nXi=nXˉ。 根据定理,其水平为 α 的 UMP 检验形式为: ϕ(x)={1,0,xˉ<c1 或 xˉ>c2,c1≤xˉ≤c2. (对于连续分布,T(X) 取特定值的概率为0,故随机化部分 δi 可忽略)。 常数 c1,c2 满足: Pμ=−1(Xˉ<c1 或 Xˉ>c2)Pμ=1(Xˉ<c1 或 Xˉ>c2)=α,=α. 由于正态分布的对称性,通常可以解得 c1=−c2。具体求解需要解上述方程组,可能涉及数值计算。
📝 动手练一练
单边 UMP 检验构造:设 X1,…,Xn 是来自指数分布 Exp(λ) 的 i.i.d. 样本,其密度为 f(x;λ)=λe−λxI(x>0)。考虑假设检验问题: H0:λ≥2vsH1:λ<2. (a) 证明该分布族关于某个统计量是 MLR 族。 (b) 求该检验问题水平为 α 的 UMP 检验。 (c) 当 n=15,α=0.05 时,给出该 UMP 检验的具体拒绝域。
👉 点击查看参考答案
参考答案: (a) 样本联合密度为 f(x;λ)=λnexp{−λ∑i=1nxi}。这属于单参数指数族,令 θ=−λ,则 Q(θ)=θ,T(X)=∑i=1nXi。由于 Q(θ) 是 θ 的严格增函数,而 θ 是 λ 的严格减函数,因此该分布族关于 T(X) 是单调递减似然比族。 (b) 对于 H1:λ<2,由于是 MLR 递减族,UMP 检验应拒绝较大的 T(X)。检验形式为 ϕ(x)=I(∑xi>c)。常数 c 由 Pλ=2(∑i=1nXi>c)=α 确定。注意到 ∑i=1nXi∼Gamma(n,1/λ),即 2λ∑i=1nXi∼χ2(2n)。因此,c=2λ1χ1−α2(2n)=41χ1−α2(2n),其中 χ1−α2(2n) 是自由度为 2n 的卡方分布的 1−α 分位数。 (c) 当 n=15,α=0.05 时,自由度 2n=30,χ0.952(30)≈43.773。因此 c≈43.773/4=10.943。拒绝域为 {∑i=115xi>10.943}。
UMP 检验功效计算:对于上题中的指数分布检验问题,假设真实参数 λ=1.5。请编写 Python 代码,模拟计算当 n=15,α=0.05 时,该 UMP 检验的功效(即正确拒绝 H0 的概率)。
参考答案:
import numpy as np
import scipy.stats as stats
np.random.seed(123)
n = 15
alpha = 0.05
lambda0 = 2 # H0边界
lambda_true = 1.5
# 计算UMP检验的临界值c
df = 2 * n
c = stats.chi2.ppf(1 - alpha, df) / (2 * lambda0)
# 模拟计算功效
n_sim = 10000
reject_count = 0
for _ in range(n_sim):
sample = stats.expon.rvs(scale=1/lambda_true, size=n) # scale = 1/lambda
T = np.sum(sample)
if T > c:
reject_count += 1
power = reject_count / n_sim
print(f"模拟计算的UMP检验功效 (lambda={lambda_true}): {power:.4f}")
# 也可以解析计算(基于卡方分布)
# 在 lambda_true 下,2*lambda_true * T ~ Chi^2(2n)
power_analytic = 1 - stats.chi2.cdf(2 * lambda_true * c, df)
print(f"解析计算的UMP检验功效 (lambda={lambda_true}): {power_analytic:.4f}")
运行结果将显示模拟功效与解析计算的理论功效非常接近。
本章小结
本节我们深入探讨了假设检验理论中的一个核心概念——一致最优势检验 (UMP Test)。我们首先将其定义为在控制第一类错误的前提下,对备择假设空间中所有参数点都具有最大功效的检验,这是对简单假设下 MP 检验的自然推广。为了构造 UMP 检验,我们引入了单调似然比分布族 (MLR Family),这是一类广泛存在且性质良好的分布族。基于 MLR 族,我们得到了两个关键定理:
- 对于单边假设(如 H0:θ≤θ0 vs H1:θ>θ0),其 UMP 检验存在且形式简单,拒绝域基于充分统计量 T(X) 的尾部区域(T>c 或 T<c)。
- 对于特定形式的双边假设(H0:θ≤θ1 或 θ≥θ2 vs H1:θ1<θ<θ2),在单参数指数族下,其 UMP 检验也存在,拒绝域是 T(X) 的两侧尾部区域(T<c1 或 T>c2)。
📋 行动清单
- 概念辨析:清晰区分 MP 检验与 UMP 检验的适用场景(简单 vs 复合备择假设),理解“一致最优”中“一致”的含义是指对整个备择参数空间成立。
- 识别与构造:面对一个参数假设检验问题时,首先判断总体分布是否属于 MLR 族(特别是单参数指数族)。如果是单边假设,尝试套用本节定理构造其 UMP 检验。
- 代码验证:使用 Python 的
scipy.stats 模块,对你构造的 UMP 检验进行模拟。计算其在不同真实参数下的势函数,并与一个随意构造的、但水平相同的检验进行对比,直观感受 UMP 检验的优越性。
—— 小象教研组