Time series analysis by means of graph network (compared to series features analysis). (For "Evaluating Time Series Predictability via Transition Graph Analysis" in ICDM 2021 workshop: Systematic Feature Engineering for Time-Series Data Mining (SFE-TSDM))
Content
Libraries - the folder that contains procedures for time series forecasting, graph construction and some other useful deeds. All of the forecasting procedures are unified for input and output parameters.
Autoregr.py - autoregressive predicting model with research tool that helps to test the model on different parts of a series. (The same function is available for the other forecasting models)
ChooChoo.py - forecasting model based on maximal likeness invented by Irina Chuchueva.
EmbDim.cpp, EmbDim.h, EmbDim.so - computation of embedding dimencion (C++ for Python).
features.py - time series features calculation.
graph.py - graph construction and manipulation.
HurstExp.cpp, HurstExp.h, HurstExp.so - computation of Hurst's exponent (C++ for Python).
Localapp.py - forecasting model based onlocal approximation invented by prof. Yuriy Loskutov.
NeurosV.py - predicting recurrent neural network with LSTM sells.
Spectrum.py - forecasting model of singular spectrum analysis.
Util.py - some useful things.
RealWeekly - the folder with 34 real-world time series for a 10-year period of weekly frequency from open sources.
ArtSerGenerator.py - the script that generates arificial time series as the sums of periodical components, transition process, white noise and random walking taken in different proportions. It places them into the 'Art_series' folder which will be created if not exist or emptied if contains any file.s
Classifier.ipynb - experiments with classification models trained on artificial data applied to real-world series.
ForecastAndFeatures.py - computation of mean MAPE for each of the forecasting models, graph characteristics and series features for each time series in data set.
Predictab.ipynb - experiments on time series clustering by characteristics of corresponding graph.
Requirements and dependences
numpy, pandas, matplotlib as usual
itertools - for artificial time series generator
networkx - for graph construction and its characteristics computation
scipy, sklearn - for time series features computation
keras - forecasting model and classificator
xgboost - for Classifier.ipynb
ctypes (C++ objects (EmbDim.so, CCorrent.so, and HurstExp.so) were compiled with gcc for Windows'10 and wrapped to CEmbDim and CНurst functions to be used with Python. C++ sourse codes are available here, besides, there are 'pure' Python functions for the same purposes (DimEmb and HurstTraj) in features.py module)