Introduction to Time Series
General concepts about Time Series
General concepts about Time Series
Last updated 23rd August, 2019
Time Series are everywhere, this page explains what can be defined as Time series and how they can be modelized on a quick example.
Simply speaking : A Time Series is a sequence of measurements over time.
We call a Time Series, a sequence of evolving values over time. These values, named data points or measurements, are added as they come, with a stable frequency or not.
To ease readability, let's visualise with colors instead of degrees values. We can use the Celsius degree as an Y axis to graph the temperature evolution along the day.
Like in this small example, a graph with a value as an axis, and a time as the second one is just a Time Series visualisation.
Time Series are everywhere, here are just few examples:
In the draw above, we have considered a simple series named temperature, but we tend to qualify more our data. There are situations where temperature will not be enough to qualify your series. In a home you could measure temperature at different places like :
This why we need labels (or tags, dimensions,...) to enhance the data modeling. And now our data model looks like :
All rooms with be a simple value associated with a key room.
Labels are key/value pairs used to qualify series. They are immutable, which means if you change something in the labels set, it won't affect the previous series but it will create a new one. This also means that your Time Series data model need to be designed carefully (read more on this in the dedicated section).
To consider what should be put into class vs labels, follow our guide on How to design a good Time Series data model.
Given the many aspects they can have, the storage, retrieval and analysis of time series cannot be done through standard relational databases, like SQL. Instead it needs a custom built system, not only a Time Series Database, but a whole solution that will enable usability of the data.
We can find here and there many Time Series Databases that claim to solve the same storage system but most of them fail in their mission to provide you the right tools and protocol to let you enjoy your data.
Once you have define the good Time Series model for your own need (in the case of monitoring, most of the time your collecting software will choose it for you), you will push data points or measurements.
These data points can be of multiple types (Long, Double, String, Boolean) given the protocol you use. You can refer to the matrix compatibility to know which one fits you best.
While a common use case for Time Series is to plot them as a graph, using line charts or sparklines, many customers will need to perform custom analysis on their Time Series for domains like :
In order to achieve these goals, many algorithms can be used. Here is a short selection of most common features that a customer, looking for analysis capabilities, should pay attention to :
|Discrete Wavelet Transform (DTW)||Wavelet transformation with temporal resolution|
|Dynamic Time Warping (DTW)||Find similarities between Time Series|
|Signal Smoothing (Moving Average, Exponential, Holt-Winters)||Process signal smoothing using different approach|
|Fourrier Transform (FFT)||Convert a signal into its frequency representation|
|Kernel Smoothing (Cosine, Epanechnikov, Gaussian,...)||Estimaate a value using Nadaraya–Watson kernel regression functions|
|Leat Triangle Three Bucket (LTTB)||Downsample Time Series for visual representation|
|Outlier detection (ESD, Grubbs, STL, Z-score, Thresholds,...)||Detect outliers from a Time Series set|
|Mathematical transformations (Trigonometry, Quaternions,...)||Apply maths operators and functions to values|
|Quantifications & Histograms||Generate quantifications and build histograms to get the value distribution|
|Seasonal Trend Decomposition (STL)||Extract seasonal and trend parts from a Time Series|
|Variance & Standard Deviations||Speak for themselves|
You can use Time Series to predict the future. By learning from an existing signal, you can forecast this signal by predicting future points. Using different techniques, like AutoRegressive Integrated Moving Average (ARIMA) for linear models or others (or a combination) more adapted for multivariate Time Series.
N’hésitez pas à nous proposer des suggestions d’amélioration afin de faire évoluer cette documentation.
Images, contenu, structure… N’hésitez pas à nous dire pourquoi afin de la faire évoluer ensemble !
Vos demandes d’assistance ne seront pas traitées par ce formulaire. Pour cela, utilisez le formulaire "Créer un ticket" .
Merci beaucoup pour votre aide ! Vos retours seront étudiés au plus vite par nos équipes..
Accedez à votre espace communautaire. Posez des questions, recherchez des informations, publiez du contenu et interagissez avec d’autres membres d'OVHcloud Community.Echanger sur OVHcloud Community