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

次序统计量

约 47 分钟

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

次序统计量

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

在上一节,我们学习了统计量的基本概念和常见的抽样分布。本节我们将聚焦于一类特殊的统计量——次序统计量。它通过对样本进行排序得到,是描述数据位置特征(如中位数、分位数)的基础。学习本节后,你将能够推导次序统计量的精确分布,理解样本中位数和分位数的定义与性质,并掌握使用箱线图进行探索性数据分析的方法。

💡 核心导读

  • 次序统计量的定义:从样本排序中产生的统计量,如最小值、最大值、中位数。
  • 核心定理:第 kk 个次序统计量的精确概率密度函数公式及其推导思路。
  • 应用实例:均匀分布样本的次序统计量服从 Beta 分布,并计算其期望。
  • 稳健估计:样本中位数作为总体均值估计的稳健性及其与样本均值的对比。
  • 数据探索工具:五数概括与箱线图,用于直观展示数据分布特征。

次序统计量的定义与核心定理

X1,X2,,XnX_1, X_2, \ldots, X_n 是来自总体 XX 的简单随机样本(独立同分布)。将样本观测值按从小到大的顺序排列: X(1)X(2)X(n)X_{(1)} \le X_{(2)} \le \cdots \le X_{(n)} 则称 X(k)X_{(k)} 为第 kk次序统计量。特别地,X(1)X_{(1)} 称为最小次序统计量X(n)X_{(n)} 称为最大次序统计量

理解次序统计量的关键在于把握样本的“两重性”:在抽样前,X(k)X_{(k)} 是一个随机变量;在获得具体观测值后,X(k)X_{(k)} 是一个具体的数值。

既然次序统计量是随机变量,那么它就有自己的概率分布。下面的定理给出了第 kk 个次序统计量分布的精确表达式。

定理(次序统计量的分布):设总体 XX 的分布函数为 F(x)F(x),概率密度函数为 f(x)f(x)X1,X2,,XnX_1, X_2, \ldots, X_n 为来自该总体的简单随机样本,则第 kk 个次序统计量 X(k)X_{(k)} 的概率密度函数为: fX(k)(x)=n!(k1)!(nk)![F(x)]k1[1F(x)]nkf(x)f_{X_{(k)}}(x) = \frac{n!}{(k-1)!(n-k)!} [F(x)]^{k-1} [1-F(x)]^{n-k} f(x) 其中 k=1,2,,nk = 1, 2, \ldots, n

定理的证明与特例

我们采用一种直观的“区间划分”方法来推导上述公式。考虑事件 {x<X(k)x+Δx}{ x < X_{(k)} \le x + \Delta x },其中 Δx\Delta x 是一个很小的正数。当 Δx0\Delta x \to 0 时,为了使第 kk 个次序统计量落在这个小区间内,样本的 nn 个观测值必须满足以下模式:

  • 恰好有 k1k-1 个观测值落在区间 (,x](-\infty, x] 内。
  • 恰好有 11 个观测值落在区间 (x,x+Δx](x, x+\Delta x] 内。
  • 恰好有 nkn-k 个观测值落在区间 (x+Δx,+)(x+\Delta x, +\infty) 内。

由于样本独立同分布,每个观测值落在上述三个区间的概率分别为 F(x)F(x)F(x+Δx)F(x)F(x+\Delta x)-F(x)1F(x+Δx)1-F(x+\Delta x)。同时,将 nn 个观测值分配到这三个区间的不同方式数是一个多项系数: n!(k1)!1!(nk)!=n!(k1)!(nk)!\frac{n!}{(k-1)!,1!,(n-k)!} = \frac{n!}{(k-1)!(n-k)!}

因此,事件 {x<X(k)x+Δx}{ x < X_{(k)} \le x + \Delta x } 的概率近似为: P(x<X(k)x+Δx)n!(k1)!(nk)![F(x)]k1[F(x+Δx)F(x)][1F(x+Δx)]nkP(x < X_{(k)} \le x + \Delta x) \approx \frac{n!}{(k-1)!(n-k)!} [F(x)]^{k-1} [F(x+\Delta x)-F(x)] [1-F(x+\Delta x)]^{n-k}

根据概率密度函数的定义: fX(k)(x)=limΔx0P(x<X(k)x+Δx)Δxf_{X_{(k)}}(x) = \lim_{\Delta x \to 0} \frac{P(x < X_{(k)} \le x + \Delta x)}{\Delta x}

将近似表达式代入,并取极限 Δx0\Delta x \to 0,注意到 [F(x+Δx)F(x)]/Δxf(x)[F(x+\Delta x)-F(x)]/\Delta x \to f(x),且 1F(x+Δx)1F(x)1-F(x+\Delta x) \to 1-F(x),我们便得到了定理中的密度函数公式。

特例验证

  1. 最小次序统计量 (k=1k=1)fX(1)(x)=n!0!(n1)![F(x)]0[1F(x)]n1f(x)=n[1F(x)]n1f(x)f_{X_{(1)}}(x) = \frac{n!}{0!(n-1)!} [F(x)]^{0} [1-F(x)]^{n-1} f(x) = n [1-F(x)]^{n-1} f(x) 其分布函数为 FX(1)(x)=1[1F(x)]nF_{X_{(1)}}(x) = 1 - [1-F(x)]^n
  2. 最大次序统计量 (k=nk=n)fX(n)(x)=n!(n1)!0![F(x)]n1[1F(x)]0f(x)=n[F(x)]n1f(x)f_{X_{(n)}}(x) = \frac{n!}{(n-1)!0!} [F(x)]^{n-1} [1-F(x)]^{0} f(x) = n [F(x)]^{n-1} f(x) 其分布函数为 FX(n)(x)=[F(x)]nF_{X_{(n)}}(x) = [F(x)]^n

这两个特例的结果与我们在概率论中独立推导的结论完全一致。

应用示例:均匀分布次序统计量的期望

例题:设 X1,X2,,XnX_1, X_2, \ldots, X_n 是来自区间 [0,1][0, 1] 上均匀分布 U(0,1)U(0,1) 的简单随机样本。求第 kk 个次序统计量 X(k)X_{(k)} 的期望 E[X(k)]E[X_{(k)}]

:均匀分布 U(0,1)U(0,1) 的分布函数和密度函数为: F(x)=x,f(x)=1,0x1F(x) = x, \quad f(x) = 1, \quad 0 \le x \le 1

代入次序统计量的密度公式,得到 X(k)X_{(k)} 的密度函数为: fX(k)(x)=n!(k1)!(nk)!xk1(1x)nk1,0x1f_{X_{(k)}}(x) = \frac{n!}{(k-1)!(n-k)!} x^{k-1} (1-x)^{n-k} \cdot 1, \quad 0 \le x \le 1

熟悉分布族的同学会认出,这正是 Beta 分布 Beta(α,β)Beta(\alpha, \beta) 的密度函数形式,其中形状参数 α=k\alpha = kβ=nk+1\beta = n-k+1。即: X(k)Beta(k,nk+1)X_{(k)} \sim Beta(k, n-k+1)

Beta 分布的期望公式为 E[X]=αα+βE[X] = \frac{\alpha}{\alpha + \beta}。因此, E[X(k)]=kk+(nk+1)=kn+1E[X_{(k)}] = \frac{k}{k + (n-k+1)} = \frac{k}{n+1}

我们也可以通过期望的定义直接计算积分来验证: E[X(k)]=01xfX(k)(x)dx=n!(k1)!(nk)!01xk(1x)nkdxE[X_{(k)}] = \int_0^1 x \cdot f_{X_{(k)}}(x) dx = \frac{n!}{(k-1)!(n-k)!} \int_0^1 x^{k} (1-x)^{n-k} dx 利用 Beta 函数 B(a,b)=01xa1(1x)b1dx=Γ(a)Γ(b)Γ(a+b)B(a, b) = \int_0^1 x^{a-1}(1-x)^{b-1} dx = \frac{\Gamma(a)\Gamma(b)}{\Gamma(a+b)} 的性质,上式积分等于 B(k+1,nk+1)=k!(nk)!(n+1)!B(k+1, n-k+1) = \frac{k!(n-k)!}{(n+1)!}。代入化简后,同样得到 E[X(k)]=k/(n+1)E[X_{(k)}] = k/(n+1)

这个结果非常直观:在 nn 个来自 [0,1][0,1] 均匀分布的样本中,第 kk 个小的值的期望位置就在区间 (k/(n+1))(k/(n+1)) 处。

样本中位数、分位数及其稳健性

次序统计量最重要的应用之一是定义样本的位置特征统计量。

样本中位数

将样本 X1,,XnX_1, \ldots, X_n 排序后得到次序统计量 X(1)X(n)X_{(1)} \le \cdots \le X_{(n)}。样本中位数 mm 定义为: m={X(n+12),若 n 为奇数12(X(n2)+X(n2+1)),若 n 为偶数m = \begin{cases} X_{(\frac{n+1}{2})}, & \text{若 } n \text{ 为奇数} \[6pt] \dfrac{1}{2} \left( X_{(\frac{n}{2})} + X_{(\frac{n}{2}+1)} \right), & \text{若 } n \text{ 为偶数} \end{cases}

样本 pp 分位数 (0<p<10<p<1)

样本 pp 分位数 mpm_p 是总体 pp 分位数的一个估计,定义如下:

  • npnp 不是整数,则 mp=X([np]+1)m_p = X_{([np]+1)},其中 [np][np] 表示 npnp 的整数部分。
  • npnp 是整数,则 mp=12(X(np)+X(np+1))m_p = \frac{1}{2}(X_{(np)} + X_{(np+1)})

p=0.5p=0.5 时,样本 pp 分位数即为样本中位数。

中位数的稳健性

样本均值 Xˉ=1ni=1nXi\bar{X} = \frac{1}{n}\sum_{i=1}^n X_i 是总体均值 μ\mu 最常用的估计量。然而,它对异常值(Outliers)非常敏感。

例子:考虑一个班级50名毕业生的资产状况。假设49人资产为100万,1人(如某位企业家)资产为2000亿。则样本均值为: Xˉ2000亿50=40亿\bar{X} \approx \frac{2000 \text{亿}}{50} = 40 \text{亿} 这个“40亿”完全不能代表绝大多数(98%)同学的真实资产水平,它被极端值“拉高”了。此时,样本中位数约为100万,更能反映“典型”同学的资产状况。

稳健性指的是估计量的值受数据中少量异常值或微小数据扰动影响的程度。样本中位数具有很高的稳健性,而样本均值则非常不稳健。在收入、财富、岩石抗压强度等可能包含极端值的实际数据分析中,中位数常是更可靠的“中心位置”度量。

五数概括与箱线图

在探索性数据分析中,我们常用五个次序统计量来概括数据的基本特征,称为五数概括

  1. 最小值:X(1)X_{(1)}
  2. 下四分位数 (Q1Q_1):p=0.25p=0.25 的样本分位数
  3. 中位数 (Q2Q_2mm):p=0.5p=0.5 的样本分位数
  4. 上四分位数 (Q3Q_3):p=0.75p=0.75 的样本分位数
  5. 最大值:X(n)X_{(n)}

箱线图是五数概括的图形化表示,能直观展示数据的中心、展布、偏态及异常值。

  • 箱体:从 Q1Q_1Q3Q_3,包含了中间50%的数据。
  • 箱体内的线:标记中位数 Q2Q_2 的位置。
  • 触须(Whisker):通常从箱体延伸至 min{X(n),Q3+1.5×IQR}\min{X_{(n)}, Q_3 + 1.5 \times IQR}max{X(1),Q11.5×IQR}\max{X_{(1)}, Q_1 - 1.5 \times IQR},其中 IQR=Q3Q1IQR = Q_3 - Q_1 为四分位距。
  • 异常值点:落在触须范围之外的样本点,通常单独标记。

箱线图特别适用于比较多个数据集分布特征的差异。

import numpy as np
import matplotlib.pyplot as plt
from scipy import stats

# 设置随机种子保证结果可复现
np.random.seed(42)

# 示例1:模拟均匀分布次序统计量的期望
n = 10
k = 3
# 理论期望
theory_expectation = k / (n + 1)
print(f"理论期望 E[X_({k})] = {theory_expectation:.4f}")

# 通过模拟验证
num_simulations = 10000
samples = np.random.uniform(0, 1, size=(num_simulations, n))
order_stats = np.sort(samples, axis=1)  # 对每行(每次实验)排序
simulated_kth = order_stats[:, k-1]  # 第k个次序统计量,索引为k-1
simulated_expectation = simulated_kth.mean()
print(f"模拟期望 E[X_({k})] ≈ {simulated_expectation:.4f}")
print(f"绝对误差: {abs(theory_expectation - simulated_expectation):.6f}")

# 示例2:比较均值和中位数的稳健性
# 生成一组“干净”的抗压强度数据 (单位: MPa)
clean_data = np.array([4.7, 5.4, 6.0, 6.5, 7.3, 7.7, 8.2, 9.0, 10.1, 11.2])
# 制造一个“录入错误”,将11.2录成17.2
contaminated_data = clean_data.copy()
contaminated_data[-1] = 17.2

print("\n--- 稳健性比较 ---")
print(f"干净数据 - 均值: {clean_data.mean():.2f}, 中位数: {np.median(clean_data):.2f}")
print(f"污染数据 - 均值: {contaminated_data.mean():.2f}, 中位数: {np.median(contaminated_data):.2f}")
print(f"均值变化: {contaminated_data.mean() - clean_data.mean():.2f}")
print(f"中位数变化: {np.median(contaminated_data) - np.median(clean_data):.2f}")

# 示例3:绘制箱线图比较两个班级成绩
plt.figure(figsize=(8, 5))
# 生成两个班级的成绩数据,班级2整体水平稍高,但都有异常值
class1_scores = np.random.normal(loc=70, scale=10, size=50)
class1_scores = np.append(class1_scores, [30, 95])  # 加入两个极端值
class2_scores = np.random.normal(loc=75, scale=8, size=50)
class2_scores = np.append(class2_scores, [40, 100])

data_to_plot = [class1_scores, class2_scores]
labels = ['班级 A', '班级 B']

plt.boxplot(data_to_plot, tick_labels=labels, patch_artist=True,
            boxprops=dict(facecolor='lightblue'),
            medianprops=dict(color='red', linewidth=2))
plt.title('两个班级期末考试成绩分布比较')
plt.ylabel('分数')
plt.grid(axis='y', linestyle='--', alpha=0.7)
plt.tight_layout()
plt.show()

📝 动手练一练

  1. 次序统计量分布计算:设总体 XX 服从参数为 λ=2\lambda=2 的指数分布,其分布函数为 F(x)=1e2x,x>0F(x) = 1 - e^{-2x}, x>0。现抽取样本容量 n=5n=5 的简单随机样本。 a) 写出最小次序统计量 X(1)X_{(1)} 的概率密度函数 fX(1)(x)f_{X_{(1)}}(x)。 b) 计算 P(X(1)>0.5)P(X_{(1)} > 0.5)

  2. 中位数与异常值:现有样本观测值:[12, 15, 17, 18, 19, 20, 21, 22, 23, 150]。最后一个值 150 疑似为录入错误(实际应为 25)。 a) 计算包含异常值 150 时,样本的均值和中位数。 b) 将 150 修正为 25 后,重新计算样本的均值和中位数。 c) 对比修正前后均值和中位数的变化,哪个统计量变化更大?这说明了什么性质?

参考答案:

  1. a) fX(1)(x)=n[1F(x)]n1f(x)=5[e2x]4(2e2x)=10e10x,x>0f_{X_{(1)}}(x) = n [1-F(x)]^{n-1} f(x) = 5 \cdot [e^{-2x}]^{4} \cdot (2e^{-2x}) = 10 e^{-10x}, \quad x>0。 b) P(X(1)>0.5)=0.510e10xdx=e10×0.5=e50.0067P(X_{(1)} > 0.5) = \int_{0.5}^{\infty} 10 e^{-10x} dx = e^{-10 \times 0.5} = e^{-5} \approx 0.0067
  2. a) 均值 = (12+15+…+23+150)/10 = 317/10 = 31.7;排序后数据为 [12,15,17,18,19,20,21,22,23,150],中位数 = (19+20)/2 = 19.5。 b) 修正后数据为 [12,15,17,18,19,20,21,22,23,25],均值 = 192/10 = 19.2;中位数 = (19+20)/2 = 19.5。 c) 均值从 31.7 变为 19.2,变化了 12.5;中位数从 19.5 变为 19.5,变化为 0。这说明中位数具有稳健性,不受单个极端值的显著影响,而均值则非常敏感。

本章小结

本节我们深入探讨了次序统计量这一核心概念,它是连接样本与总体位置特征的关键桥梁。

要点回顾

  1. 次序统计量 X(k)X_{(k)} 是通过对样本排序得到的,其精确分布由定理给出,核心是多项分布的思想。
  2. 样本中位数和 pp 分位数是基于次序统计量定义的,它们是描述数据中心位置和分布形态的重要工具。
  3. 与样本均值相比,样本中位数具有强稳健性,在数据存在异常值或偏态分布时,是更可靠的“中心”估计。
  4. 五数概括(最小值、Q1Q_1、中位数、Q3Q_3、最大值)及其图形化工具——箱线图,是探索性数据分析中快速把握数据分布特征的利器。

行动清单

  • 推导练习:尝试从“区间划分”的思路出发,独立推导一次次序统计量的密度公式,加深理解。
  • 代码验证:运行讲义中的 Python 代码,修改参数(如样本量 nn、分布类型),观察次序统计量期望的模拟结果与理论值的一致性。
  • 实践应用:下次当你拿到一份新的数据集(如客户年龄、商品评分、实验测量值),在计算均值之前,先画出箱线图,观察其分布形态并检查异常值,再决定使用哪个统计量来描述其“中心”。

— 小象教研组

配套学习资源与课件
  • 第1章课件:统计量与抽样分布(PPT · 6.0MB)
    下载
🎁 免费学习资源

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

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

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