我有一个项目,我正在尝试有效地比较二进制数据序列以确定它们的相似程度。基本上,一个序列可能如下所示:1001010010100011110...
我自己花了一段时间试图想出一种方法来解决它,因为我自己解决这样的问题很有趣,并且实际上取得了一些进展。不幸的是,我想出的一切都没有奏效。考虑替换(翻转的位)的解决方案很容易,但让我一直在处理插入或删除的位,即:100101 -> 1000101
试图在网上找到一个解决方案一直把我带到这里,我不断地遇到互相关这个词。我还在时间序列的维基百科页面上看到了许多有趣的链接,用于计算相似度。不幸的是,目前我还不清楚很多数学运算,我无法有效地通过并区分适合我情况的技术。
所以我有两种不同的方法来解决我有兴趣了解的问题:
1) 你会推荐什么方法来计算两个位序列(通常长度为 50 到 150 位)之间的相似性,这种方法对替换、插入和删除具有鲁棒性?
2)我不确定这是可能的,但是是否有某种距离度量我可以为每个信号独立计算,这将允许我将它们组合在一起并实际进行直接的成对比较?
对于 1,我觉得互相关可能是正确的方法,但我还没有过去只是在 R 中插入序列并查看它如何识别滞后。我知道编辑距离会起作用,但最终会想要更有效的东西。最终,我将尝试将数十亿个这些组合在一起。
谢谢