Package: deepecho
This repository is part ofThe Synthetic Data Vault Project, a project fromDataCebo.OverviewDeepEchois aSynthetic Data GenerationPython library formixed-type,multivariate
time series. It provides:Multiple models based both onclassical statistical modelingof time series and the latest
inDeep Learningtechniques.A robustbenchmarking frameworkfor evaluating these methods
on multiple datasets and with multiple metrics.Ability forMachine Learning researchersto submit new methods following ourmodelandsampleAPI and get evaluated.Important Links:computer:WebsiteCheck out the SDV Website for more information about the project.:orange_book:SDV BlogRegular publshing of useful content about Synthetic Data Generation.:book:DocumentationQuickstarts, User and Development Guides, and API Reference.:octocat:RepositoryThe link to the Github Repository of this library.:keyboard:Development StatusThis software is in its Pre-Alpha stage.CommunityJoin our Slack Workspace for announcements and discussions.TutorialsRun the SDV Tutorials in a Binder environment.InstallDeepEchois part of theSDVproject and is automatically installed alongside it. For
details about this process please visit theSDV Installation GuideOptionally,DeepEchocan also be installed as a standalone library using the following commands:Usingpip:pipinstalldeepechoUsingconda:condainstall-cpytorch-cconda-forgedeepechoFor more installation options please visit theDeepEcho installation GuideQuickstartDeepEchois included as part ofSDVto 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:SDV TimeSeries User GuideStandalone usageDeepEchocan 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.fromdeepechoimportPARModelfromdeepecho.demoimportload_demo# Load demo datadata=load_demo()# Define data types for all the columnsdata_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 datamodel.fit(data=data,entity_columns=['store_id'],context_columns=['region'],data_types=data_types,sequence_index='date')# Sample new datamodel.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 aboutDeepEchoand all its possibilities and features, please check and
run thetutorials.If you want to see how we evaluate the performance and quality of our models, please have a
look at theSDGym Benchmarking framework.Also, please feel welcome to visitour contributing guidein order to help
us developing new features or cool ideas!The Synthetic Data Vault Projectwas first created at MIT'sData to AI Labin 2016. After 4 years of research and traction with enterprise, we
createdDataCeboin 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.History0.5.0 - 2023-11-13This release updates the PAR's model progress bar to show loss values and time elapsed (verbose option).New FeaturesUpdate progress bar for PAR fitting - Issue#80by @frances-h0.4.2 - 2023-07-25This release drops support for Python 3.7 and adds support for Python 3.11.MaintenanceAdd support for Python 3.11 - Issue#74by @fealhoDrop support for Python 3.7 - Issue#75by @R-Palazzo0.4.1 - 2023-05-02This release adds support for Pandas 2.0 and PyTorch 2.0!MaintenanceRemove upper bound for pandas - Issue#69by @frances-hUpgrade to Torch 2.0 - Issue#70by @frances-h0.4.0 - 2023-01-10This release adds support for python 3.10 and 3.11. It also drops support for python 3.6.MaintenanceSupport Python 3.10 and 3.11 - Issue#63by @pvk-developerDeepEcho Package Maintenance Updates - Issue#62by @pvk-developer0.3.0 - 2021-11-15This release adds support for Python 3.9 and updates dependencies to ensure compatibility with the rest
of the SDV ecosystem.Add support for Python 3.9 - Issue#41by @fealhoAdd pip check to CI workflows internal improvements - Issue#39by @pvk-developerAdd support for pylint>2.7.2 housekeeping - Issue#33by @fealhoAdd support for torch>=1.8 housekeeping - Issue#32by @fealho0.2.1 - 2021-10-12This release fixes a bug with how DeepEcho handles NaN values.Handling NaN's bug - Issue#35by @fealho0.2.0 - 2021-02-24Maintenance release to update dependencies and ensure compatibility with the rest
of the SDV ecosystem libraries.0.1.4 - 2020-10-16Minor maintenance version to update dependencies and documentation, and
also make the demo data loading function parse dates properly.0.1.3 - 2020-10-16This version includes several minor improvements to the PAR model and the
way the sequences are generated:Sequences can now be generated without dropping the sequence index.The PAR model learns the min and max length of the sequence from the input data.NaN values are properly supported for both categorical and numerical columns.NaN values are generated for numerical columns only if there were NaNs in the input data.Constant columns can now be modeled.0.1.2 - 2020-09-15Add BasicGAN Model and additional benchmarking results.0.1.1 - 2020-08-15This release includes a few new features to make DeepEcho work on more types of datasets
as well as to making it easier to add new datasets to the benchmarking framework.Addsegment_sizeandsequence_indexarguments tofitmethod.Addsequence_lengthas an optional argument tosampleandsample_sequencemethods.Update the Dataset storage format to addsequence_indexand versioning.Separate the sequence assembling process in its owndeepecho.sequencesmodule.Add functionmake_datasetto create a dataset from a dataframe and just a few column names.Add notebook tutorial to show how to create a datasets and use them.0.1.0 - 2020-08-11First release.Included Features:PARModelDemo dataset and tutorialsBenchmarking FrameworkSupport and instructions for benchmarking on a Kubernetes cluster.