/DL_TS_platform

A General Deep Learning Time Series Forecasting Platform

Primary LanguagePythonMIT LicenseMIT

A Deep Learning based Time Series Forecasting Platform (PyTorch version)

This platform is designed with two considerations: 1. The architecture and training modules of neural networks can be reused for different tasks like a Lego. 2. NN modules, losses and training function can be exchanged easily in order to search a working combination for a specific task.

TS platform

The platform consists of four components:

  • encoders: Contains list of backbones of the NN models that encoding the input data into features before any loss functions
  • trainers: List of trainers to cope with different loss functions and training data formats.
  • TS_classifer&TS_regressor: The main interface of NN models
    • init(): Define the NN architecture based on the modules in the encoders.py
    • train(): Call modules in the trainers to train itself
    • load_model():
    • predict(): Inference after training
  • util: Support functions

Customers

One customer folder contains codes and data specific that to a customer. It typically contains:

  • customer_data: Customer provided data
  • customer_dataprocessing: Functions that created especially for processing customer data
  • customer_train: The main file for defining and training models. It will be the primary working file for a project.
  • customer_inference: Load pretrained models for new predictions. The main delivery to a customer.
  • customer_util: Support functions

Try losses defined in losses_exp.py (proposed by Conditional Mutual information-based Contrastive Loss for Financial Time Series Forecasting (Hanwei Wu, Ather Gattami, Markus Flierl) for supervised constrative learning.