Оба этих алгоритма используют динамическое программирование для определения выравнивания последовательных данных. Основное различие заключается в том, как определяется оценка для i,j
.
В Dynamic Time Warping стоимость (определяемая функцией 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.
Выравнивание может быть сложной задачей, и вам, возможно, придется настроить параметры, чтобы все было правильно.
Удачи.