gpt4 book ai didi

python - 有没有办法在python中测量多维空间中两个分布之间的距离?

转载 作者:行者123 更新时间:2023-12-03 17:13:38 24 4
gpt4 key购买 nike

我想测量多维空间中两个分布之间的距离。

例如,我想在多个维度上进行诸如 Wasserstein 分布或能量距离之类的测量,而不是进行一维比较。

我在一维中找到了一个包,但我仍然在多维中找到了一个。
我怎样才能摆脱困境?

1D energy distance
1D Wasserstein distance

最佳答案

我想你无论如何都想测量两个分布之间的距离?即使您的数据是多维的,您也可以通过展平数组来推导出每个数组的分布 flat_array1 = array1.flatten()flat_array2 = array2.flatten() , 测量每个的分布(我的代码用于累积分布,但您也可以采用高斯分布) - 我正在我的函数中进行扁平化处理:

`def ecdf(data):
'''compute eCDF of an image'''
data_flatten = data.flatten()
sort_data = np.sort(data_flatten)
values, bins = np.histogram(sort_data, normed=True)
cum_data = np.cumsum(values)

return (bins, cum_data)`
然后测量两个分布之间的距离。
假设您有两个 3D 数组并且您想测量相似性(或不同的距离),您可以使用上述函数检索分布,然后使用熵、Kullback Liebler 或 Wasserstein 距离。

关于python - 有没有办法在python中测量多维空间中两个分布之间的距离?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/56820151/

24 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com