All Projects → sdv-dev → DeepEcho

sdv-dev / DeepEcho

Licence: MIT license
Synthetic Data Generation for mixed-type, multivariate time series.

Programming Languages

python
139335 projects - #7 most used programming language
Jupyter Notebook
11667 projects
Makefile
30231 projects

Projects that are alternatives of or similar to DeepEcho

Sdv
Synthetic Data Generation for tabular, relational and time series data.
Stars: ✭ 360 (+718.18%)
Mutual labels:  time-series, generative-adversarial-network, data-generation
mtss-gan
MTSS-GAN: Multivariate Time Series Simulation with Generative Adversarial Networks (by @firmai)
Stars: ✭ 77 (+75%)
Mutual labels:  time-series, generative-adversarial-network, synthetic-data
genalog
Genalog is an open source, cross-platform python package allowing generation of synthetic document images with custom degradations and text alignment capabilities.
Stars: ✭ 234 (+431.82%)
Mutual labels:  data-generation, synthetic-data, synthetic-data-generation
Data Augmentation Review
List of useful data augmentation resources. You will find here some not common techniques, libraries, links to github repos, papers and others.
Stars: ✭ 785 (+1684.09%)
Mutual labels:  generative-adversarial-network, data-generation
Awesome Ai Ml Dl
Awesome Artificial Intelligence, Machine Learning and Deep Learning as we learn it. Study notes and a curated list of awesome resources of such topics.
Stars: ✭ 831 (+1788.64%)
Mutual labels:  time-series, data-generation
Ctgan
Conditional GAN for generating synthetic tabular data.
Stars: ✭ 297 (+575%)
Mutual labels:  generative-adversarial-network, data-generation
Gratis
GRATIS: GeneRAting TIme Series with diverse and controllable characteristics
Stars: ✭ 51 (+15.91%)
Mutual labels:  time-series, data-generation
Ad examples
A collection of anomaly detection methods (iid/point-based, graph and time series) including active learning for anomaly detection/discovery, bayesian rule-mining, description for diversity/explanation/interpretability. Analysis of incorporating label feedback with ensemble and tree-based detectors. Includes adversarial attacks with Graph Convolutional Network.
Stars: ✭ 641 (+1356.82%)
Mutual labels:  time-series, generative-adversarial-network
Doppelganger
[IMC 2020 (Best Paper Finalist)] Using GANs for Sharing Networked Time Series Data: Challenges, Initial Promise, and Open Questions
Stars: ✭ 97 (+120.45%)
Mutual labels:  time-series, generative-adversarial-network
FAST-RIR
This is the official implementation of our neural-network-based fast diffuse room impulse response generator (FAST-RIR) for generating room impulse responses (RIRs) for a given acoustic environment.
Stars: ✭ 90 (+104.55%)
Mutual labels:  generative-adversarial-network, synthetic-data
SDGym
Benchmarking synthetic data generation methods.
Stars: ✭ 177 (+302.27%)
Mutual labels:  generative-adversarial-network, synthetic-data
Pytorch Gan Timeseries
GANs for time series generation in pytorch
Stars: ✭ 109 (+147.73%)
Mutual labels:  time-series, generative-adversarial-network
timegan-pytorch
This repository is a non-official implementation of TimeGAN (Yoon et al., NIPS2019) using PyTorch.
Stars: ✭ 46 (+4.55%)
Mutual labels:  time-series, generative-adversarial-network
synth
The Declarative Data Generator
Stars: ✭ 958 (+2077.27%)
Mutual labels:  data-generation, synthetic-data
BPPNet-Back-Projected-Pyramid-Network
This is the official GitHub repository for ECCV 2020 Workshop paper "Single image dehazing for a variety of haze scenarios using back projected pyramid network"
Stars: ✭ 35 (-20.45%)
Mutual labels:  generative-adversarial-network
gzsl-od
Out-of-Distribution Detection for Generalized Zero-Shot Action Recognition
Stars: ✭ 47 (+6.82%)
Mutual labels:  generative-adversarial-network
walker
Bayesian Generalized Linear Models with Time-Varying Coefficients
Stars: ✭ 38 (-13.64%)
Mutual labels:  time-series
simplegan
Tensorflow-based framework to ease training of generative models
Stars: ✭ 19 (-56.82%)
Mutual labels:  generative-adversarial-network
gold-price-analysis
Creating a model to analyze and predict the trend of the prices of gold.
Stars: ✭ 31 (-29.55%)
Mutual labels:  time-series
mlforecast
Scalable machine 🤖 learning for time series forecasting.
Stars: ✭ 96 (+118.18%)
Mutual labels:  time-series

This repository is part of The Synthetic Data Vault Project, a project from DataCebo.

Development Status PyPi Shield Tests Downloads Coverage Status Binder Slack

Overview

DeepEcho is a Synthetic Data Generation Python library for mixed-type, multivariate time series. It provides:

  1. Multiple models based both on classical statistical modeling of time series and the latest in Deep Learning techniques.
  2. A robust benchmarking framework for evaluating these methods on multiple datasets and with multiple metrics.
  3. Ability for Machine Learning researchers to submit new methods following our model and sample API and get evaluated.
Important Links
💻 Website Check out the SDV Website for more information about the project.
📙 SDV Blog Regular publshing of useful content about Synthetic Data Generation.
📖 Documentation Quickstarts, User and Development Guides, and API Reference.
:octocat: Repository The link to the Github Repository of this library.
📜 License The entire ecosystem is published under the MIT License.
⌨️ Development Status This software is in its Pre-Alpha stage.
Community Join our Slack Workspace for announcements and discussions.
Tutorials Run the SDV Tutorials in a Binder environment.

Install

DeepEcho is part of the SDV project and is automatically installed alongside it. For details about this process please visit the SDV Installation Guide

Optionally, DeepEcho can also be installed as a standalone library using the following commands:

Using pip:

pip install deepecho

Using conda:

conda install -c pytorch -c conda-forge deepecho

For more installation options please visit the DeepEcho installation Guide

Quickstart

DeepEcho is included as part of SDV to model and sample synthetic time series. In most cases, usage through SDV is recommeded, since it provides additional functionalities which are not available here. For more details about how to use DeepEcho whithin SDV, please visit the corresponding User Guide:

Standalone usage

DeepEcho can also be used as a standalone library.

In this short quickstart, we show how to learn a mixed-type multivariate time series dataset and then generate synthetic data that resembles it.

We will start by loading the data and preparing the instance of our model.

from deepecho import PARModel
from deepecho.demo import load_demo

# Load demo data
data = load_demo()

# Define data types for all the columns
data_types = {
    'region': 'categorical',
    'day_of_week': 'categorical',
    'total_sales': 'continuous',
    'nb_customers': 'count',
}

model = PARModel(cuda=False)

If we want to use different settings for our model, like increasing the number of epochs or enabling CUDA, we can pass the arguments when creating the model:

model = PARModel(epochs=1024, cuda=True)

Notice that for smaller datasets like the one used on this demo, CUDA usage introduces more overhead than the gains it obtains from parallelization, so the process in this case is more efficient without CUDA, even if it is available.

Once we have created our instance, we are ready to learn the data and generate new synthetic data that resembles it:

# Learn a model from the data
model.fit(
    data=data,
    entity_columns=['store_id'],
    context_columns=['region'],
    data_types=data_types,
    sequence_index='date'
)

# Sample new data
model.sample(num_entities=5)

The output will be a table with synthetic time series data with the same properties to the demo data that we used as input.

What's next?

For more details about DeepEcho and all its possibilities and features, please check and run the tutorials.

If you want to see how we evaluate the performance and quality of our models, please have a look at the SDGym Benchmarking framework.

Also, please feel welcome to visit our contributing guide in order to help us developing new features or cool ideas!




The Synthetic Data Vault Project was first created at MIT's Data to AI Lab in 2016. After 4 years of research and traction with enterprise, we created DataCebo in 2020 with the goal of growing the project. Today, DataCebo is the proud developer of SDV, the largest ecosystem for synthetic data generation & evaluation. It is home to multiple libraries that support synthetic data, including:

  • 🔄 Data discovery & transformation. Reverse the transforms to reproduce realistic data.
  • 🧠 Multiple machine learning models -- ranging from Copulas to Deep Learning -- to create tabular, multi table and time series data.
  • 📊 Measuring quality and privacy of synthetic data, and comparing different synthetic data generation models.

Get started using the SDV package -- a fully integrated solution and your one-stop shop for synthetic data. Or, use the standalone libraries for specific needs.

Note that the project description data, including the texts, logos, images, and/or trademarks, for each open source project belongs to its rightful owner. If you wish to add or remove any projects, please contact us at [email protected].