我有多个时间序列表示为多个整数列表(在主内存中,而不是在数据库中)。我需要在所有系列中执行快速搜索以找到特定模式。
例如,检测[ (0,1), (3,2), (4,1) ]
(x,y) x = time, y = # series 的模式。
我搜索了模式检测、模式匹配,但似乎有数千种算法,而且我大部分时间都不太明白与我的问题的关系。我可以做第一个想到的想法,例如,对于每个点,根据模式检查特定火车上到下一个点的距离,等等。
我需要从哪里开始的指导,因为我对所有这些研究人员的出版物感到困惑!
非常感谢
尼科
规范:我将进行多次传递,并带有相关的抖动。例如,让我们采用上面定义的模式。对于第一遍,我需要匹配精确的模式。第二遍,我需要匹配抖动为 1 -> [ (0,1), ( 3 +- 1, 2) (4 +- 1, 1) ] 的模式,第二遍 -> [ (0 ,1), (3 +- 2, 2) (4 +- 1, 1) ] 等。抖动最多可达 5 个。只有第一个“事件”(时间,# serie)始终是“恒定的”。
我还需要补充一点,时间序列中的最大时间在 100 000 左右,因此它可以转换为 0 和 1 的“位串”。
编辑:特定时间的价值无关紧要,我什至没有。它只是在不同时间和位置的一系列“事件”(事件发生在哪个系列)。所有事件都是平等的。(论文有时会检测到具有双重价值等的模式,但在这里它是无用的)