我想做一个时间序列聚类任务。假设我们有四个数据 (t1~t4)。
t1={1,1,1,1,1,1,1}
t2={10,10,10,10,10,10,10}
t3={100,100,100,100,100,100,100}
t4 = {1,5,9,13,17,21,25}
Run Code Online (Sandbox Code Playgroud)
在这里,我在这个例子背后的意图是我想把 t1、t2、t3 组合在一起,因为它的形状是一条恒定的线。但是,t4 看起来像上升线,所以它应该在其他组中。
但是,如果我使用 DTW(python mlpy 包)计算 t1 和其他人之间的距离,我得到的结果如下:
t1-t1: 0 (absolutely)
t1-t2: 63
t1-t3: 693
t1-t4: 84
Run Code Online (Sandbox Code Playgroud)
我们可以看到,t1-t3 之间的距离远大于 t1-t4 之间的距离。我猜是因为 t3 的幅度幅度比其他幅度大得多。
在这种情况下,在适应 DTW 之前对每个时间序列数据使用 min-max 归一化(即 0 到 1 归一化)是个好方法吗?换句话说,使 t1, t2, t3 为 {0,0,0,0,0,0,0},t4 为 {0, 0,17,...., 1}?然后,DTW 根据我的需要返回结果。
很快,我想知道在 DTW 之前规范化任务是否合适。我是 DTW 的新手,很抱歉打扰您的基本问题!:)