我已经将多个时间序列表示为多个整数列表(在主内存中,而不是在数据库中)。我需要在所有序列中执行快速搜索,以找到特定的模式。
例如,检测模式序列,其中(x,y) x=时间,y=# [ (0,1), (3,2), (4,1) ]。
我在谷歌上搜索过模式检测和模式匹配,但似乎有上千种算法,大多数时候我看不出与我的问题有什么关系。我可以做第一个想法,它出现在我的脑海中,比如,对于每个点,根据模式检查到特定列车上下一个点的距离,等等。
我需要从哪里开始,因为我在所有这些研究人员的出版物中感到困惑!
非常感谢
尼科
说明:我将进行多次传递,并与抖动相关。例如,让我们以上面定义的模式为例。对于第一遍,我需要匹配确切的模式。第二遍,我将需要匹配抖动为1 -> (0, 1),(3 +- 1,2) (4 +- 1,1),第二遍-> (0,1),(3 +- 2,2) (4 +- 1,1)等抖动的模式。只有第一个“事件”( time,#序列)在任何时候都是“常量”。
我还需要补充一个事实,即时间序列中的最大时间大约是100000,因此它可能会被转换为0和1的“比特串”。
编辑:特定时间的值无关紧要,我甚至没有它。它只是在不同时间和位置(事件发生在哪个系列)上的一系列“事件”。所有事件都是平等的。(论文有时会检测到具有双重价值的模式等,但在这里它是无用的)
发布于 2013-05-15 01:02:35
您是否可以使用状态机来表示问题?像(0,1)可以是一个状态,从那里,你可以期待下一个状态,基于"turn“变量。
发布于 2020-02-10 16:22:11
中可以找到许多子序列时间序列聚类算法的综述
Zolhavarieh,S.,Aghabozorgi,S.,& Teh,Y.W. (2014)。子序列时间序列聚类研究综述《科学世界杂志》,2014年1-19期。https://doi.org/10.1155/2014/312521
https://stackoverflow.com/questions/16545946
复制相似问题