问题标签 [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 - 如何使用 dtw 在 python 中对齐多个轨迹?
我的项目有 5 条不同的轨迹。首先我从文件中读取它们,然后通过解析文件将它们保存到列表中。之后,我将这些值数字化。我想分别对齐 x 和 y 坐标,并将 x 和 y 坐标一起绘制在网格上。
这是我到目前为止所做的。我在 python 中使用 dtw 包,但它需要两个列表并将路径作为数组提供。如何将其转换为 5 个不同列表的对齐轨迹?
c# - C#_使用NAudio实现STFT
这是我第一次尝试在 C# 上分析音频流。没有任何经验,如果您分享您的解决方案,将不胜感激。:)
使用 NAudio(处理音频的 C# 的开源),我尝试将两个音频流与以下阶段进行比较:
读取 .wav 文件并以 16 位存储在 float[] 中:
/li>传递
/li>float[]
toSmbPitchShifter()
,并设置PitchShift=1
(不改变音高),将 osamp 设置为跃点大小,并传递 _buffer。最后,使用 DTW 算法比较两个 STFT float[]。
现在,我被困在第 2 阶段,并且有一些问题:
1. 我不完全知道我的 sampleRate 是多少,但默认设置为 44100...
2. 在上面的代码之后,我得到了一个新的 _buffer 浮点数[],
在 stage2 1之后使用 dater :https ://imgur.com/a/VLmHJ
因为我知道 STFT 之后的数据应该是 [-1.0, 1.0)。我错过了哪一步,或者我一开始就完全错了?
3.我不知道NAudio用的是什么窗口。NAudio.Dsp.SmbPitchShifter.CS from github
这些困扰了我很久。如您所知,我是音频分析的新手,非常感谢您的建议。祝你有美好的一天。
r - 为什么在 proxy::dist 中使用自定义邻近函数会使其在 R 中如此缓慢?
我正在尝试将proxy::dist
函数与自定义距离矩阵一起使用,但我现在的速度非常慢。
这是我如何调用自定义函数的可重现示例:
这应该计算矩阵中每个时间序列与test
矩阵中所有时间序列之间的距离train
(每一行都是一个时间序列)。
我的自定义功能是:
问题是,与我使用时相比method="DTW"
,甚至与我自己计算距离矩阵的情况相比,这非常慢,并且随着时间序列的长度或数量的增长,它会以指数方式变慢。当然,这植根于嵌套循环,但我对效果的规模感到惊讶。我没有看到它一定有另一个原因。
我的问题是,我还能如何实现 mycustomDTW
以使其更快,使用proxy::dist
?
这是我对执行时间的小实验:
60X7
(使用proxy::dist
+ customDTW
)的执行时间
60X70
(使用proxy::dist
+ customDTW
)的执行时间
60X700
(使用proxy::dist
+ customDTW
)的执行时间
60X700
(不使用proxy::dist
)的执行时间
r - 软件包安装缺少 S3 方法
我正在尝试安装 R 包“dtwclust”。它在 6 个月前对我有用,但现在——可能是由于系统更新、R 更新或包更新——我收到以下错误消息:
...
我正在运行 Ubuntu 18.04。我尝试使用 dependencies = TRUE 参数,并且尝试重新安装 r-base。知道这些缺少的 S3 方法在哪里吗?谢谢!
python - python中的rpy2动态时间扭曲(dtw) - 窗口不起作用
现已结束的讨论展示了如何在 python 中使用 R dtw 包。这有点笨拙,但是 R dtw 包比当前可用的 python dtw 实现更好而且更好。不幸的是,像 Sakoe-Chiba band 这样的窗口函数在尝试指定“window.size”时不起作用。映射到参数似乎存在问题。注意 ”。” 使用 rpy2 时,in arguments 应该被替换为“_”。但是遵循这个约定,由于某种原因没有使用该参数。
您可以看到错误状态“window.size”丢失,尽管“window_size”明确以 rpy2 方式指定。
algorithm - 运动数据比较
我正在开展一个项目,该项目涉及比较从加速度计和陀螺仪传感器收集的运动数据。假设我有特定类型的运动(例如投掷球)的数据,并且我手动创建了片段,如下图所示,其中 AB 和 C 表示三个片段。
带段的加速度计数据:
目标:给定 X 一个我从同一个传感器记录的新时间序列的运动数据,我如何判断每个段的运动与我收集的运动数据 Y 的相似程度。请注意,对于新数据,我没有关于细分的信息。
想法:我知道如何将两个时间序列与互相关或 DTW 进行比较,但在我的情况下,这些片段存在问题。将 DTW 与 1-KNN 应用以从我的集合中找到(X 的)“最近”时间序列,然后将 Y_nearest 的每个段与 X 进行比较,这是一个好主意吗?如果我没有,我该如何进行比较关于 X 运动数据段的信息?使用机器学习算法有更好的方法吗?
python-3.x - numpy矩阵上的并行for循环
我正在查看joblib
示例,但我无法弄清楚如何在矩阵上执行并行 for 循环。我正在计算矩阵行之间的成对距离度量。所以我在做:
其中dist_fun
需要两个向量并计算距离。我怎样才能使这个循环并行,因为调用dist_fun
可以相互独立。
编辑:我使用的距离函数fastdtw
不是那么快。所以我认为真的想要并行化这个。使用:
我得到 58.1084 秒的执行时间,并使用:
我得到 116.36 秒并使用:
我得到 55.62 秒。在这里N=33
。是否scipy
自动使用所有可用内核?
编辑:我想我已经找到了使用该软件包的解决方法,但是在发布我认为有效的方法之前multiprocessing
,我会留下未回答的问题,让joblib人员做出回应。
python - R R中的DTW包用于不同长度的序列
我在 R 的列表中有多个不同长度的序列。我想构建 DTW 距离矩阵以供层次聚类使用。当我在 R 中运行以下命令时:
我得到以上错误。我没有 NAN 或缺失值,但它们的长度不同。我知道 matlab dtw 可以支持不同长度的序列。谁能建议我如何在 R 中解决这个问题?
另外,为了计算所有观察集之间的 DTW 距离,我应该为每两个数据系列编写一个 for 循环,或者 R 或 Python 中是否有任何命令可以计算给定列表或字典作为输入的距离。
我想获得上述输入的距离矩阵。
python - dtaidistance的distance_matrix_fast函数很慢
我正在使用 Python 包dtaidistance进行快速 DTW 计算。如文档中所述,可以使用以下代码:
计算系列集之间的 DTW 距离度量。我正在使用的时间序列的长度为 3000。总的来说,我的每个数据集大约有 3500 个这些序列。
不幸的是,我无法在相当长的时间内从这个函数中得到任何结果。在我的机器(128 GB RAM、32 个 CPU 内核、4 个 Nvidia GPU)上,我不得不在一天后中止计算。令人惊讶的是,我什至没有看到这个函数的任何输出,即使我将参数“show_progress”(参见源代码)设置为 true。
我在这里做错了什么?非常感谢您的帮助。