Я использую пакет Python dtaidistance для быстрых вычислений DTW. Как объяснено в документации, можно использовать следующий код:
from dtaidistance import dtw
import numpy as np
series = np.matrix([
[0.0, 0, 1, 2, 1, 0, 1, 0, 0],
[0.0, 1, 2, 0, 0, 0, 0, 0, 0],
[0.0, 0, 1, 2, 1, 0, 0, 0, 0]])
ds = dtw.distance_matrix_fast(series)
для вычисления мер расстояния DTW между наборами серий. Временные ряды, с которыми я работаю, имеют длину 3000. В общей сложности у меня есть примерно 3500 таких рядов для каждого из моих наборов данных.
К сожалению, я не могу получить никаких результатов от этой функции за приемлемое количество времени. На моей машине (128 ГБ ОЗУ, 32 ядра ЦП, 4 графических процессора Nvidia) мне пришлось прервать вычисления через день. Удивительно, но я даже не увидел выходных данных этой функции, хотя для параметра «show_progress» (см. исходный код ) установлено значение true.
Что я здесь не так делаю? Большое спасибо за вашу помощь.