首页
学习
活动
专区
圈层
工具
发布
首页
学习
活动
专区
圈层
工具
MCP广场
社区首页 >问答首页 >测量不同长度阵列的相似性

测量不同长度阵列的相似性
EN

Stack Overflow用户
提问于 2015-03-19 21:06:28
回答 1查看 72关注 0票数 0

我有两个二维阵列:

代码语言:javascript
运行
复制
a: [(1,2), (1,3) (2,3), (4,5), ...... (100,101), (101,102)]

b: [(2,2), (2,1) (3,2), (4,3), ...... (100,99), (101,101)]

假定a:101的长度假定b:101的长度

还有一个数组:

代码语言:javascript
运行
复制
c: [(4,4), (4,5), (7,7) ... (22,24)]

假定c:21的长度

我想找到一种方法来知道数组c是否更类似于a或b。

===========

到目前为止,我所做的尝试是相当简单的,但结果并不完美:

  1. 第1步:计算c和a的DTW距离,使用c数组长度的窗口大小(因为数组c较小),您将得到DTW距离的数组,并得到它的平均值。即0.212
  2. 第二步:在c和b上做同样的事情,得到平均值。即0.32
  3. 步骤3:如上面所述,c与a更相似,因为平均dtw距离较小。

但是(总是有一个,但是),结果并不完美,错误发生了。

===========

附加到我最初的问题:

更好的方法吗?小心c的数组不是固定的。

非常感谢各位。

EN

回答 1

Stack Overflow用户

发布于 2015-03-19 21:20:00

DTW是对距离的一个很好的度量,但是在取它之后,您只做了一个平均值,这显然不是一个很好的距离度量,因为它没有考虑到偏差,例如。目前还不清楚在取完距离后,如何以数组结束。你的数组似乎是由向量组成的,所以它只是一个普通的数组,但是与其把A和B作为标量,不如把它们作为向量。

您也说过,数组a小于c,但在示例中,数组a的长度为101,数组c的数组长度为21。

我还建议您进一步研究FastDTW,这是一种用于DTW:https://code.google.com/p/fastdtw/的摊销线性时间和空间算法。

HMM:模型

票数 0
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/29155024

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档