time-series - 动态时间扭曲和 Needleman-Wunsch 算法有什么区别?

标签 time-series alignment bioinformatics data-mining

我正在寻找 Dynamic Time Warping 之间的差异和 Needleman-Wunsch algorithm .

基本上,他们都找到了一个对齐分数。我需要计算短字符串序列(<20 个字符)之间的对齐(相似性)分数,并且有几千个。

我无法弄清楚这两种算法之间的区别,也无法决定为我的工作选择哪一种。任何人都可以请清除我的差异吗?

最佳答案

这两种算法都使用动态编程来确定顺序数据的对齐方式。这里的主要区别在于 i,j 的得分如何决心,决意,决定。

在动态时间扭曲中,成本(由 i, j 的函数确定)被添加到集合 (i-1, j) 的最小值上。 , (i-1, j-1) , (j, i-1) .

在 NW,集合的最大值 (i-1, j) + weight , (i-1, j-1) + S(Ai, Bi) , (j, i-1) + weight被采用,使得 S(A, B)通过在相似性矩阵中查找来确定。

如果您想通过可枚举空间进行对齐并可以创建相似性矩阵(例如蛋白质序列或单词),请使用 NW,但是,如果您要对齐无法创建相似性矩阵的数据(例如时间序列),并且需要使用一个函数,用DTW。

对齐可能是一件棘手的事情,您可能需要调整参数才能使事情正确。

关于time-series - 动态时间扭曲和 Needleman-Wunsch 算法有什么区别?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/6949884/

相关文章:

python - str.maketrans 在交互式 python 中可用,但在 python 脚本中不可用?

在C中压缩一系列接近的数字

python - 使用 MultiIndex 列在 pandas 数据框中添加一个字段

emacs - 是否有一个不错的emacs模式用于显示和编辑由分隔符分隔的巨大文件?

GridPane 中标签的 JavaFX 对齐方式

python - 基于图形的元组合并?

python - 在 Python 中使用大字典优化性能

r - 如何绘制 R 中的对数返回数据,在 x 轴上显示日期

python - 查找缺失的日期

无法正确对齐 printf 代码