使用动态时间扭曲和凝聚聚类的时间序列聚类

数据挖掘 时间序列 聚类
2022-02-28 18:41:13

我是数据科学的新手,目前正在开展一个对电力消耗概况进行分类的项目。

这包括一年中每隔半小时从站点获取的电表读数(总共 17520 个读数)。我正在使用 Python 来分析数据。

我已经确定了当前对数据进行 z 归一化的过程,对整个数据集应用动态时间扭曲(使用DTAIDistance),然后使用网站上类似问题的答案所建议的凝聚聚类。我使用 scipy 使用“完整”链接生成了下面的树状图。

树状图

我对这个过程有一些疑问。

  1. 确定聚类质量的“最佳”* 指标是什么(即,我在树状图上在哪里设置截止?),是否有任何迭代方法来确定“最佳”截止?(* 我知道对于这种类型的聚类来说,“最佳”是相当主观的)
  2. 跟进 1. - 假设我想从我的 DTW 距离矩阵中生成肘部图。我将如何在 Python 中执行此操作?
  3. 如何确定我是否选择了正确的联动方式?我已经打折了 Ward 链接,因为它显然依赖于欧几里德距离矩阵并使用其他链接方法绘制了树状图,但我不确定评估它们对我的数据集的适用性。
  4. 我已经读到DTW 的大多数应用程序都需要 z 归一化数据- DTW 什么时候不需要z 归一化
  5. 我应该考虑其他任何聚类方法吗?
1个回答

从视觉上看,您的数据中没有集群。

如果您的数据有集群,那么会有带有小 MRCA 的子树,并有一条长线通向它。

有量化的指标,但你还没有。你能显示时间序列吗?(或者更好,发给我)

你可能很幸运,遇到了十个容易解决的问题之一。这篇论文

您问“DTW 何时不需要 z 归一化?” 答案是永远不会。埃蒙