语境
我参与了将 500 个观测值的 1500 个时间序列聚类成几个聚类的任务。时间序列在不同的空间位置共享所有相同的观察属性,但响应相同的外生变量。但是,对于每个时间序列,响应的幅度非常不同。对于时间序列的参考, 我想被分组在相同的集群系列中对全部.
选拔赛
到目前为止,我对这个问题的解释是我想对时间序列进行聚类,共享一个强单调关系。我的第一次尝试通过定义基于距离的 Kendall 的 tau 等级系数来使用层次凝聚聚类,因为它衡量了单调关系的强度。通过视觉解释,使用 Ward 的链接方法获得了最好的结果。然而,由于几个原因,这种方法似乎是非正统的、不可靠的或值得怀疑的。
首先,Scipy 文档在这里提到Ward 的方法仅在使用欧几里得距离时才是正确的。其次,我找不到任何基于 Spearman 或 Kendall 的 tau 系数的时间序列聚类的详细应用。此外,令我感到非常惊讶的是,我找不到任何针对基于单调标准进行聚类的论文或参考资料。
我愿意考虑其他方法,尽管我无法衡量它们的好处。例如,重新调整所有时间序列以将它们映射到标准化的高斯分布(例如 Box-Cox),然后使用欧几里得距离。另一种可能性是将时间序列的一阶差分转换为布尔向量(如果,否则),然后使用欧几里得距离或其他距离度量。
问题
由于我是时间序列聚类的新手,因此我很难自己想象对于这个特定目的来说最好的方法(或更糟)是什么。因此,我有两个相关的问题:
- 具体来说,使用基于 Kendall 的 tau 和 Ward 的链接方法的层次聚类是错误的方法,为什么?
- 一般来说,基于单调关联对时间序列进行聚类的最佳方法是什么?
也欢迎有关该主题的一些参考资料。