I have a program that detects events in a large amount of measurement data. When it detects an event, it writes a timestamp. I have thousands of event timestamps. What I wish to do is detect if there is periodicity in the timestamps I have. 

Pictures may aid my explanation: If I have a bunch of events on a timeline, as in the figure below, the events all seem to be random but there may be some kind of periodic component to the events.

[![Random events with possible periodicity on a timeline](https://i.stack.imgur.com/WYHb1.png)](https://i.stack.imgur.com/WYHb1.png)

What I wish to do is detect if any of the seemingly random events are following a strict repeating interval. An illustration is given below, where we see that in the seemingly random events above there are some data points that are repeating with a fixed frequency. 

[![Random events with detected periodicity on a timeline](https://i.stack.imgur.com/tzijW.png)](https://i.stack.imgur.com/tzijW.png)

I am not certain what kind of method to apply. I have looked into power spectral density, fourier transform and ARIMA. I applied fourier transform ([as in the answer here](https://math.stackexchange.com/questions/464893/detecting-periodicity-in-point-processes)) but was not able to make anything meaningful out of it. 

Properties of the applied method should possibly include: 

1. A quantitative measure of how strict or fixed the intervals are, or how 
certain we can be that we have detected a fixed cycle
2. The ability to detect periodicity on different timescales (e.g. events occurring multiple times within the same hour or multiple times during a week with a fixed pattern)

Anyone has suggestions how this could be done?