我再重申一下我的理解,如果有错误的地方请指正。我观察到,在你的两个图中,你的蓝色一维系列保持相同,而绿色则被拉伸。您是如何做到这一点的,您已在 2013 年 9 月 19 日 9:36 的帖子中对此进行了解释。你的前提是,因为(1)DTW“照顾”时移,(2)你所做的一切都是纵向拉伸一个时间序列,不影响 y 值,(推论:)你期望距离保持不变。
[(1),(2)] 和 [(Inference)] 之间缺少一些链接。也就是说,当您更改信号集本身时,与映射相对应的各个距离值将发生变化。这将导致整体距离计算的差异。绘制扭曲路径、成本网格以亲自查看。
让我们看一个过于简单化的案例......
Let
a=range(0,101,5)
= [0,5,10,15...95, 100]
and b=range(0,101,5)
= [0,5,10,15...95, 100]。
现在直观地说,您/我会期望 2 个信号之间一一对应(对于 DTW 映射),并且所有映射的距离均为 0,信号看起来相同。
现在如果我们做,b=range(0,101,4)
= [0,4,8,12...96,100],
a 和 b 之间的 DTW 映射仍然会以 a 的 0 映射到 b 的 0 开始,并以 a 的 100 映射到 b 的 100 结束(边界约束)。另外,因为 DTW“负责”时移,所以我还期望两个信号的 20 秒、40 秒、60 秒和 80 秒相互映射。 (我自己没有尝试过对这两个进行 DTWing,这是凭直觉说的,所以请检查一下。发生非直觉扭曲的可能性也很小,具体取决于允许的步骤模式/全局约束,但让我们使用直觉扭曲为了便于理解/简单起见)。
对于其余数据点,显然,与映射相对应的距离现在不为零,因此总距离也不为零。我们的距离/总成本值已从零变为非零。
现在,当我们的信号过于简单化、线性增加时,就会出现这种情况。想象一下,当您拥有现实生活中的非单调信号并需要找到它们之间的时间扭曲时,将会出现什么样的变化。 :)
(PS:请不要忘记给答案点赞:D)。谢谢。