POT项目中的圆形Wasserstein距离计算与分析
【免费下载链接】POT 项目地址: https://gitcode.com/gh_mirrors/pot1/POT
引言
在最优传输(Optimal Transport, OT)理论中,Wasserstein距离是衡量两个概率分布之间差异的重要指标。rflamary/POT项目提供了计算Wasserstein距离的高效实现。本文将重点介绍如何在圆形空间(S^1)上计算Wasserstein距离,并比较其与欧几里得空间中的差异。
圆形空间上的概率分布
von Mises分布
von Mises分布是圆形空间上的连续概率分布,类似于线性空间上的正态分布。其概率密度函数为:
def pdf_von_Mises(theta, mu, kappa):
pdf = np.exp(kappa * np.cos(theta - mu)) / (2.0 * np.pi * iv(0, kappa))
return pdf
其中:
mu是均值方向(位置参数)kappa是集中度参数(类似于正态分布的方差倒数)iv是修正的第一类贝塞尔函数
可视化分布
我们可以可视化不同参数下的von Mises分布:
t = np.linspace(0, 2 * np.pi, 1000, endpoint=False)
mu1 = 1
kappa1 = 20
pdf1 = pdf_von_Mises(t, mu1, kappa1)
通过改变mu参数,我们可以观察到分布峰值位置的变化,而kappa参数控制分布的集中程度。
圆形Wasserstein距离
与欧几里得Wasserstein距离的对比
圆形空间的周期性特性使得传统的欧几里得Wasserstein距离计算不再适用。POT项目提供了专门针对圆形空间的实现:
w2_circle = ot.wasserstein_circle(xs2.T, xts2[i].T, p=2)
w2 = ot.wasserstein_1d(xs2.T, xts2[i].T, p=2)
关键区别在于:
- 圆形距离考虑了周期性,当两个点在圆周上相距π时达到最大距离
- 欧几里得距离会错误地将圆周上相距接近2π的点视为相距很远
实验结果分析
通过实验我们可以观察到:
- 圆形Wasserstein距离在μ_target + π处达到最大值
- 欧几里得Wasserstein距离会随着μ_source远离μ_target而单调递增
- 圆形距离正确反映了圆形空间的拓扑结构
应用场景
圆形Wasserstein距离在以下场景中特别有用:
- 方向性数据分析(如风向、周期性时间数据)
- 图像处理中的角度特征匹配
- 生物节律研究中的相位对齐
进阶实验:von Mises与均匀分布的距离
当κ=0时,von Mises分布退化为均匀分布。我们可以研究Wasserstein距离随κ变化的规律:
kappas = np.logspace(-5, 2, 100)
L_w2[i] = ot.semidiscrete_wasserstein2_unif_circle(xts[i].T)
实验结果表明:
- 当κ趋近于0时,距离趋近于0(与均匀分布相同)
- 随着κ增大,距离单调递增
- 这一关系可用于检验样本是否来自均匀分布
结论
POT项目提供的圆形Wasserstein距离计算工具为处理周期性数据提供了强大的分析手段。通过本文的示例,我们了解到:
- 圆形空间的拓扑结构需要特殊的距离度量
- von Mises分布是圆形空间分析的重要工具
- 圆形Wasserstein距离正确反映了数据的周期性特征
- 这些方法可以扩展到更复杂的圆形数据分析任务中
对于需要在周期性空间中进行分布比较的应用场景,POT项目的这些功能将是非常有价值的工具。
创作声明:本文部分内容由AI辅助生成(AIGC),仅供参考



