ARTICLE

经验分布函数的定义与计算

经验分布函数的定义与计算 (Definition and Computation of EDF) 经验分布函数 (Empirical Distribution Function, EDF) 是数理统计中最基础的非参数工具,其核心思想是用样本中观测值的经验频率直接估计总体的累积分布函数 (CDF)。与参数统计方法不同,EDF 不对总体分布形式做任何先验假定(如

浏览 20 更新 2025-10-22

经验分布函数的定义与计算 (Definition and Computation of EDF)

经验分布函数 (Empirical Distribution Function, EDF) 是数理统计中最基础的非参数工具,其核心思想是用样本中观测值的经验频率直接估计总体的累积分布函数 (CDF)。与参数统计方法不同,EDF 不对总体分布形式做任何先验假定(如正态、指数或泊松),完全由数据驱动。这种非参数特性使其成为连接样本信息与总体分布的通用桥梁,无论总体分布形态如何,EDF 始终能够提供一个合法且渐近一致的分布估计。

精确定义

X1,X2,,XnX_1, X_2, \ldots, X_n 为来自未知总体分布 F(x)=P(Xx)F(x)=P(X \le x)独立同分布随机样本,则经验分布函数 F^n(x)\hat{F}_n(x) 定义为:

F^n(x)=1ni=1nI(Xix)\hat{F}_n(x) = \frac{1}{n} \sum_{i=1}^n I(X_i \le x)

其中 I()I(\cdot)指示函数:条件成立时取 1,否则取 0。该式的直观含义极为朴素——对于任意实数 xxF^n(x)\hat{F}_n(x) 就是样本中不超过 xx 的观测值所占比例。这一构造等价于在 nn 个样本点上各赋予 1/n1/n 的概率质量,形成一个离散均匀分布,其累积和即为 EDF。换言之,EDF 将抽象的总体分布概念转化为可由简单计数操作获得的具体数值,这是其广泛应用的根本原因。

分段表达式与计算步骤

EDF 的构建过程包括排序和分段两个核心步骤。

第一步:排序。将样本值从小到大排列,得到次序统计量 X(1)X(2)X(n)X_{(1)} \le X_{(2)} \le \ldots \le X_{(n)}

第二步:分段。基于排序结果,EDF 可写为分段函数:

F^n(x)={0,x<X(1)kn,X(k)x<X(k+1),  k=1,,n11,xX(n)\hat{F}_n(x) = \begin{cases} 0, & x < X_{(1)} \\ \displaystyle \frac{k}{n}, & X_{(k)} \le x < X_{(k+1)},\; k=1,\ldots,n-1 \\ 1, & x \ge X_{(n)} \end{cases}

该函数具有以下几何特征:它是右连续阶梯函数,在两个相邻有序观测值之间保持恒定,在每个观测点处向上跳跃。若观测值互异,跳跃幅度为 1/n1/n;若同一值出现 kk 次(即存在重复观测),跳跃幅度为 k/nk/n。函数值域为 {0,1/n,2/n,,1}\{0, 1/n, 2/n, \ldots, 1\},单调非降,且满足 limxF^n(x)=0\lim_{x\to -\infty}\hat{F}_n(x)=0limxF^n(x)=1\lim_{x\to \infty}\hat{F}_n(x)=1——这些性质与任何合法 CDF 完全一致。

详细计算示例:考虑样本 {3.5,1.2,5.8,2.4,3.5}\{3.5, 1.2, 5.8, 2.4, 3.5\},样本量 n=5n=5

排序得 X(1)=1.2,X(2)=2.4,X(3)=3.5,X(4)=3.5,X(5)=5.8X_{(1)}=1.2, X_{(2)}=2.4, X_{(3)}=3.5, X_{(4)}=3.5, X_{(5)}=5.8。注意 3.5 出现两次,构成重复值。于是分段计算如下:

  • x<1.2x < 1.2:没有观测值不超过 xxF^5(x)=0/5=0\hat{F}_5(x)=0/5=0
  • 1.2x<2.41.2 \le x < 2.4:仅 1.2 不超过 xxF^5(x)=1/5=0.2\hat{F}_5(x)=1/5=0.2
  • 2.4x<3.52.4 \le x < 3.5:1.2 和 2.4 不超过 xxF^5(x)=2/5=0.4\hat{F}_5(x)=2/5=0.4
  • 3.5x<5.83.5 \le x < 5.8:四个值(1.2, 2.4, 3.5, 3.5)不超过 xx,故 F^5(x)=4/5=0.8\hat{F}_5(x)=4/5=0.8。此处跳跃幅度为 2/52/5,因为两个 3.5 同时触发跳跃
  • x5.8x \ge 5.8:全部五个值均不超过 xxF^5(x)=5/5=1\hat{F}_5(x)=5/5=1

在实际编程实现中,最简洁的方式是直接对排序数组进行二分查找:给定 xx,用二分法找到排序数组中最后一个不大于 xx 的索引 ii,则 F^n(x)=i/n\hat{F}_n(x) = i/n。Python 中可用 \texttt{numpy.searchsorted} 或 \texttt{bisect} 模块高效实现。

统计性质

对任意固定点 xxnF^n(x)=i=1nI(Xix)n\hat{F}_n(x) = \sum_{i=1}^n I(X_i \le x) 服从二项分布 Bin(n,F(x))\text{Bin}(n, F(x)),其中成功概率 p=F(x)p = F(x)。由此可直接推导 EDF 的有限样本性质:

  • 无偏性E[F^n(x)]=1nnF(x)=F(x)E[\hat{F}_n(x)] = \frac{1}{n} \cdot nF(x) = F(x),因此 EDF 是真实 CDF 的无偏估计量。
  • 方差Var[F^n(x)]=F(x)(1F(x))n\text{Var}[\hat{F}_n(x)] = \frac{F(x)(1-F(x))}{n},方差的倒数即反映了估计的精度。在 F(x)=0.5F(x)=0.5 处方差最大,在尾部趋近于零。
  • 均方误差:由于无偏,MSE[F^n(x)]=Var[F^n(x)]\text{MSE}[\hat{F}_n(x)] = \text{Var}[\hat{F}_n(x)],随 nnO(1/n)O(1/n) 速率衰减。
  • 一致性:由大数定律,当 nn \to \inftyF^n(x)pF(x)\hat{F}_n(x) \xrightarrow{p} F(x),即 EDF 依概率收敛于真实值。
  • 渐近正态性:由中心极限定理n(F^n(x)F(x))dN(0,F(x)(1F(x)))\sqrt{n}(\hat{F}_n(x) - F(x)) \xrightarrow{d} N(0, F(x)(1-F(x)))。这一结果可用于构造逐点置信区间:在置信水平 1α1-\alpha 下,F(x)F(x) 的渐近置信区间为 F^n(x)±zα/2F^n(x)(1F^n(x))/n\hat{F}_n(x) \pm z_{\alpha/2}\sqrt{\hat{F}_n(x)(1-\hat{F}_n(x))/n}

格利文科-坎泰利定理

格利文科-坎泰利定理 (Glivenko-Cantelli Theorem) 是 EDF 理论中最深刻的结果。它将逐点收敛大幅提升为一致收敛——即 EDF 与真实 CDF 在整个定义域上的最大偏差几乎必然趋于零:

supxRF^n(x)F(x)a.s.0(n)\sup_{x \in \mathbb{R}} |\hat{F}_n(x) - F(x)| \xrightarrow{a.s.} 0 \quad (n \to \infty)

这里 a.s.\xrightarrow{a.s.} 代表几乎必然收敛,是概率论中最强的收敛模式之一。supxRF^n(x)F(x)\sup_{x \in \mathbb{R}} |\hat{F}_n(x) - F(x)| 称为一致偏差,其值衡量了 EDF 曲线作为整体与真实 CDF 曲线之间的最大垂直距离。该定理的重要推论是:当样本量足够大时,整个 EDF 的图像会均匀地逼近真实 CDF 的图形,而不仅仅是在单个点上逼近。这为在一切统计推断中以 EDF 替代未知 CDF 提供了严格的理论正当性。

配合DKW 不等式 (Dvoretzky–Kiefer–Wolfowitz Inequality),还可以获得有限样本下的概率上界:

P(supxRFn(x)F(x)>ϵ)2e2nϵ2P\left( \sup_{x \in \mathbb{R}} |F_n(x) - F(x)| > \epsilon \right) \le 2e^{-2n\epsilon^2}

该不等式不依赖于 FF 的具体形式,是一个完全分布自由的界。取 ϵ=12nln2α\epsilon = \sqrt{\frac{1}{2n}\ln\frac{2}{\alpha}},可以构造一个以 Fn(x)±ϵF_n(x) \pm \epsilon 为边界的一致置信带,该带状区域以至少 1α1-\alpha 的概率覆盖整个真实的 CDF 曲线。与逐点置信区间不同,一致置信带允许对分布函数的整体形状进行统计推断。

计算中的注意事项

实际应用中计算 EDF 需注意以下几点:

  1. 重复值处理:当样本存在重复值时,使用原始定义 F^n(x)=(小于等于 x 的个数)/n\hat{F}_n(x) = (\text{小于等于 }x\text{ 的个数})/n 最为稳健。分段表达式虽然直观,但在重复值处需要小心处理归属区间。
  2. 数值稳定性:在极端分位数附近,当 F^n(x)=0\hat{F}_n(x)=011 时,逆变换 F^n1(p)\hat{F}_n^{-1}(p) 可能涉及边界外推。在极值理论中,通常采用广义帕累托分布对尾部建模,而非直接依赖 EDF 的样本极值。
  3. 计算复杂度:单次 EDF 求值可在 O(logn)O(\log n) 时间内完成(借助排序数组的二分查找);若要绘制整个 EDF 图像,排序步骤的 O(nlogn)O(n\log n) 是主导复杂度。对于流式数据,可以使用顺序统计量树或近似算法实现在线 EDF 更新。

主要应用

EDF 是当代统计推断的基石,其主要应用包括:

  • 拟合优度检验柯尔莫哥洛夫-斯米尔诺夫检验直接以 Dn=supxF^n(x)F0(x)D_n = \sup_x |\hat{F}_n(x) - F_0(x)| 为统计量,检验样本是否来自指定分布 F0F_0克拉默-冯·米塞斯检验安德森-达林检验则考虑偏差的加权平方积分,后者对尾部偏差赋予更高权重,在金融风险建模中尤为常用。
  • 自助法 (Bootstrap):Efron (1979) 创立的自助法从 EDF 所定义的离散分布中有放回地独立抽样,等价于从原始样本中进行重抽样。EDF 是自助法整个理论框架的数学基础。
  • 即插即用估计 (Plug-in Principle):许多总体参数可表示为 CDF 的泛函 θ=T(F)\theta = T(F)。将未知 FF 替换为 F^n\hat{F}_n 即得自然估计 θ^=T(F^n)\hat{\theta} = T(\hat{F}_n)。样本均值和样本分位数正是这一原理的特例。
  • 数据可视化:EDF 图完整保留每个数据点的排序信息,避免直方图因分箱宽度和起始位置选择带来的主观偏差。在探索性数据分析中,同时绘制多组 EDF 还可直观比较分布的位置、尺度和形状差异。