Energy Distance:度量多元分布差异的权威统计方法
这类问题在实践中反复出现,只是每次场景各异。比如:自上次模型上线后,数据是否发生了漂移?或者在销售分析中,产品A与产品B的分布是否存在显著差异?归根结底,核心命题只有一个——如何量化两个分布之间的差距。
单变量分析通常是最便捷的切入方式。逐个对比训练集与测试集的分布形态,可以快速识别出表面上的差异。但单变量视角存在盲区:变量间的联合关系变化,单变量检验无法捕捉。
那么,如何量化这种联合差异?Energy Distance 能够解决这个问题。
Energy Distance 是一个统计指标,专门用于度量两个概率分布之间的差异程度。当两个分布完全相同时,其值为零;差异越大,数值越高。
形式化定义
给定概率分布 F 和 G,分别从中抽取随机向量 X 和 Y,Energy Distance D(F,G) 的定义如下:
D(F,G) = 2E||X, Y|| — E||X, X'|| — E||Y, Y'||
公式中包含两种距离。E||X, Y|| 是跨分布的数据点对之间的期望欧几里得距离(一个来自 X,一个来自 Y),称为交叉距离;而 E||X, X'|| 和 E||Y, Y'|| 则是同一分布内部数据点对之间的期望欧几里得距离,称为组内距离。
Energy Distance 的原理
理解这一指标,可以用物理类比来辅助。想象一个带电粒子系统的静电能:两团点云,一团带正电,一团带负电。交叉距离好比异号粒子之间的相互作用能,组内距离则是同组内部的相互作用能。当交叉作用恰好被自作用抵消——即两个分布完全一致——净能量为零,否则净能量为正值。
一句话概括:
Energy Distance 度量的是两个分布之间分离程度超出各自内部自然分离程度的幅度。
下面用两个二元分布的可视化来展示这一思路,同样的原理可推广到更高维空间。
当两个分布完全一致时,Energy Distance 为零。
随着两个分布逐渐远离,交叉作用开始占据主导,Energy Distance 上升。
但当每个分布内部的数据点变得越发分散时,自作用反而会抵消交叉作用,Energy Distance 又趋向于零。
Energy Distance 解读
单独看 Energy Distance 的具体数值意义有限。通常需要配合置换检验,来判断观测值是否反映出两个分布之间存在统计意义上的差异。
置换检验的零假设是 X 和 Y 来自同一个分布(F=G)。操作流程:将两组样本合并后随机重新分配组标签,保持原始样本量不变,反复计算 Energy Distance,从而构建出零假设下的经验分布。最终的 p 值等于置换统计量超过观测统计量的比例。
如果置换检验未检测到训练集与测试集之间存在整体性的分布偏移,则说明没有证据表明发生了全局协变量偏移。但注意,这不等于排除了局部外推的风险——特征空间中稀疏及尾部区域,仍需额外检查。
总结
Energy Distance 是一种基于距离度量的统计工具,特别适合用来衡量两个多元分布的差异程度。数据漂移检测、A/B 测试中的样本一致性验证、不同群体之间的分布比较——只要涉及"两组多元数据是否来自同一分布"的判断,它都能派上用场。
与逐变量的单维度检验相比,Energy Distance 的核心优势在于它能捕捉变量间联合关系的变化,而不仅仅是边缘分布的偏移。再配合置换检验,就能得到具有统计意义的推断结论,而不只是停留在视觉直觉上。
当然,它也有自己的边界。Energy Distance 检测的是全局性的分布差异,对于局部区域——特别是特征空间中样本稀疏的尾部——敏感度有限。在高维场景下,欧几里得距离本身的区分能力会随维度增加而衰减,这一点同样会影响 Energy Distance 的表现。实际使用时,结合局部密度估计或分区域检验等方法来补充验证,是更稳妥的做法。
