Skip to content

A Full-Pipeline AutoML&AutoDL Toolkit about Time Series.

License

Notifications You must be signed in to change notification settings

LIUZhaohan0/HyperTS

 
 

Repository files navigation

Welcome to HyperTS

简体中文

Python Versions TensorFlow Versions License

💫 Easy-to-use, powerful, unified full pipeline automated time series toolkit. Supports forecasting, classification and regression.

We Are Hiring!

Dear folks, we are offering challenging opportunities located in Beijing for both professionals and students who are keen on AutoML/NAS. Come be a part of DataCanvas! Please send your CV to [email protected]. (Application deadline: TBD.)

Overview

HyperTS is a Python package that provides an end-to-end time series (TS) analysis toolkit. It covers complete and flexible AutoML workflows for TS, including data clearning, preprocessing, feature engineering, model selection, hyperparamter optimization, result evaluation, and visualization.

Multi-mode drive, light-heavy combination is the highlighted features of HyperTS. Therefore, statistical models (STATS), deep learning (DL), and neural architecture search (NAS) can be switched arbitrarily to get a powerful TS estimator.

As an easy-to-use and lower-thoreshold API, users can get a model after simply running the experiment, and then execute .predict(), .predict_proba(), .evalute(), .plot() for various time series analysis.

Tutorial

English Docs / Chinese Docs Discription
Expected Data Format What data formats do HyperTS expect?
Quick Start How to get started quickly with HyperTS?
Advanced Ladder How to realize the potential of HyprTS?
Custom Functions How to customize the functions of HyprTS?

Installation

HyperTS is available on Pypi and can be installed with pip:

pip install hyperts

You can also install HyperTS from conda via the conda-forge channel:

conda install -c conda-forge hyperts

Note:

  • Prophet is required by HyperTS, install it from conda before installing HyperTS using pip.
  • Tensorflow is an optional dependency for HyperTS, install it if using DL and NAS mode.

For more installation tips, see installation.

Examples

Users can quickly create and run() an experiment with make_experiment(), where train_data, and task are required input parameters. In the following forecast example, we define the experiment as a multivariate-forecast task, and use the statistical model (stat mode) . Besides, the mandatory arguments timestamp and covariables (if have) should also be defined in the experiment.

from hyperts import make_experiment
from hyperts.datasets import load_network_traffic

from sklearn.model_selection import train_test_split

data = load_network_traffic()
train_data, test_data = train_test_split(data, test_size=0.2, shuffle=False)

model = make_experiment(train_data.copy(),
                        task='multivariate-forecast',
                        mode='stats',
                        timestamp='TimeStamp',
                        covariables=['HourSin', 'WeekCos', 'CBWD']).run()

X_test, y_test = model.split_X_y(test_data.copy())

y_pred = model.predict(X_test)

scores = model.evaluate(y_test, y_pred)

model.plot(forecast=y_pred, actual=test_data)

Forecast_Figure

Key Features

HyperTS supports the following features:

Multi-task Support: Time series forecasting, classification, and regression.

Multi-mode Support: A large collection of TS models, including statistical models (Prophet,ARIMA,VAR,etc.) , deep learning models(DeepAR,GRU,LSTNet,etc), and neural architecture search (to be developed).

Multi-variate Support: From univariate to multivariate time series.

Covariates Support: Deep learning models support covariates as input featues for time series forecasting.

Probabilistic intervals Support: Time series forecsting visualization can show confidence intervals.

Abundant Metrics: A variety of performance metrics to evaluate results and guide models optimization, including MSE, SMAPE, Accuracy, F1-Score,etc.

Powerful search strategies: Adapting Grid Search, Monte Carlo Tree Search, Evolution Algorithm combined with a meta-learner to enable a powerful and effective TS pipeline.

Communication

If you wish to contribute to this project, please refer to CONTRIBUTING.

HyperTS Related Projects

  • Hypernets: A general automated machine learning (AutoML) framework.
  • HyperGBM: A full pipeline AutoML tool integrated various GBM models.
  • HyperDT/DeepTables: An AutoDL tool for tabular data.
  • HyperKeras: An AutoDL tool for Neural Architecture Search and Hyperparameter Optimization on Tensorflow and Keras.
  • HyperBoard: A visualization tool for Hypernets.
  • Cooka: Lightweight interactive AutoML system.

DataCanvas AutoML Toolkit

DataCanvas

datacanvas

HyperTS is an open source project created by DataCanvas.

About

A Full-Pipeline AutoML&AutoDL Toolkit about Time Series.

Resources

License

Stars

Watchers

Forks

Packages

No packages published

Languages

  • Python 100.0%