我正在尝试使用不同的聚类技术在 Python 中对时间序列数据进行聚类。 K-means 没有给出好的结果。以下图像是我使用凝聚聚类进行聚类后的图像。我还尝试了动态时间扭曲。这两个似乎给出了相似的结果。
理想情况下,我想要的是第二张图片中时间序列的两个不同集群。第一张图片是一个快速增加的集群。第二个没有增加,有点像稳定,第三个是下降趋势的集群。我想知道哪些时间序列既稳定又流行(这里的流行是指高计数)。我尝试了层次聚类,但结果显示层次太多,我不确定如何选择层次级别。有人可以阐明如何将第二张图片中的时间序列分成两个不同的集群,一个是低计数,另一个是高计数吗?有可能做到吗?或者我应该只是在视觉上选择一个阈值将它们一分为二?
快速增长的集群:
计数稳定的集群:
呈下降趋势的集群:
这非常非常模糊,但这是我的层次聚类的结果。
我知道这个特殊的图像根本没有用,但这对我来说也是一个死胡同。
一般来说,如果您想区分趋势,例如 YouTube 视频,如何只为“趋势”部分选择一些,而为“本周趋势”部分选择其他一些?我知道“趋势”部分的视频与第一张图片具有相似的特征。 “本周热门”部分有一组视频,这些视频的观看次数非常多,但在计数方面却很稳定(即没有显示出快速增长)。我知道,对于 YouTube,除了观看次数之外,还有许多其他因素需要考虑。对于第二张图片,我想要做的类似于“本周趋势”部分。我想选择那些计数很高的。在这种情况下如何拆分时间序列?
我知道 DTW 捕捉趋势。 DTW 给出了与上述图像相同的结果。它已识别出第二张图像中的趋势,即“稳定”。但它并没有在这里捕获“计数”元素。我希望同时捕获趋势和计数,在这种情况下稳定且计数高。
上图是根据计数聚类的时间序列。我是否错过了可以实现这一目标的任何其他聚类技术?即使只有计数,我如何根据我的需要进行不同的聚类?
任何想法将不胜感激。提前致谢!