该scipy.stats.wasserstein_distance
函数仅返回两个输入分布之间的最小距离(解)p
和q
。但是该距离是距离矩阵和必须在同一函数内计算的最佳传输矩阵的乘积。
如何提取与解决方案相对应的距离矩阵和最佳传输矩阵作为第二和第三输出参数?
该scipy.stats.wasserstein_distance
函数仅返回两个输入分布之间的最小距离(解)p
和q
。但是该距离是距离矩阵和必须在同一函数内计算的最佳传输矩阵的乘积。
如何提取与解决方案相对应的距离矩阵和最佳传输矩阵作为第二和第三输出参数?
您似乎无法从 scipy 的 wasserstein_distance 中获得计算出的传输矩阵。不过,您可以通过其他软件包获取它,例如https://github.com/wmayner/pyemd。我使用这个包已经有一段时间了,它工作得很好,而且执行速度也很快。查看用法部分中的函数 emd_with_flow()。
那么距离矩阵是 EMD 计算的输入,而不是输出。