當前位置: 首頁>>代碼示例 >>用法及示例精選 >>正文


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。非經特殊聲明,原始代碼版權歸原作者所有,本譯文未經允許或授權,請勿轉載或複製。