我正在使用 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 GB RAM、32 个 CPU 内核、4 个 Nvidia GPU)上,我不得不在一天后中止计算。令人惊讶的是,我什至没有看到这个函数的任何输出,即使我将参数“show_progress”(参见源代码)设置为 true。
我在这里做错了什么?非常感谢您的帮助。