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

一致最优势检验

约 23 分钟

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

一致最优势检验 (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:θθ0H_0: \theta \le \theta_0 vs H1:θ>θ0H_1: \theta > \theta_0 的单边假设检验问题,当总体属于 MLR 族时,如何构造其水平为 α\alpha 的 UMP 检验,并确定其拒绝域。
  • 双边假设的 UMP 检验:了解对于形如 H0:θθ1 或 θθ2H_0: \theta \le \theta_1 \text{ 或 } \theta \ge \theta_2 vs H1:θ1<θ<θ2H_1: \theta_1 < \theta < \theta_2 的双边假设检验问题,在单参数指数族下,UMP 检验的存在性及其构造形式。

一致最优势检验的定义

考虑一个一般的参数假设检验问题: H0:θΘ0vsH1:θΘ1H_0: \theta \in \Theta_0 \quad \text{vs} \quad H_1: \theta \in \Theta_1 其中 Θ0\Theta_0Θ1\Theta_1 是参数空间 Θ\Theta 的两个不相交子集,它们都可以是复合的。

ϕ1(X)\phi_1(\mathbf{X})ϕ2(X)\phi_2(\mathbf{X}) 是该检验问题的两个水平为 α\alpha 的检验函数,即满足: supθΘ0Eθ[ϕi(X)]α,i=1,2.\sup_{\theta \in \Theta_0} E_\theta[\phi_i(\mathbf{X})] \le \alpha, \quad i=1,2.

定义(一致优于):如果对于备择假设空间 Θ1\Theta_1 中的每一个参数 θ\theta,都有 βϕ1(θ)=Eθ[ϕ1(X)]Eθ[ϕ2(X)]=βϕ2(θ),\beta_{\phi_1}(\theta) = E_\theta[\phi_1(\mathbf{X})] \ge E_\theta[\phi_2(\mathbf{X})] = \beta_{\phi_2}(\theta), 则称检验 ϕ1\phi_1 一致地优于检验 ϕ2\phi_2

定义(一致最优势检验,UMP Test):如果一个水平为 α\alpha 的检验 ϕ\phi^,对于任何其他水平为 α\alpha 的检验 ϕ\phi,都满足 ϕ\phi^ 一致地优于 ϕ\phi,则称 ϕ\phi^* 是该假设检验问题的一个水平为 α\alpha 的一致最优势检验

核心思想:UMP 检验在严格控制第一类错误概率不超过 α\alpha 的前提下,使得在备择假设 Θ1\Theta_1所有可能参数值处的功效(即正确拒绝 H0H_0 的概率)都达到最大。MP 检验是 UMP 检验当 Θ1\Theta_1 只包含一个点(简单备择假设)时的特例。

单调似然比分布族 (MLR Family)

为了讨论单边和双边假设的 UMP 检验,我们需要引入一个重要的分布族概念。

定义(单调似然比分布族):设总体分布族为 {f(x;θ):θΘ}{f(x; \theta): \theta \in \Theta},其中 Θ\Theta 是直线上的一个区间。如果对于任意 θ1<θ2\theta_1 < \theta_2,似然比 f(x;θ2)f(x;θ1)\frac{f(\mathbf{x}; \theta_2)}{f(\mathbf{x}; \theta_1)} 都是某个统计量 T(x)T(\mathbf{x})非降函数,则称该分布族是关于 T(x)T(\mathbf{x})单调似然比分布族 (Monotone Likelihood Ratio Family)。如果是非增函数,则称为单调递减似然比族。

重要性:MLR 族广泛存在。单参数指数族是 MLR 族的一个重要子类。单参数指数族的密度/概率函数可写为: f(x;θ)=c(θ)h(x)exp{Q(θ)T(x)}.f(x; \theta) = c(\theta)h(x)\exp{Q(\theta)T(x)}. 如果 Q(θ)Q(\theta)θ\theta 的严格单调函数(通常假设严格递增),则该分布族是关于充分统计量 T(x)T(x) 的 MLR 族。

常见例子:正态分布 N(μ,σ2)N(\mu, \sigma^2)σ2\sigma^2 已知时关于 μ\mu)、指数分布 Exp(λ)Exp(\lambda)、泊松分布 Pois(λ)Pois(\lambda)、二项分布 B(n,p)B(n, p) 等,在适当的参数化下,都属于 MLR 族。

单边假设的 UMP 检验

考虑如下单边假设检验问题: H0:θθ0vsH1:θ>θ0.(5.3.7)H_0: \theta \le \theta_0 \quad \text{vs} \quad H_1: \theta > \theta_0. \tag{5.3.7}

定理(单边 UMP 检验):设总体分布族 {f(x;θ):θΘ}{f(x; \theta): \theta \in \Theta} 是关于统计量 T(X)T(\mathbf{X})非降 MLR 族。则对于假设检验问题 (5.3.7),存在一个水平为 α\alpha 的 UMP 检验,其检验函数具有如下形式: ϕ(x)={1,T(x)>c,δ,T(x)=c,0,T(x)<c,\phi(\mathbf{x}) = \begin{cases} 1, & T(\mathbf{x}) > c, \ \delta, & T(\mathbf{x}) = c, \ 0, & T(\mathbf{x}) < c, \end{cases} 其中常数 ccδ[0,1]\delta \in [0, 1] 由下列方程确定: Eθ0[ϕ(X)]=Pθ0(T(X)>c)+δPθ0(T(X)=c)=α.E_{\theta_0}[\phi(\mathbf{X})] = P_{\theta_0}(T(\mathbf{X}) > c) + \delta P_{\theta_0}(T(\mathbf{X}) = c) = \alpha. 并且,该 UMP 检验的势函数 β(θ)=Eθ[ϕ(X)]\beta(\theta) = E_\theta[\phi(\mathbf{X})]θ\theta 的非降函数,且在 {θ:0<β(θ)<1}{\theta: 0 < \beta(\theta) < 1} 上严格递增。

直观理解:由于分布族是 MLR 族,当备择假设 θ>θ0\theta > \theta_0 成立时,样本更倾向于产生较大的 T(X)T(\mathbf{X}) 值。因此,最优的拒绝域自然应取为 T(X)T(\mathbf{X}) 较大的区域,即 {T(X)>c}{T(\mathbf{X}) > c}。常数 ccδ\delta 的作用是精确控制第一类错误概率在边界点 θ0\theta_0 处等于 α\alpha。对于连续型分布,通常 Pθ0(T(X)=c)=0P_{\theta_0}(T(\mathbf{X}) = c) = 0,此时 δ\delta 可取任意值,检验退化为非随机化检验:ϕ(x)=I(T(x)>c)\phi(\mathbf{x}) = I(T(\mathbf{x}) > c)

例子(正态总体均值的单边检验):设 X1,,Xni.i.d.N(μ,1)X_1, \dots, X_n \stackrel{\text{i.i.d.}}{\sim} N(\mu, 1),考虑检验: H0:μ0vsH1:μ>0.H_0: \mu \le 0 \quad \text{vs} \quad H_1: \mu > 0. 样本联合密度为: f(x;μ)=(2π)n/2exp{12i=1n(xiμ)2}=(2π)n/2e12xi2exp{μnxˉnμ22}.f(\mathbf{x}; \mu) = (2\pi)^{-n/2} \exp\left{-\frac{1}{2}\sum_{i=1}^n (x_i - \mu)^2\right} = (2\pi)^{-n/2} e^{-\frac{1}{2}\sum x_i^2} \exp\left{\mu n\bar{x} - \frac{n\mu^2}{2}\right}. 这属于单参数指数族,Q(μ)=μQ(\mu) = \muμ\mu 的严格增函数,充分统计量 T(X)=nXˉT(\mathbf{X}) = n\bar{X}。因此,该分布族是关于 Xˉ\bar{X}(或 TT)的 MLR 族。 根据定理,其水平为 α\alpha 的 UMP 检验为: ϕ(x)=I(xˉ>c).\phi(\mathbf{x}) = I(\bar{x} > c). 为确定 cc,令在 H0H_0 边界 μ=0\mu=0 处犯第一类错误的概率为 α\alphaPμ=0(Xˉ>c)=α.P_{\mu=0}(\bar{X} > c) = \alpha. 由于 XˉN(0,1/n)\bar{X} \sim N(0, 1/n),故 Pμ=0(Xˉ>c)=1Φ(nc)=αP_{\mu=0}(\bar{X} > c) = 1 - \Phi(\sqrt{n}c) = \alpha,解得 c=z1αnc = \frac{z_{1-\alpha}}{\sqrt{n}},其中 z1αz_{1-\alpha} 是标准正态分布的 1α1-\alpha 分位数。 因此,UMP 检验的拒绝域为:xˉ>z1αn\bar{x} > \frac{z_{1-\alpha}}{\sqrt{n}}

我们可以用模拟来验证该检验的功效确实优于其他水平为 α\alpha 的检验(例如一个基于错误统计量构造的检验)。

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'<span class="katex"><span class="katex-mathml"><math xmlns="http://www.w3.org/1998/Math/MathML"><semantics><mrow><msub><mi>H</mi><mn>0</mn></msub></mrow><annotation encoding="application/x-tex">H_0</annotation></semantics></math></span><span class="katex-html" aria-hidden="true"><span class="katex-base"><span class="katex-strut" style="height:0.8333em;vertical-align:-0.15em;"></span><span class="mord"><span class="mord mathnormal" style="margin-right:0.0813em;">H</span><span class="msupsub"><span class="vlist-t vlist-t2"><span class="vlist-r"><span class="vlist" style="height:0.3011em;"><span style="top:-2.55em;margin-left:-0.0813em;margin-right:0.05em;"><span class="pstrut" style="height:2.7em;"></span><span class="katex-sizing reset-size6 size3 mtight"><span class="mord mtight">0</span></span></span></span><span class="vlist-s">​</span></span><span class="vlist-r"><span class="vlist" style="height:0.15em;"><span></span></span></span></span></span></span></span></span></span>边界 <span class="katex"><span class="katex-mathml"><math xmlns="http://www.w3.org/1998/Math/MathML"><semantics><mrow><mspace linebreak="newline"></mspace><mi>m</mi><mi>u</mi><mo>=</mo><mrow><mi>m</mi><mi>u</mi><mn>0</mn></mrow></mrow><annotation encoding="application/x-tex">\\mu={mu0}</annotation></semantics></math></span><span class="katex-html" aria-hidden="true"><span class="mspace katex-newline"></span><span class="katex-base"><span class="katex-strut" style="height:0.4306em;"></span><span class="mord mathnormal">m</span><span class="mord mathnormal">u</span><span class="mspace" style="margin-right:0.2778em;"></span><span class="mrel">=</span><span class="mspace" style="margin-right:0.2778em;"></span></span><span class="katex-base"><span class="katex-strut" style="height:0.6444em;"></span><span class="mord"><span class="mord mathnormal">m</span><span class="mord mathnormal">u</span><span class="mord">0</span></span></span></span></span>')
plt.axhline(y=alpha, color='gray', linestyle='--', label=f'显著性水平 <span class="katex"><span class="katex-mathml"><math xmlns="http://www.w3.org/1998/Math/MathML"><semantics><mrow><mspace linebreak="newline"></mspace><mi>a</mi><mi>l</mi><mi>p</mi><mi>h</mi><mi>a</mi><mo>=</mo><mrow><mi>a</mi><mi>l</mi><mi>p</mi><mi>h</mi><mi>a</mi></mrow></mrow><annotation encoding="application/x-tex">\\alpha={alpha}</annotation></semantics></math></span><span class="katex-html" aria-hidden="true"><span class="mspace katex-newline"></span><span class="katex-base"><span class="katex-strut" style="height:0.8889em;vertical-align:-0.1944em;"></span><span class="mord mathnormal">a</span><span class="mord mathnormal" style="margin-right:0.0197em;">l</span><span class="mord mathnormal">p</span><span class="mord mathnormal">ha</span><span class="mspace" style="margin-right:0.2778em;"></span><span class="mrel">=</span><span class="mspace" style="margin-right:0.2778em;"></span></span><span class="katex-base"><span class="katex-strut" style="height:0.8889em;vertical-align:-0.1944em;"></span><span class="mord"><span class="mord mathnormal">a</span><span class="mord mathnormal" style="margin-right:0.0197em;">l</span><span class="mord mathnormal">p</span><span class="mord mathnormal">ha</span></span></span></span></span>')
plt.xlabel('真实均值 <span class="katex"><span class="katex-mathml"><math xmlns="http://www.w3.org/1998/Math/MathML"><semantics><mrow><mspace linebreak="newline"></mspace><mi>m</mi><mi>u</mi></mrow><annotation encoding="application/x-tex">\\mu</annotation></semantics></math></span><span class="katex-html" aria-hidden="true"><span class="mspace katex-newline"></span><span class="katex-base"><span class="katex-strut" style="height:0.4306em;"></span><span class="mord mathnormal">m</span><span class="mord mathnormal">u</span></span></span></span>', fontsize=12)
plt.ylabel('势函数 <span class="katex"><span class="katex-mathml"><math xmlns="http://www.w3.org/1998/Math/MathML"><semantics><mrow><mspace linebreak="newline"></mspace><mi>b</mi><mi>e</mi><mi>t</mi><mi>a</mi><mo stretchy="false">(</mo><mspace linebreak="newline"></mspace><mi>m</mi><mi>u</mi><mo stretchy="false">)</mo></mrow><annotation encoding="application/x-tex">\\beta(\\mu)</annotation></semantics></math></span><span class="katex-html" aria-hidden="true"><span class="mspace katex-newline"></span><span class="katex-base"><span class="katex-strut" style="height:1em;vertical-align:-0.25em;"></span><span class="mord mathnormal">b</span><span class="mord mathnormal">e</span><span class="mord mathnormal">t</span><span class="mord mathnormal">a</span><span class="mopen">(</span></span><span class="mspace katex-newline"></span><span class="katex-base"><span class="katex-strut" style="height:1em;vertical-align:-0.25em;"></span><span class="mord mathnormal">m</span><span class="mord mathnormal">u</span><span class="mclose">)</span></span></span></span>', fontsize=12)
plt.title(f'单边检验 <span class="katex"><span class="katex-mathml"><math xmlns="http://www.w3.org/1998/Math/MathML"><semantics><mrow><msub><mi>H</mi><mn>0</mn></msub><mo>:</mo><mspace linebreak="newline"></mspace><mi>m</mi><mi>u</mi><mspace linebreak="newline"></mspace><mi>l</mi><mi>e</mi><mrow><mi>m</mi><mi>u</mi><mn>0</mn></mrow></mrow><annotation encoding="application/x-tex">H_0: \\mu \\le {mu0}</annotation></semantics></math></span><span class="katex-html" aria-hidden="true"><span class="katex-base"><span class="katex-strut" style="height:0.8333em;vertical-align:-0.15em;"></span><span class="mord"><span class="mord mathnormal" style="margin-right:0.0813em;">H</span><span class="msupsub"><span class="vlist-t vlist-t2"><span class="vlist-r"><span class="vlist" style="height:0.3011em;"><span style="top:-2.55em;margin-left:-0.0813em;margin-right:0.05em;"><span class="pstrut" style="height:2.7em;"></span><span class="katex-sizing reset-size6 size3 mtight"><span class="mord mtight">0</span></span></span></span><span class="vlist-s">​</span></span><span class="vlist-r"><span class="vlist" style="height:0.15em;"><span></span></span></span></span></span></span><span class="mspace" style="margin-right:0.2778em;"></span><span class="mrel">:</span></span><span class="mspace katex-newline"></span><span class="katex-base"><span class="katex-strut" style="height:0.4306em;"></span><span class="mord mathnormal">m</span><span class="mord mathnormal">u</span></span><span class="mspace katex-newline"></span><span class="katex-base"><span class="katex-strut" style="height:0.6944em;"></span><span class="mord mathnormal" style="margin-right:0.0197em;">l</span><span class="mord mathnormal">e</span><span class="mord"><span class="mord mathnormal">m</span><span class="mord mathnormal">u</span><span class="mord">0</span></span></span></span></span> vs <span class="katex"><span class="katex-mathml"><math xmlns="http://www.w3.org/1998/Math/MathML"><semantics><mrow><msub><mi>H</mi><mn>1</mn></msub><mo>:</mo><mspace linebreak="newline"></mspace><mi>m</mi><mi>u</mi><mo>&gt;</mo><mrow><mi>m</mi><mi>u</mi><mn>0</mn></mrow></mrow><annotation encoding="application/x-tex">H_1: \\mu &gt; {mu0}</annotation></semantics></math></span><span class="katex-html" aria-hidden="true"><span class="katex-base"><span class="katex-strut" style="height:0.8333em;vertical-align:-0.15em;"></span><span class="mord"><span class="mord mathnormal" style="margin-right:0.0813em;">H</span><span class="msupsub"><span class="vlist-t vlist-t2"><span class="vlist-r"><span class="vlist" style="height:0.3011em;"><span style="top:-2.55em;margin-left:-0.0813em;margin-right:0.05em;"><span class="pstrut" style="height:2.7em;"></span><span class="katex-sizing reset-size6 size3 mtight"><span class="mord mtight">1</span></span></span></span><span class="vlist-s">​</span></span><span class="vlist-r"><span class="vlist" style="height:0.15em;"><span></span></span></span></span></span></span><span class="mspace" style="margin-right:0.2778em;"></span><span class="mrel">:</span></span><span class="mspace katex-newline"></span><span class="katex-base"><span class="katex-strut" style="height:0.5782em;vertical-align:-0.0391em;"></span><span class="mord mathnormal">m</span><span class="mord mathnormal">u</span><span class="mspace" style="margin-right:0.2778em;"></span><span class="mrel">&gt;</span><span class="mspace" style="margin-right:0.2778em;"></span></span><span class="katex-base"><span class="katex-strut" style="height:0.6444em;"></span><span class="mord"><span class="mord mathnormal">m</span><span class="mord mathnormal">u</span><span class="mord">0</span></span></span></span></span> 的势函数比较 (n={n})', fontsize=14)
plt.legend()
plt.grid(True, alpha=0.3)
plt.show()

运行上述代码,你将看到基于样本均值的 UMP 检验的势函数曲线(蓝色实线)在整个备择假设区域 (μ>0\mu > 0) 上都位于基于中位数的检验的势函数曲线(红色虚线)之上,这直观地验证了 UMP 检验的“一致最优”性。在原假设区域 (μ0\mu \le 0),两者的势函数都保持在 α\alpha 以下。

对于另一个方向的单边检验 H0:θθ0H_0: \theta \ge \theta_0 vs H1:θ<θ0H_1: \theta < \theta_0,其 UMP 检验的形式类似,但拒绝域为 T(x)<cT(\mathbf{x}) < c

双边假设的 UMP 检验

考虑如下双边假设检验问题: H0:θθ1 或 θθ2vsH1:θ1<θ<θ2,(θ1<θ2).(5.3.8)H_0: \theta \le \theta_1 \text{ 或 } \theta \ge \theta_2 \quad \text{vs} \quad H_1: \theta_1 < \theta < \theta_2, \quad (\theta_1 < \theta_2). \tag{5.3.8}

定理(双边 UMP 检验):设 X1,,Xni.i.d.f(x;θ)X_1, \dots, X_n \stackrel{\text{i.i.d.}}{\sim} f(x;\theta),其中 f(x;θ)f(x;\theta) 属于单参数指数族: f(x;θ)=c(θ)h(x)exp{θT(x)},f(x;\theta) = c(\theta)h(x)\exp{\theta T(x)},θ\theta 为自然参数。则对于假设检验问题 (5.3.8),存在一个水平为 α\alpha 的 UMP 检验,其检验函数具有如下形式: ϕ(x)={1,T(x)<c1 或 T(x)>c2,δi,T(x)=ci,i=1,2,0,c1<T(x)<c2,\phi(\mathbf{x}) = \begin{cases} 1, & T(\mathbf{x}) < c_1 \text{ 或 } T(\mathbf{x}) > c_2, \ \delta_i, & T(\mathbf{x}) = c_i, \quad i=1,2, \ 0, & c_1 < T(\mathbf{x}) < c_2, \end{cases} 其中常数 c1<c2c_1 < c_2δ1,δ2[0,1]\delta_1, \delta_2 \in [0,1] 由下列方程组确定: Eθ1[ϕ(X)]=α,Eθ2[ϕ(X)]=α.\begin{aligned} E_{\theta_1}[\phi(\mathbf{X})] &= \alpha, \ E_{\theta_2}[\phi(\mathbf{X})] &= \alpha. \end{aligned}

直观理解:对于形如 (5.3.8) 的双边假设,备择假设对应参数的一个中间区间。在单参数指数族(θ\theta 为自然参数)下,其充分统计量 T(X)T(\mathbf{X}) 的分布在 θ\theta 取中间值时,会倾向于集中在某个中间范围;而当 θ\theta 取两端值 (θ1\theta_1θ2\theta_2) 时,T(X)T(\mathbf{X}) 的分布会偏向两边。因此,最优的拒绝域是 T(X)T(\mathbf{X}) 取值过小或过大的区域,即 {T(X)<c1}{T(X)>c2}{T(\mathbf{X}) < c_1} \cup {T(\mathbf{X}) > c_2}。常数 c1,c2,δ1,δ2c_1, c_2, \delta_1, \delta_2 通过要求在两个边界点 θ1\theta_1θ2\theta_2 处的第一类错误概率都恰好为 α\alpha 来确定。

例子(正态总体均值的双边检验):设 X1,,Xni.i.d.N(μ,1)X_1, \dots, X_n \stackrel{\text{i.i.d.}}{\sim} N(\mu, 1),考虑检验: H0:μ1 或 μ1vsH1:1<μ<1.H_0: \mu \le -1 \text{ 或 } \mu \ge 1 \quad \text{vs} \quad H_1: -1 < \mu < 1. 样本联合密度可写为指数族形式,自然参数 θ=μ\theta = \mu,充分统计量 T(X)=i=1nXi=nXˉT(\mathbf{X}) = \sum_{i=1}^n X_i = n\bar{X}。 根据定理,其水平为 α\alpha 的 UMP 检验形式为: ϕ(x)={1,xˉ<c1 或 xˉ>c2,0,c1xˉc2.\phi(\mathbf{x}) = \begin{cases} 1, & \bar{x} < c_1 \text{ 或 } \bar{x} > c_2, \ 0, & c_1 \le \bar{x} \le c_2. \end{cases} (对于连续分布,T(X)T(\mathbf{X}) 取特定值的概率为0,故随机化部分 δi\delta_i 可忽略)。 常数 c1,c2c_1, c_2 满足: Pμ=1(Xˉ<c1 或 Xˉ>c2)=α,Pμ=1(Xˉ<c1 或 Xˉ>c2)=α.\begin{aligned} P_{\mu=-1}(\bar{X} < c_1 \text{ 或 } \bar{X} > c_2) &= \alpha, \ P_{\mu=1}(\bar{X} < c_1 \text{ 或 } \bar{X} > c_2) &= \alpha. \end{aligned} 由于正态分布的对称性,通常可以解得 c1=c2c_1 = -c_2。具体求解需要解上述方程组,可能涉及数值计算。

📝 动手练一练

  1. 单边 UMP 检验构造:设 X1,,XnX_1, \dots, X_n 是来自指数分布 Exp(λ)Exp(\lambda) 的 i.i.d. 样本,其密度为 f(x;λ)=λeλxI(x>0)f(x;\lambda) = \lambda e^{-\lambda x}I(x>0)。考虑假设检验问题: H0:λ2vsH1:λ<2.H_0: \lambda \ge 2 \quad \text{vs} \quad H_1: \lambda < 2. (a) 证明该分布族关于某个统计量是 MLR 族。 (b) 求该检验问题水平为 α\alpha 的 UMP 检验。 (c) 当 n=15,α=0.05n=15, \alpha=0.05 时,给出该 UMP 检验的具体拒绝域。

    参考答案: (a) 样本联合密度为 f(x;λ)=λnexp{λi=1nxi}f(\mathbf{x};\lambda) = \lambda^n \exp{-\lambda \sum_{i=1}^n x_i}。这属于单参数指数族,令 θ=λ\theta = -\lambda,则 Q(θ)=θQ(\theta) = \thetaT(X)=i=1nXiT(\mathbf{X}) = \sum_{i=1}^n X_i。由于 Q(θ)Q(\theta)θ\theta 的严格增函数,而 θ\thetaλ\lambda 的严格减函数,因此该分布族关于 T(X)T(\mathbf{X}) 是单调递减似然比族。 (b) 对于 H1:λ<2H_1: \lambda < 2,由于是 MLR 递减族,UMP 检验应拒绝较大的 T(X)T(\mathbf{X})。检验形式为 ϕ(x)=I(xi>c)\phi(\mathbf{x}) = I(\sum x_i > c)。常数 ccPλ=2(i=1nXi>c)=αP_{\lambda=2}(\sum_{i=1}^n X_i > c) = \alpha 确定。注意到 i=1nXiGamma(n,1/λ)\sum_{i=1}^n X_i \sim Gamma(n, 1/\lambda),即 2λi=1nXiχ2(2n)2\lambda \sum_{i=1}^n X_i \sim \chi^2(2n)。因此,c=12λχ1α2(2n)=14χ1α2(2n)c = \frac{1}{2\lambda} \chi^2_{1-\alpha}(2n) = \frac{1}{4} \chi^2_{1-\alpha}(2n),其中 χ1α2(2n)\chi^2_{1-\alpha}(2n) 是自由度为 2n2n 的卡方分布的 1α1-\alpha 分位数。 (c) 当 n=15,α=0.05n=15, \alpha=0.05 时,自由度 2n=302n=30χ0.952(30)43.773\chi^2_{0.95}(30) \approx 43.773。因此 c43.773/4=10.943c \approx 43.773 / 4 = 10.943。拒绝域为 {i=115xi>10.943}{\sum_{i=1}^{15} x_i > 10.943}

  2. UMP 检验功效计算:对于上题中的指数分布检验问题,假设真实参数 λ=1.5\lambda = 1.5。请编写 Python 代码,模拟计算当 n=15,α=0.05n=15, \alpha=0.05 时,该 UMP 检验的功效(即正确拒绝 H0H_0 的概率)。

    参考答案

    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 族,我们得到了两个关键定理:

  1. 对于单边假设(如 H0:θθ0H_0: \theta \le \theta_0 vs H1:θ>θ0H_1: \theta > \theta_0),其 UMP 检验存在且形式简单,拒绝域基于充分统计量 T(X)T(\mathbf{X}) 的尾部区域(T>cT > cT<cT < c)。
  2. 对于特定形式的双边假设H0:θθ1 或 θθ2H_0: \theta \le \theta_1 \text{ 或 } \theta \ge \theta_2 vs H1:θ1<θ<θ2H_1: \theta_1 < \theta < \theta_2),在单参数指数族下,其 UMP 检验也存在,拒绝域是 T(X)T(\mathbf{X}) 的两侧尾部区域(T<c1T < c_1T>c2T > c_2)。

行动清单

  1. 概念辨析:清晰区分 MP 检验与 UMP 检验的适用场景(简单 vs 复合备择假设),理解“一致最优”中“一致”的含义是指对整个备择参数空间成立。
  2. 识别与构造:面对一个参数假设检验问题时,首先判断总体分布是否属于 MLR 族(特别是单参数指数族)。如果是单边假设,尝试套用本节定理构造其 UMP 检验。
  3. 代码验证:使用 Python 的 scipy.stats 模块,对你构造的 UMP 检验进行模拟。计算其在不同真实参数下的势函数,并与一个随意构造的、但水平相同的检验进行对比,直观感受 UMP 检验的优越性。

— 小象教研组

配套学习资源与课件
  • 第4章课件:假设检验(PDF · 7.6MB)
    下载
🎁 免费学习资源

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

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

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