当前位置: 首页>>代码示例 >>用法及示例精选 >>正文


Python SciPy stats.energy_distance用法及代码示例


本文简要介绍 python 语言中 scipy.stats.energy_distance 的用法。

用法:

scipy.stats.energy_distance(u_values, v_values, u_weights=None, v_weights=None)#

计算两个一维分布之间的能量距离。

参数

u_values, v_values array_like

在(经验)分布中观察到的值。

u_weights, v_weights 数组,可选

每个值的权重。如果未指定,则为每个值分配相同的权重。 u_weights (resp. v_weights) 必须与 u_values (resp. v_values) 具有相同的长度。如果权重总和不为 1,则它仍然必须是正数和有限的,以便权重可以归一化为总和为 1。

返回

distance 浮点数

分布之间的计算距离。

注意

两个分布 之间的能量距离,其各自的 CDF 为 ,等于:

其中 (分别为 )是独立随机变量,其概率分布为 (分别为 )。

有时这个量的平方被称为“energy distance”(例如在[2]、[4]中),但如[1]和[3]中所述,只有上面的定义满足距离函数的公理(公制)。

如 [2] 所示,对于一维实值变量,能量距离与 Cramér-von Mises 距离的非无分布版本相关联:

请注意,常见的 Cramér-von Mises 标准使用 distribution-free 版本的距离。有关两个版本的距离的更多详细信息,请参见 [2](第 2 节)。

输入分布可以是经验的,因此来自其值是函数的有效输入的样本,或者它们可以被视为广义函数,在这种情况下,它们是位于指定值的狄拉克 delta 函数的加权和。

参考

[1]

Rizzo, Szekely “能量距离”。威利跨学科评论:计算统计,8(1):27-38(2015)。

[2] (1,2,3)

Szekely “E-statistics:统计样本的能量。”鲍林格林州立大学数学与统计系,技术报告 02-16 (2002)。

[4]

Bellemare、Danihelka、Dabney、Mohamed、Lakshminarayanan、Hoyer、Munos “克拉默距离作为有偏 Wasserstein 梯度的解决方案”(2017 年)。 arXiv:1705.10743

例子

>>> from scipy.stats import energy_distance
>>> energy_distance([0], [2])
2.0000000000000004
>>> energy_distance([0, 8], [0, 8], [3, 1], [2, 2])
1.0000000000000002
>>> energy_distance([0.7, 7.4, 2.4, 6.8], [1.4, 8. ],
...                 [2.1, 4.2, 7.4, 8. ], [7.6, 8.8])
0.88003340976158217

相关用法


注:本文由纯净天空筛选整理自scipy.org大神的英文原创作品 scipy.stats.energy_distance。非经特殊声明,原始代码版权归原作者所有,本译文未经允许或授权,请勿转载或复制。