是否有适用于一系列浮点数的 Levenshtein 距离版本?
Is there a version of Levenshtein distance that works for series of floats?
我想计算不同长度的时间序列数据段之间的相似度。在寻找相似性度量时,我想考虑长度和值的差异。我认为 Levenshtein 距离对此非常有用,只要它适用于一系列浮点数而不是字符串。
解释了当被替换的整数值的差异无关紧要时如何对整数列表使用编辑距离。在这种情况下,值的差异确实很重要,并且更大的差异应该受到更多的惩罚(而且我正在使用浮点数)。
当然,我对完成类似事情的其他相似性指标持开放态度,我只是认为 Levenshtein 距离已经非常接近我想要的。
示例:
- (0.22, 0.8, 1.2, 3.89)
- (0.2, 0.61, 9.2)
比较第一个元素的小惩罚,下一个元素的小惩罚,第三个元素的大惩罚,最后一个元素的删除惩罚。
我认为 Levenshtein 距离不适合这个。因为与简单的算术差分或欧氏距离相比,它的计算成本是相当大的。
在您的问题中,问题似乎是相似度函数的定义,该相似度函数结合了(时间序列段的)内容差异和长度差异。
在任何情况下,您最好在 signal-processing
和 information-theory
标签上询问,因为对于您的案例肯定有一个既定的 metric/similarity 功能。 Levenshtein 的 "edit distance" 本质上适合字母表/NLP
,在你的情况下我会简单地推荐 quantity of information. A cross-correlation 可能是你正在寻找的东西。
我想计算不同长度的时间序列数据段之间的相似度。在寻找相似性度量时,我想考虑长度和值的差异。我认为 Levenshtein 距离对此非常有用,只要它适用于一系列浮点数而不是字符串。
当然,我对完成类似事情的其他相似性指标持开放态度,我只是认为 Levenshtein 距离已经非常接近我想要的。
示例:
- (0.22, 0.8, 1.2, 3.89)
- (0.2, 0.61, 9.2)
比较第一个元素的小惩罚,下一个元素的小惩罚,第三个元素的大惩罚,最后一个元素的删除惩罚。
我认为 Levenshtein 距离不适合这个。因为与简单的算术差分或欧氏距离相比,它的计算成本是相当大的。
在您的问题中,问题似乎是相似度函数的定义,该相似度函数结合了(时间序列段的)内容差异和长度差异。
在任何情况下,您最好在 signal-processing
和 information-theory
标签上询问,因为对于您的案例肯定有一个既定的 metric/similarity 功能。 Levenshtein 的 "edit distance" 本质上适合字母表/NLP
,在你的情况下我会简单地推荐 quantity of information. A cross-correlation 可能是你正在寻找的东西。