Which Algorithm to choose in pattern matching time serie?
I 've got multiple time series represented as multiple list of integers (in main memory, not in database). I need to perform a fast search, among all series, to find a specific pattern.
Example, detect the pattern [ (0,1), (3,2), (4,1) ] where (x,y) x = time, y = # series.
I've googled for pattern detection, pattern matching, but it seems there are thousand of algorithms, and I don't quite see the relation with my problem most of the time. I could do the first idea whose coming to my head, like ,for every point,checking the distance to the next point on specific train according to the pattern, and so on.
I need directions on where to start, because i'm confused among all theses researcher publications !
Thank you very much
Specification : I will make multiple pass, with a jitter associated. for example, let's take the pattern define above. For the first pass, I'll need to match exact pattern. The second pass, I will need to match the pattern with a jitter of one -> [ (0,1), ( 3 +- 1, 2) (4 +- 1, 1) ], second pass -> [ (0,1), (3 +- 2, 2) (4 +- 1, 1) ] etc. Jitters go up to five. Only the first "event" (time,# serie) is "constant" at all time.
I also need to add the fact that the maximum time in the time series are around 100 000, so it may be converted into a "bit string" of 0 and 1s.
EDIT : The VALUE at a specific time doesn't matter, I don't even have it. It just a series of "event" at different time & position (which serie the event is on). All events are equal. (papers sometimes detect patterns which has double value etc etc, but here it s useless)
Would it be possible for you to use a state machine to represent the problem? Like (0,1) can be a state and from there, you can expect the next state, based on the "turn" variable.