I have a one dimensional point process representing the times of events which is also mixed in with lots of data that I regard as noise. The interval between the events in the point process are geometrically increasing.
The total number of points is of order one million. I would like to detect (approximate) processes of this form in the data. What is a good method for doing this?
As an example, if my points are 1, 7, 8, 10, 16, 25, 28, 30, 31,50, 52 I would like to detect 7, 10, 16, 28, 52. As my values are reals and come from measurement I need this to tolerate small errors in the data.
As another example, points in such a pulse train will be of the form $t_0 + \sum_{i=1}^n a*k^{i-1}$. In the example above, $t_0 =7$, $a=3$, $k=2$.
You might try looking for quartets $(a,b,c,d)$ where $a$ and $d$ are not too far apart, and $(a-b)(c-d)-(b-c)^2$ is relatively small. Then see whether the quartet extends to a fifth, and so on. Will you ever miss the occasional term from the dataset?