On a method for detecting periods and repeating patterns in time series data with autocorrelation and function approximation. (June 2023) - Breitenbach, Tim; Wilkusz, Bartosz; Rasbach, Lauritz; Jahnke, Patrick
Highlights: Period and repeating pattern detection in time series data. Quantification of periodicity in multi-dynamics data by autocorrelation and ML-function approximation. Using a phase feature from the periodic information to improve accuracy of ML predictions. Abstract: Detecting recurrent patterns in time series data is an important capability. The reason is that repeating patterns on the one hand indicate well defined processes that can be further analyzed once detected and on the other hand are a reliable feature to predict future occurrences and adapt accordingly. The challenge in real data to define a period is that a time series is usually also influenced by non-periodic dynamics and noise. In this work, a mathematical framework is proved to define regular patterns. Their properties are used within a suggested algorithm based on the concept of autocorrelation and function approximation to fit a model capturing the periodic part of the time series. Based on that model and a corresponding autocorrelation, a new score is defined to evaluate how well a hypothesized period fits to the time series. This score is particularly useful in a big data scenario where decisions for periodicity are needed to be taken automatically, which is one of the main achievement of the presented work. The period analysis algorithm is applied to data from two different use cases. The first one is a data center scenario where the information of the periodic pattern is used to create a feature that improves a machine learning framework predicting future resource demands. The feature represents the phase of the repeating pattern. In a second scenario, expression data from mice liver cells are investigated concerning periodic rhythms. A Python implementation of the presented algorithm is provided via a github repository under https://github.com/LauritzR/period-detection .