【问题标题】:How to extract the distance and transport matrices from Scipy's wasserstein_distance?如何从 Scipy 的 wasserstein_distance 中提取距离和传输矩阵?
【发布时间】:2021-03-15 18:48:50
【问题描述】:

scipy.stats.wasserstein_distance 函数仅返回两个输入分布pq 之间的最小距离(解)。但该距离是距离矩阵和必须在同一函数内计算的最优传输矩阵的乘积。

如何提取与解对应的距离矩阵和最优传输矩阵作为第二和第三输出参数?

【问题讨论】:

    标签: python statistics probability-density transport scipy.stats


    【解决方案1】:

    您似乎无法从 scipy 的 wasserstein_distance 中获取计算出的传输矩阵。不过,您可以通过其他软件包获得它,例如 https://github.com/wmayner/pyemd。我使用这个包已经有一段时间了,它工作得很好,而且执行速度也很快。查看用法部分中的函数 emd_with_flow()。

    那么距离矩阵是 EMD 计算的输入,而不是输出。

    【讨论】:

    • 我也知道另一个包,pot,但这里的问题是关于 scipy,我知道它适用于一维源和目标分布,这是我的应用程序需要的全部。查看 scipy 代码,我发现 wasserstein_distance 调用了另一个更通用的函数,它甚至不计算传输矩阵 stackoverflow.com/questions/65131513/…
    猜你喜欢
    • 2018-05-03
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2020-02-21
    • 1970-01-01
    • 2017-01-07
    相关资源
    最近更新 更多