baobabsoluciones/mango

Review detect_seasonality function.

Open

#156 opened on Nov 18, 2024

 (0 comments) (0 reactions) (0 assignees)Python (2 forks)auto 404
help wanted

Repository metrics

Stars
 (3 stars)
PR merge metrics
 (PR metrics pending)

Description

The procedure for detecting the periods in a series is as follows:

  1. We obtain the ACF autocorrelation values and calculate the autocorrelations with local maximum, indicating the potential periods.
  2. We also rely on the fourier transform that transforms the signal in the frequency domain and detect those frequencies with high powers.

The ACF function provides a more accurate estimate of each periodicity, especially for longer periods, compared to the Fourier transform. However, it is not sufficient by itself due to the difficulty of selecting the most predominant peaks. Indeed, for a multiple periodicity, ACF is not able to detect it, while TF is.

The way to detect the periods is based on the paper:

Puech, T., Boussard, M., D’Amato, A., & Millerand, G. (2020). A fully automated periodicity detection in time series. In Advanced Analytics and Learning on Temporal Data: 4th ECML PKDD Workshop, AALTD 2019, Würzburg, Germany, September 20, 2019, Revised Selected Papers 4 (pp. 43-54). Springer International Publishing.

Problem: Sometimes it happens that the Fourier transform detects important frequencies in the noise of the signal and they are frequencies that, for the automatic calculation of the rest of the functions that apply the periods, are not relevant.

This funtion is in mango_time_series/mango_time_series/time_series/seasonal.py

Contributor guide