我希望比较和聚类 10 个不同长度的时间序列。我可以使用哪些技术,它们是否在 R 中实现?
我发现动态时间换行很好,但它只适用于相同的长度吗?
我希望比较和聚类 10 个不同长度的时间序列。我可以使用哪些技术,它们是否在 R 中实现?
我发现动态时间换行很好,但它只适用于相同的长度吗?
恰巧几天前我读到了 Marco Cuturi 的论文“Fast Global Alignment Kernels” [1]。这个想法是将众所周知的 DTW 距离转换为适合在内核机器(例如 SVM)中使用的相似性。您不能直接将 DTW 距离转换为相似度并希望它会起作用(例如距离的负指数) - 您将获得非正定核。作者提出了一种具有全局对齐内核的新技术,以便可以访问良好的 DTW 属性并且内核是正定的。
我已经在几个标准时间序列分类数据集[2]上试验了他的代码,并对性能感到惊喜。他的方法的美丽和力量也适用于多变量时间序列。哦,它也适用于不同长度的时间序列。
十个时间序列可能太少,无法训练一个好的分类器。也许获得更多的例子是可能的。
论文,实现(C、MATLAB 和 Python)可以在[这里]找到。
更新:作者的网站已移动。请使用以下链接获取论文和实现[4]。
您可以简单地扩展我在如何统计比较两个时间序列?多到两个系列。本质上确定一个通用模型并估计全局和局部参数。执行 F 检验并接受或拒绝公共参数的假设。另一篇文章给出了类似的观点证明两个时间序列的相似性