如何对时间序列进行聚类?


22

我有关于聚类分析的问题。有3000家公司,必须根据5年内的用电量进行分组。每个公司在5年中每小时都有价值。我想找出在一段时间内某些公司的使用功率模式是否相同。结果应用于每日用电量预测。如果您对如何在SPSS中对时间序列进行聚类有什么想法,请与我分享。


1
我建议您查看页面右侧的相关链接。有很多性质非常相似的问题,请参见是否可以基于曲线形状进行时间序列聚类?建模其中的时间的影响功能形式的个体之间变化的纵向数据为只是两个例子。
安迪W

SAS中的Proc相似性可以聚类时间序列。
预测者

Answers:


11

A)在预处理数据上花费大量时间。预处理是您工作的90%。

B)为时间序列选择适当的相似性度量。例如,阈值穿越距离可能是一个不错的选择。除非您具有不同的时区,否则您可能不希望动态时间规整距离。越过阈值可能更适合于检测时间模式,同时不注意实际大小(这可能因公司而异)。

C)使用可以与任意距离函数配合使用的方法(如层次聚类或DBSCAN 聚类所得的不相似矩阵。


您能解释为什么动态时间扭曲距离对于时间序列聚类不是一个好的选择吗?
Hardik Gupta

那不是一般性声明。这是否好取决于是否要允许时间扭曲。
Anony-Mousse

7

您可能需要查看每天,每周和每年的周期性的每小时时间序列预测有关每小时数据的讨论,其中涉及每日数据和节假日/回归指标。您拥有5年的数据,而其他讨论则涉及883个每日价值。我的建议是,您可以建立每小时的预测,并结合诸如星期几之类的回归指标。一年中的一周和节假日使用每日总计作为其他预测指标。这样,您将为3,000个公司中的每个公司拥有24个模型。现在您想要做的是按小时计算,使用通用的ARIMAX结构估算3,000个模型,其中考虑了每个回归指标,周几,周几变化的响应模式参数和每周指标,同时隔离异常值。然后,您可以使用所有3000家公司在全球范围内估算参数。执行Chow测试http://en.wikipedia.org/wiki/Chow_test为了保持参数的稳定性和在拒绝时将公司分成同类组。我将其称为一维聚类分析。由于SPSS在时间序列上的功能非常有限,因此您可能需要在此处查找其他软件。


1
“香草”似乎是一个关于R的奇怪词;对于更常用的R术语的翻译尚不清楚。基本R和来自CRAN的额外贡献软件包之间的任何区别实际上都不会咬住有经验的用户,甚至不会吸引新手,因为它们是免费的并且可以平等地获得。我的印象是,可以访问SPSS的人可以很容易地说,如果不编程,当前在SPSS中是不可能的。要对R说同样的话,需要熟悉所有时间序列包。
Nick Cox
By using our site, you acknowledge that you have read and understand our Cookie Policy and Privacy Policy.
Licensed under cc by-sa 3.0 with attribution required.