I am working on a problem where I have to first classify whether a time-series is periodic or not and then, if it is periodic identify its period(s) (the time-series could have multiple periodicities, also).

I need a reliable approach to say that a time-series is not periodic. I have been searching about this topic and these are some leads:

Are there some other properties of time-series that can be used?

  • $\begingroup$ I would love some of the promising citations you have seen for your two bullet points. :) Also: Welcome to CV, Hari. $\endgroup$ – Alexis Mar 12 at 7:46
  • $\begingroup$ Please, see the updates. $\endgroup$ – Hari Mar 12 at 7:54

I would approach the problem "check if a time-series is not periodic" as follows

Maybe this is a bit naive approach but for, at least a simple case, it seems to work (see example below).


As minimal test for this 2-stages approach we could see how it works if we have the following 2 series:

  • Periodic series: $y_{i}^{(1)} = \sin(x_{i}) + \epsilon_{i}$
  • Non periodic series: $y_{i}^{(2)} = \alpha + \beta x_{i} + \epsilon_{i}$

where $x_{i} = [-2\pi, 2\pi]$ and $\epsilon_{i} \sim N(0, \sigma^{2})$ and $i = 1,...,N$.

Below you will find a R code for these settings. The harmonic test is performed for the two series using the PML package.

N  = 100
x  = seq(-2*pi, 2*pi, len = N)
ep = rnorm(N) * 0.25
y1 = sin(x) + ep
y2 =  x + 0.5 + ep 

re1 = test.harmonic(y1, p = 0.025/(N - 1)) # p: correct for multiple freq 
        frequency     prop (g)  p-value     p-threshold
      1 50.000000 0.3565748 3.148508e-08 0.0002525253
      2  2.857143 0.0316902 1.000000e+00 0.0002525253

re2 = test.harmonic(y2, p = 0.025/(N-1))
      frequency  prop (g)      p-value  p-threshold
      1 100     0.2077127   0.0006863734 0.0002525253

From the results above we notice that for $y^{(1)}$ we have one significant frequency while for the linear function we do not find any.

I hope this answer helps (maybe it does not solve your problem but suggests a possible line of investigation).


Your Answer

By clicking “Post Your Answer”, you agree to our terms of service, privacy policy and cookie policy

Not the answer you're looking for? Browse other questions tagged or ask your own question.