问题标签 [dtw]
For questions regarding programming in ECMAScript (JavaScript/JS) and its various dialects/implementations (excluding ActionScript). Note JavaScript is NOT the same as Java! Please include all relevant tags on your question; e.g., [node.js], [jquery], [json], [reactjs], [angular], [ember.js], [vue.js], [typescript], [svelte], etc.
python - 在 python 中安装 dtaidistance 提供错误
我正在尝试在 Python 中安装模块 dtaidistance 来计算一组时间序列的 DTW 距离矩阵。但是每当我尝试使用“pip install dtaidistance”安装软件包时,就会弹出一个大错误,我不知道如何解释它以及如何使其正常工作。
在下面的屏幕截图中的 anaconda 提示符中运行安装后,请参阅最后几行和相应的错误消息:
错误代码截图:
r - R n 最相似的时间序列 - dwt 聚类/最近邻
随附的数据是一个简化的示例,因为实际上我有数百人和数百个时间点。
我正在寻找一种方法来确定类似的时间序列。
我在这里有一些代码来确定集群,但这并不是我想要的。
我想要的是,如果我选择一个人,它将返回 n 个最相似的时间序列的名称。
即,如果n = 1,并且我输入Bob,它将返回Dave,但是如果我输入Sam,它将返回Bob(这些名称将进入带有df 的新列)。如果 n = 2,第一列将包含最相似的时间序列,第二列将包含下一个最相似的时间序列。这类似于 K 个最近邻居,但跨越时间序列,因此每个人都有一组不同的“邻居”。
如果这是不可行的,或者太难了,我也想指定每个组中的人数,而不是组的数量。
在此示例中,我指定了 4 个组,这不会构成 4 个组,每组 2 个。
B 组有 4 人,而 C 和 D 组只有 1 人。
python - 具有时间感知/可变 Sakoe-Chiba 半径的 DTW
我正在将两个不规则间隔的时间序列与tslearn
DTW 的实现进行比较。由于两个时间序列都是非常不规则的采样并且它们的采样不相关,我想使用 Sakoe-Chiba 半径将比较观察的范围限制为一小时(例如),如果我会定期采样时间序列,假设,1 分钟间隔我会使用 Sakoe-Chiba 半径等于 60,但我没有这样的数据,它应该存在比数据操作(插值到 1 分钟时间间隔)更自然的解决方案,例如变量 Sakoe-Chiba 半径(每个观测值都有不同的 S-Ch 半径,预先计算以获得相当于 1 小时的约束),与恒定的 S-Ch 半径相比,是否存在计算效率低下的原因?
python-3.x - 如何为 dtw-python 设置 window_size?
我正在尝试此页面上详细介绍的 dtw 包中的不同窗口选项:https ://dynamictimewarping.github.io/py-api/html/api/dtw.dtw.html ,希望看看我是否可以减少所需的时间运行 dtw 包。
当我进入
我收到了这个错误:
然后我进入
而是得到了这个错误
那么我应该把 window_size 参数放在哪里呢?感谢您的帮助,谢谢。
python - 快速 dtw 作为张量流模型中的损失函数
我是一名博士生,但不是深度学习或 Python 方面的专家,如果我的问题微不足道,请见谅。我想要做的是使用快速 dtw ( https://pypi.org/project/fastdtw/ ) 作为我的 TensorFlow 模型的损失函数。(RNN) 定义函数后:
我正在尝试用它作为损失函数来编译我的模型:
我有以下错误消息:TypeError:在用户代码中:
即使在我的函数中添加一个 self 参数,同样的错误仍然存在。我在这里想念什么?
谢谢
python - 评估时间序列之间的同步性
我想评估两个时间序列之间的同步性(即它们是否随着时间的推移具有相同的演变?)。我正在使用Python。以下是我拥有的时间序列的示例:
第一个图显示了具有非常相似进化(同步)的时间序列,而第二个图显示了视觉上没有类似进化的时间序列。
我考虑过动态时间扭曲来评估时间序列之间的相似性,但问题是我们获得了时间序列之间的距离,这很难解释。我想要的是一个标准化的数字(例如,介于 -1 和 1 之间的相关性),它可以显示系列是否同步(即它们同时增加或减少)。这样我可以更容易地比较几个时间序列的演变,即使它们的全局距离(即平均值)不同,如第一个和第二个图所示。动态时间扭曲可以有这样的数字吗?还是另一种方法更合适?
python - 如果数组列表的长度非常大,如何以更快的方法检查输入数组是否与数组列表最相似?
我有一个包含许多列表的列表。我使用 dtw 方法使用 fastdtw python 包来计算输入列表和列表内的列表之间的距离。这给了我一个距离列表,我从中选择最小值并将其估计为最接近输入数组的距离。此过程有效,但如果列表的数量和长度很大,则它会占用大量 CPU 资源且耗时。
r - R dtw 包:二进制数据的查询和参考向量以将其传递给 dtw 函数
我有两个看起来像这样的时间序列表。
我计算了二进制列来计算特定的分类值,如果这个值 = “x”,则分配 1,否则分配 0。我使用 ggplot 像这样绘制它,
我得到了我想要的,
现在是时候使用dtw 函数来计算距离了。我不确定如何将这个二进制数据存储到进位或矩阵中以通过 dtw 函数在这里传递,
其中 x 是查询向量或本地成本矩阵,y 是参考向量,如果 x 作为本地成本矩阵给出,则为 NULL
我做的是这个,
但这是不正确的。每一个的图表都不相同,如下所示。矩阵成本为空。它只计算每列的 0,1 的数量。我知道这是不正确的,但我不知道如何获取查询和参考向量来计算 dtw。如何将其应用于此二进制数据?
r - R:循环遍历多个时间序列向量的可能组合来计算DTW
我是 R 和时间序列的新手。假设我有 5 个时间序列向量(长度不同),我想使用动态时间扭曲来找到它们之间的相似性。如您所知,DTW 仅比较 2 个时间序列。我需要遍历 5 次访问中的每一对(10 对)来计算距离然后比较它们。
使用DTW 包,此代码仅适用于两个时间序列。
我不知道如何通过每一对。我不认为 for 循环是这里的最佳选择。计算距离后,我应该将它们存储在矩阵中以比较它们吗?计算这些向量的所有可能对的最佳方法是什么?
python - 在python中动态地将一个数组扭曲到另一个数组
我使用动态时间扭曲算法来生成距离矩阵并找到两个数组之间的差异。但是,是否有一种算法可以实际将一个数组扭曲为另一个数组(作为最终结果,我希望将一个视频扭曲为另一个视频,即使用多维数组)。
背景:我有很多人打高尔夫挥杆的视频,我需要根据相似性来分析它们。然而,许多摆动是慢动作的,而有些是实时的。最重要的是,剪辑在挥杆前后的不同时间开始和停止,每个视频都有高尔夫球手站在帧本身的不同位置。
但是,为了便于解释,请举以下简单示例:
变成:
什么时候b
被扭曲了似的a
。
解释:b
只是一个时间膨胀的版本,a
例如视频的慢动作版本
这是另一个例子:
变成:
什么时候b
被扭曲了似的a
。
解释:b
只是一个时间翻译版本,a
有一点错误,例如从较低高度和角度拍摄的视频
如果可能的话,我的最终目标是一种可以将膨胀和翻译结合为一个的算法