两个离散概率直方图的距离度量(两个向量之间的距离)

机器算法验证 分布 距离 离散数据 相似之处 巴塔查亚
2022-04-08 20:42:07

我有多组离散概率直方图(向量),我想测量每个直方图之间的距离。我做了一些研究,但我对此表示怀疑。

文献建议我可以使用 Bhattacharyya 距离或 Hellinger 距离(两者密切相关)。我应该使用哪一个。

一些额外的信息。prob Histogram(vector)和 prob Histogram (vector)我想计算这两个概率直方图之间的距离/差异。Bhattacharyya 系数 ( ) =A=(.18,.61,.16,.05)B=(.26,.55,.16,.03)BC

.18×.26+.61×.55+.16×.16+.05×.03.

因此 Bhattacharyya 距离 =和 Hellinger 距离 =ln(BC)21BC

这是正确的衡量标准吗?这是正确的计算吗?

2个回答

Jensen-Shannon 距离是我考虑的第一件事。如果你不坚持有一个“距离函数”,你可以直接使用Jensen-Shannon 散度,从中推导出这个距离。

JS 散度被广泛用于衡量两个概率分布之间的差异。它适合您的情况,因为输入是两个概率向量。JS 散度是著名的Kullback-Leibler 散度的直接修改。

通常,KL 和 JS 散度要求输入向量具有非零条目。如果输入中的值为零,许多人只是选择丢弃这些值。有关此问题的更多详细信息,请查看 https://mathoverflow.net/a/72672

还有 Wasserstein 度量,它在贝叶斯推理文献中变得越来越流行。在您的情况下,包 'transport' 中的 'wasserstein1d' 函数应该可以解决问题:

  x <- rnorm(200)
  y <- rnorm(150,2)
  wasserstein1d(x,y)