在R中创建时间序列的距离矩阵

时间:2014-07-28 08:24:54

标签: r matrix time-series distance

我有一个大约400个双变量时间序列的数据集,每个时间序列包含大约80,000个观测值。手动查看之后很明显有些非常相似,所以我想使用DTW(动态时间扭曲)对它们进行聚类。

现在,如果我尝试使用DTW方法创建整个集合的距离矩阵,R告诉我它需要50 GB的RAM(我没有)。是否可以使用for循环(或类似的)分别计算两个时间序列之间的距离?

您建议使用哪种其他距离方法来聚类时间序列?

1 个答案:

答案 0 :(得分:0)

如果你天真地做DTW,它是二次的,你的矩阵将有6400000000个元素,因此50 gig

但是如果你只需要距离而不是路径,你可以一次只使用两列,只需160000个元素,小于1兆字节

然而,仍有一些坏消息,空间复杂性不是问题,但时间的复杂性将会扼杀你。

但是,有一些技巧,比如下采样[a]可能有所帮助。

如果您需要更多帮助,请发送电子邮件至[a](我)

的最后一次创作

[a] http://www.cs.ucr.edu/~eamonn/SIGKDD_trillion.pdf