我对如何测量具有相同长度的两个时间序列之间的相似性感到困惑。例如,两个时间序列的长度均为 2 小时,每 5 分钟为一个点。我真的很想知道我应该使用哪种距离算法。我已经尝试过欧几里得距离,但它在这种类型的数据上效果不佳。我应该找到一些点对点距离算法吗?
如何衡量两个系列之间的相似度?
数据挖掘
时间序列
相似
距离
2022-03-14 11:01:51
1个回答
用于时间序列相似性计算的经典方法是动态时间规整 (DTW)。
根据您的描述,它可能适合您的用例:
通常,DTW 是一种计算两个给定序列(例如时间序列)之间的最佳匹配的方法,具有一定的限制和规则:
- 第一个序列中的每个索引必须与另一个序列中的一个或多个索引匹配,反之亦然
- 第一个序列的第一个索引必须与另一个序列的第一个索引匹配(但它不必是唯一匹配)
- 第一个序列的最后一个索引必须与另一个序列的最后一个索引匹配(但不一定是唯一匹配)
- 从第一个序列的索引到另一个序列的索引的映射必须是单调递增的,反之亦然,即如果是来自第一个序列的索引,那么在另一个序列中不能有两个索引,使得索引与索引匹配,索引与索引匹配,反之亦然
在这篇关于时间序列差异度量的文献综述中可以找到 DTW 的一些替代方案。