Time series periodicity bootstrapping I'm interested in analysing the periodicity of a parameter X, measured over time on cells. The method I am using is destructive, so I cannot follow the same cell over time, but I am rather measuring different groups of cells belonging to the same population, but taken at different point in times.
I have values for X every 15' from time 0 to time 120', 150-200 cells per time point, and I want to establish whether X is periodic over time.
I thought of the following approach:


*

*Create a "family" of time series by sampling with replacement from the distribution of X at each time point.

*Measure some periodicity index for these time series

*Create another group of time series by sampling with replacement from all of the time points (i.e. not keeping the temporal order of the data)

*Measure the periodicity index and calculate CI for it.

*Compare the mean of the index calculated in 2 with 4.


Is this approach correct, or would you suggest something else?
What periodicity test would you recommend for such short time series (only 9 points)?
 A: The problem with testing periodicity for nine data points is that even entirely random datasets of that size are likely to have some periodic features just by chance. To illustrate this I applied a test I have recently developed¹ that answers whether the data complies with periodicity in a rather strict sense (there exists a periodic function that interpolates the time series and all of whose local extrema are captured by the time series) to 100000 entirely random time series of length 9. For these I get:


*

*1128 time series (1.1 %) are periodic with a period length between 2 and 3.

*3591 time series (3.6 %) are periodic with a period length between 2 and 4.

*11891 time series (12 %) are periodic with a period length between 2 and 5.


So, unless you can impose some strong constraints on your period length a priori, you cannot make any meaningful statement with your data. Also bear in mind that this becomes even worse if you need to losen the conditions on periodicity or there are any other sources of temporal correlation in your time series.
Having many data points for each time point only allows you to reduce noise on your data (by averaging), but to tackle the above problem you need a finer temporal sampling, a strong constraint on your period length or additional constraints on the shape of your underlying periodic function.
Even if we ignore the above problem for a second, there is another problem to your approach: If I understood correctly that there are no samples associated over different time points (e.g., the first cell for your first time point came from the same run as the first cell for your second time point but not as the second cell for your second time point) and if the effect of noise is comparably high to your underlying periodic effect, you may destroy effects of an underlying periodicity in step 1. In this case, the periodicity may only become apparent through averaging and thus I propose that you average the data for each time point and test the resulting time series for periodicity².
For what you have now (at least as far as described in the question), however, you can only plot the average and the standard deviation for each time step (or just all of your data points) and see whether it allows to outright reject periodicity (e.g., because there is a clear monotonic increase).

¹ To sort-of self-answer this question of mine, when it’s published.
² In which case you might generate surrogate or bootstraps of that average time series by simply shuffling its values, if your test requires for that. Which of the many periodicity tests would be appropriate in that case strongly depends on the nature of your data and how exactly you define periodicity.
