Skip to content
/ UniTS Public

Official implementation of "UniTS: A Universal Time Series Analysis Framework Powered by Self-supervised Representation Learning"

License

Notifications You must be signed in to change notification settings

LceOmlet/UniTS

Folders and files

NameName
Last commit message
Last commit date

Latest commit

 

History

68 Commits
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 

Repository files navigation

Official Implementation of "UniTS: A Universal Time Series Analysis Framework Powered by Self-supervised Representation Learning".

UniTS is a powerful framework for time series analysis that incorporates self-supervised representation learning to address practical challenges such as partial labeling and domain shift. With UniTS, users can easily perform analysis tasks using user-friendly GUIs and benefit from its convenience. The components of UniTS are designed with sklearn-like APIs, allowing for flexible extensions. This project's GitHub repository provides access to the UniTS framework and related resources.

Our demonstration video.

Please view our demonstration video.

What's new?

An effective and comprehensive representation learning method:

💥 💥 A Shapelet-based Framework for Unsupervised Multivariate Time Series Representation Learning 💥 💥.

The theoretical foundation of url for ts is being built by considering shaplet as adaptive wavelet.

How to Install?

Linux

  1. Install miniconda.
  2. Simply run bash env.sh and waiting for the environment to be installed.

Just run python app.py in the created python environment "UniTS". After few seconds, you will see the GUI.

Windows

Almost the same as installing in linux system.

  1. Install miniconda.
  2. run env.sh as .bat file. Just run python app.py in the created python environment "UniTS".

Suported methods & datasets.

datasets

|-- path/to/dataset
|   |-- $(dsid) (name of the dataset)
|       |-- $(dsid)_TEST.ts
|       |-- $(dsid)_TRAIN.ts

The .ts files should be constructed as described in ts file format. When doing classification or anomaly detection tasks, identifiers, @targetLabel or @classLabel should be contained in the file.

methods

How to change optimization parameters of the training tasks?

Defaults hyper-parameters are defined at ts_url/models/default_configs for all the tasks (anomaly_detection, classification, clustering, imputation, regression) and all supported unsupervised methods. Here we provide an example of hyper-parameters selected for an imputation task, no matter which methods or models are used during the pretraining phase, and how the representations are fused, the parameters can be selected independently.

{
    "batch_size": 64,
    "optimizer": "Adam",
    "@optimier/choice": [
        "Adam",
        "RAdam"
    ],
    "lr": 0.001,
    "l2_reg": 0,
    "print_interval": 10,
    "epochs": 10,
    "mask_distribution": "geometric",
    "@mask_distribution/choice": ["geometric", "bernoulli"],
    "mean_mask_length": 3,
    "exclude_feats": null,
    "evaluator":"ridge"
}

The hyper-parameters can be changed at anytime before a task being invoked.

Todo List

  • Support insightful visualization for all supported downstream tasks.
  • Support customed datasets.
  • Support fast and convenient installation.
  • Support convenient registrations for more URL models.
  • Support convenient registrations for more self-supervise signals.
  • Support alignment methods to distil knowledge from multiple encoders.
  • Support more convenient APIs for advanced development.

About

Official implementation of "UniTS: A Universal Time Series Analysis Framework Powered by Self-supervised Representation Learning"

Resources

License

Stars

Watchers

Forks

Releases

No releases published

Packages

No packages published