基于秩检验的区间估计:理论、方法与实践
一、引言
在非参数统计中,秩检验(如Mann-Whitney U检验、Wilcoxon符号秩检验)常用于处理不满足正态分布假设的数据。然而,传统的秩检验主要关注假设检验,对参数估计(如置信区间)的支持相对较少。本文将系统介绍基于秩检验的区间估计方法,包括中位数置信区间、效应量置信区间的构建原理及案例分析。
二、理论基础
1. 中位数置信区间
对于单样本或配对样本数据,中位数的置信区间可通过顺序统计量构建。假设样本量为
n
n
n,按升序排列后为
X
(
1
)
≤
X
(
2
)
≤
⋯
≤
X
(
n
)
X_{(1)} \leq X_{(2)} \leq \dots \leq X_{(n)}
X(1)≤X(2)≤⋯≤X(n),则中位数的置信区间为:
C
I
1
−
α
=
[
X
(
k
)
,
X
(
n
−
k
+
1
)
]
CI_{1-\alpha} = [X_{(k)}, X_{(n-k+1)}]
CI1−α=[X(k),X(n−k+1)]其中
k
=
⌊
n
2
−
z
α
/
2
n
2
⌋
+
1
k = \lfloor \frac{n}{2} - \frac{z_{\alpha/2} \sqrt{n}}{2} \rfloor + 1
k=⌊2n−2zα/2n⌋+1,
z
α
/
2
z_{\alpha/2}
zα/2 为标准正态分布的分位数。
精确方法:基于二项分布计算覆盖概率:
P
(
X
(
k
)
≤
θ
≤
X
(
n
−
k
+
1
)
)
=
∑
i
=
k
n
−
k
+
1
(
n
i
)
(
1
2
)
n
P(X_{(k)} \leq \theta \leq X_{(n-k+1)}) = \sum_{i=k}^{n-k+1} \binom{n}{i} \left(\frac{1}{2}\right)^n
P(X(k)≤θ≤X(n−k+1))=i=k∑n−k+1(in)(21)n
2. 两样本效应量置信区间
对于Mann-Whitney U检验,效应量 P ( X > Y ) P(X > Y) P(X>Y) 的置信区间可通过以下步骤构建:
- 计算所有 n 1 × n 2 n_1 \times n_2 n1×n2 对 ( X i , Y j ) (X_i, Y_j) (Xi,Yj) 的差值 D i j = X i − Y j D_{ij} = X_i - Y_j Dij=Xi−Yj
- 对差值排序并取中间的 1 − α 1-\alpha 1−α 分位数
- 置信区间为 [ D ( k ) , D ( n 1 n 2 − k + 1 ) ] [D_{(k)}, D_{(n_1n_2 -k+1)}] [D(k),D(n1n2−k+1)],其中 k = ⌊ n 1 n 2 + 1 2 − z α / 2 n 1 n 2 ( n 1 + n 2 + 1 ) / 12 2 ⌋ k = \lfloor \frac{n_1n_2 +1}{2} - \frac{z_{\alpha/2} \sqrt{n_1n_2(n_1+n_2+1)/12}}{2} \rfloor k=⌊2n1n2+1−2zα/2n1n2(n1+n2+1)/12⌋
三、核心方法
1. 单样本中位数置信区间
公式推导:
- 设 X ( 1 ) ≤ X ( 2 ) ≤ ⋯ ≤ X ( n ) X_{(1)} \leq X_{(2)} \leq \dots \leq X_{(n)} X(1)≤X(2)≤⋯≤X(n)
- 置信水平为
1
−
α
1-\alpha
1−α 的区间为:
C I 1 − α = [ X ( k ) , X ( n − k + 1 ) ] CI_{1-\alpha} = [X_{(k)}, X_{(n-k+1)}] CI1−α=[X(k),X(n−k+1)] 其中 k k k 满足:
∑ i = k n − k + 1 ( n i ) ≥ 1 − α \sum_{i=k}^{n-k+1} \binom{n}{i} \geq 1-\alpha i=k∑n−k+1(in)≥1−α
2. 两样本位置偏移置信区间
基于Mann-Whitney U检验的位置偏移量 Δ = θ X − θ Y \Delta = \theta_X - \theta_Y Δ=θX−θY 的置信区间:
- 生成所有差值 D i j = X i − Y j D_{ij} = X_i - Y_j Dij=Xi−Yj
- 对差值排序得到 D ( 1 ) ≤ D ( 2 ) ≤ ⋯ ≤ D ( n 1 n 2 ) D_{(1)} \leq D_{(2)} \leq \dots \leq D_{(n_1n_2)} D(1)≤D(2)≤⋯≤D(n1n2)
- 置信区间为:
C I 1 − α = [ D ( k ) , D ( n 1 n 2 − k + 1 ) ] CI_{1-\alpha} = [D_{(k)}, D_{(n_1n_2 -k+1)}] CI1−α=[D(k),D(n1n2−k+1)] 其中 k = ⌊ n 1 n 2 + 1 2 − z α / 2 n 1 n 2 ( n 1 + n 2 + 1 ) / 12 2 ⌋ k = \lfloor \frac{n_1n_2 +1}{2} - \frac{z_{\alpha/2} \sqrt{n_1n_2(n_1+n_2+1)/12}}{2} \rfloor k=⌊2n1n2+1−2zα/2n1n2(n1+n2+1)/12⌋
四、案例分析
1. 单样本案例
数据:某药物对血压的影响(mmHg):
120
,
125
,
130
,
135
,
140
,
145
,
150
120, 125, 130, 135, 140, 145, 150
120,125,130,135,140,145,150计算步骤:
- 样本量 n = 7 n=7 n=7,中位数 M = 135 M=135 M=135
- 置信水平95%, z 0.025 = 1.96 z_{0.025}=1.96 z0.025=1.96
- 计算 k = ⌊ 7 2 − 1.96 7 2 ⌋ + 1 = 2 k = \lfloor \frac{7}{2} - \frac{1.96 \sqrt{7}}{2} \rfloor +1 = 2 k=⌊27−21.967⌋+1=2
- 置信区间为 [ X ( 2 ) , X ( 6 ) ] = [ 125 , 145 ] [X_{(2)}, X_{(6)}] = [125, 145] [X(2),X(6)]=[125,145]
Python实现:
import numpy as np
from scipy.stats import wilcoxon
data = [120, 125, 130, 135, 140, 145, 150]
n = len(data)
alpha = 0.05
k = int(np.floor((n - 1.96 * np.sqrt(n))/2)) + 1
ci = [np.sort(data)[k-1], np.sort(data)[n - k]]
print(f"95%置信区间: {ci}")
2. 两样本案例
数据:
- 组A:5, 7, 9, 11
- 组B:3, 4, 6, 8
计算步骤:
- 生成所有差值
D
i
j
D_{ij}
Dij:
[5-3,5-4,5-6,5-8,7-3,7-4,7-6,7-8,9-3,9-4,9-6,9-8,11-3,11-4,11-6,11-8] = [2,1,-1,-3,4,3,1,-1,6,5,3,1,8,7,5,3]
- 排序后差值: − 3 , − 1 , − 1 , 1 , 1 , 1 , 2 , 3 , 3 , 3 , 4 , 5 , 5 , 6 , 7 , 8 -3, -1, -1, 1, 1, 1, 2, 3, 3, 3, 4, 5, 5, 6, 7, 8 −3,−1,−1,1,1,1,2,3,3,3,4,5,5,6,7,8
- 计算 k = ⌊ 16 + 1 2 − 1.96 16 × 20 / 12 2 ⌋ = 5 k = \lfloor \frac{16 +1}{2} - \frac{1.96 \sqrt{16 \times 20/12}}{2} \rfloor = 5 k=⌊216+1−21.9616×20/12⌋=5
- 置信区间为 [ D ( 5 ) , D ( 12 ) ] = [ 1 , 5 ] [D_{(5)}, D_{(12)}] = [1, 5] [D(5),D(12)]=[1,5]
Python实现:
import numpy as np
from scipy.stats import mannwhitneyu
A = [5,7,9,11]
B = [3,4,6,8]
n1, n2 = len(A), len(B)
diff = np.array([a - b for a in A for b in B])
diff_sorted = np.sort(diff)
alpha = 0.05
z = 1.96
k = int(np.floor((n1*n2 +1)/2 - z * np.sqrt(n1*n2*(n1 + n2 +1)/12)/2))
ci = [diff_sorted[k-1], diff_sorted[-k]]
print(f"95%置信区间: {ci}")
五、方法比较
方法 | 适用场景 | 优点 | 缺点 |
---|---|---|---|
精确顺序统计量法 | 小样本单样本中位数 | 无需分布假设 | 计算复杂度高 |
正态近似法 | 大样本单样本中位数 | 计算简便 | 小样本偏差较大 |
分位数Bootstrap法 | 任意参数的置信区间 | 灵活高效 | 需大量计算资源 |
两样本差值排序法 | 位置偏移量估计 | 直接基于原始数据 | 样本量较大时内存消耗高 |
六、注意事项
- 打结处理:存在重复数据时需调整秩次计算
- 样本量要求:小样本建议使用精确方法,大样本可采用正态近似
- 解释原则:置信区间宽度反映估计精度,覆盖零值表示无显著差异
七、参考文献
- Hollander, M., & Wolfe, D. A. (1999). Nonparametric Statistical Methods. Wiley.
- Conover, W. J. (1999). Practical Nonparametric Statistics. Wiley.
- Lehmann, E. L. (1998). Nonparametrics: Statistical Methods Based on Ranks. Springer.
- Sprent, P., & Smeeton, N. C. (2007). Applied Nonparametric Statistical Methods. CRC Press.
八、总结
基于秩检验的区间估计为非参数分析提供了重要补充。通过顺序统计量、差值排序等方法,可有效构建中位数、位置偏移量等参数的置信区间。实际应用中需根据数据特点选择合适方法,并注意打结处理和样本量的影响。