AlgoMathITMO / Timesergraph

Time series analysis by means of graph network

Geek Repo:Geek Repo

Github PK Tool:Github PK Tool

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

    About

    Time series analysis by means of graph network


    Languages

    Language:Jupyter Notebook 91.6%Language:Python 7.0%Language:C++ 1.4%Language:C 0.1%