后续时间序列匹配

我在MATLAB中进行后续时间序列匹配时遇到了困难(我刚开始使用MATLAB)。

我有两个时间序列:A(长度为a)和B(长度为b)。假设a远大于b。任务是根据欧几里得度量找到A中与B最接近的窗口。

为了实现这一点,我构建了一个额外的矩阵C,用于存储A中长度为b的所有子序列,然后使用pdist2(C, B)。显然,这种方法运行速度慢且需要大量内存。

因此,我有几个问题:

  1. 如何在不使用循环的情况下获得C(实际上是重塑A)?

  2. 解决这个问题的常见方法有哪些?(最好是MATLAB中的方法,但其他环境的方法也可以)

感谢您的帮助!


回答:

对于第一个问题,您可以尝试

tmp = repmat(A,1,b);C = reshape([tmp zeros(1,b)],a,b);C = C(1:(a-b+1),:);

此外,与这个非常好的解决方案相比,pdist2的速度非常慢:在MATLAB中高效计算成对平方欧几里得距离

Related Posts

L1-L2正则化的不同系数

我想对网络的权重同时应用L1和L2正则化。然而,我找不…

使用scikit-learn的无监督方法将列表分类成不同组别,有没有办法?

我有一系列实例,每个实例都有一份列表,代表它所遵循的不…

f1_score metric in lightgbm

我想使用自定义指标f1_score来训练一个lgb模型…

通过相关系数矩阵进行特征选择

我在测试不同的算法时,如逻辑回归、高斯朴素贝叶斯、随机…

可以将机器学习库用于流式输入和输出吗?

已关闭。此问题需要更加聚焦。目前不接受回答。 想要改进…

在TensorFlow中,queue.dequeue_up_to()方法的用途是什么?

我对这个方法感到非常困惑,特别是当我发现这个令人费解的…

发表回复

您的邮箱地址不会被公开。 必填项已用 * 标注