Skip to content

Time series analysis by means of graph network

Notifications You must be signed in to change notification settings

AlgoMathITMO/Timesergraph

 
 

Repository files navigation

Timesergraph

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)
  • https://anonymous.4open.science/r/Timesergraph-3530/README.md

    Releases

    No releases published

    Packages

    No packages published

    Languages

    • Jupyter Notebook 91.5%
    • Python 7.0%
    • C++ 1.4%
    • C 0.1%