{"about":{"site":"https://codewithpapers.app","non_affiliation":"Code with Papers and Syntology are not affiliated with, endorsed by, or sponsored by Papers with Code, Meta, or the pwc-archive mirror.","licence":"CC BY-SA 4.0","licence_url":"https://creativecommons.org/licenses/by-sa/4.0/legalcode","attribution":"https://codewithpapers.app/attribution","modified":"archive material modified by Syntology; see the attribution page"},"url":"/paper/timevae-a-variational-auto-encoder-for-1","title":"TimeVAE: A Variational Auto-Encoder for Multivariate Time Series Generation","arxiv_id":"2111.08095","date":"2021-11-15","proceeding":null,"authors":["Abhyuday Desai","Cynthia Freeman","Zuhui Wang","Ian Beaver"],"abstract":"Recent work in synthetic data generation in the time-series domain has focused on the use of Generative Adversarial Networks. We propose a novel architecture for synthetically generating time-series data with the use of Variational Auto-Encoders (VAEs). The proposed architecture has several distinct properties: interpretability, ability to encode domain knowledge, and reduced training times. We evaluate data generation quality by similarity and predictability against four multivariate datasets. We experiment with varying sizes of training data to measure the impact of data availability on generation quality for our VAE method as well as several state-of-the-art data generation methods. Our results on similarity tests show that the VAE approach is able to accurately represent the temporal attributes of the original data. On next-step prediction tasks using generated data, the proposed VAE architecture consistently meets or exceeds performance of state-of-the-art data generation methods. While noise reduction may cause the generated data to deviate from original data, we demonstrate the resulting de-noised data can significantly improve performance for next-step prediction using generated data. Finally, the proposed architecture can incorporate domain-specific time-patterns such as polynomial trends and seasonalities to provide interpretable outputs. Such interpretability can be highly advantageous in applications requiring transparency of model outputs or where users desire to inject prior knowledge of time-series patterns into the generative model.","url_abs":"https://arxiv.org/abs/2111.08095v3","url_pdf":"https://arxiv.org/pdf/2111.08095v3.pdf","source":{"archive":"pwc-archive (Hugging Face), CC BY-SA 4.0","snapshot":"2025-07-28","licence_url":"https://creativecommons.org/licenses/by-sa/4.0/legalcode","row_kind":"abstracts"},"code_links":[{"paper_slug":"timevae-a-variational-auto-encoder-for-1","repo_url":"https://github.com/abudesai/syntheticdatagen","is_official":1,"mentioned_in_paper":1,"mentioned_in_github":1,"framework":"tf","reach":{"status":"ok"}},{"paper_slug":"timevae-a-variational-auto-encoder-for-1","repo_url":"https://github.com/abudesai/timeVAE","is_official":1,"mentioned_in_paper":0,"mentioned_in_github":1,"framework":"tf","reach":{"status":"ok","spdx":"MIT"}},{"paper_slug":"timevae-a-variational-auto-encoder-for-1","repo_url":"https://github.com/wangyz1999/timeVAE-pytorch","is_official":0,"mentioned_in_paper":0,"mentioned_in_github":1,"framework":"pytorch","reach":{"status":"ok","spdx":"MIT"}}],"tasks":[{"task_slug":"synthetic-data-generation","task_name":"Synthetic Data Generation"},{"task_slug":"time-series-1","task_name":"Time Series"},{"task_slug":"time-series","task_name":"Time Series Analysis"},{"task_slug":"time-series-generation","task_name":"Time Series Generation"}],"methods":[],"datasets_introduced":[],"methods_introduced":[],"results":[],"syntology":{"atlas_url":"https://app.syntology.ai/?focus=2111.08095","mcp":{"get_harvested_code_for_paper":{"arxiv_id":"2111.08095"}},"developers":"https://syntology.ai/developers","read_at":"2026-09-24T18:15:14+00:00","read_at_is":"when the build read Syntology's graph, not when any sample ran","claim":"Per-sample execution status on synthesized fixtures; not a correctness claim about the paper. Samples come from repositories linked to the paper, official or community; repo_kind says which.","repos":[{"provenance":"external:paperswithcode_snapshot_2025-07-28","url":"https://github.com/abudesai/timeVAE","reach":{"status":"ok","spdx":"MIT"}},{"provenance":"external:paperswithcode_snapshot_2025-07-28","url":"https://github.com/wangyz1999/timeVAE-pytorch","reach":{"status":"ok","spdx":"MIT"}},{"provenance":"external:paperswithcode_snapshot_2025-07-28","url":"https://github.com/abudesai/syntheticdatagen","reach":{"status":"ok"}}],"summary":{"ran":1,"unverified":5},"by_repo_kind":{"official":{"samples":5,"ran":1,"repositories":1},"listed":{"samples":1,"ran":0,"repositories":1}},"repo_kind_vocabulary":{"official":"The archive marks this repository official for the paper","named_in_paper":"The archive records that the paper mentions this repository; it is not marked official","listed":"In the archive's code links for this paper, not marked official and not recorded as mentioned in the paper","found_in_text":"Syntology found this repository in the paper's own text; whether it is the authors' implementation is not asserted","community":"Not in the archive's code links for this paper; a community repository Syntology harvested"},"n_pointer_only_for_licence":0,"samples":[{"code_sha256_prefix":"55cbda5ae15d39e5","entry":"load_yaml_file","repo":"abudesai/timeVAE","repo_kind":"official","path":"src/data_utils.py","file_url":"https://github.com/abudesai/timeVAE/blob/HEAD/src/data_utils.py","link_basis":"harvester_set","language":"python","status":"ran","verification_level":1,"contract_check":null,"metamorphic_tier":null,"behaviour_fingerprint":false,"licence":"MIT","inline_ok":true,"mcp_get_code":{"code_sha256":"55cbda5ae15d39e5"}},{"code_sha256_prefix":"cb3b6d5e7c398574","entry":"avg_over_dim","repo":"abudesai/timeVAE","repo_kind":"official","path":"src/visualize.py","file_url":"https://github.com/abudesai/timeVAE/blob/HEAD/src/visualize.py","link_basis":"harvester_set","language":"python","status":"unverified","verification_level":0,"contract_check":null,"metamorphic_tier":null,"behaviour_fingerprint":false,"licence":"MIT","inline_ok":true,"mcp_get_code":{"code_sha256":"cb3b6d5e7c398574"}},{"code_sha256_prefix":"28360302e713cbf1","entry":"get_npz_data","repo":"abudesai/timeVAE","repo_kind":"official","path":"src/data_utils.py","file_url":"https://github.com/abudesai/timeVAE/blob/HEAD/src/data_utils.py","link_basis":"harvester_set","language":"python","status":"unverified","verification_level":0,"contract_check":null,"metamorphic_tier":null,"behaviour_fingerprint":false,"licence":"MIT","inline_ok":true,"mcp_get_code":{"code_sha256":"28360302e713cbf1"}},{"code_sha256_prefix":"d6a5d70dbe0a6a4b","entry":"get_posterior_samples","repo":"abudesai/timeVAE","repo_kind":"official","path":"src/vae/vae_utils.py","file_url":"https://github.com/abudesai/timeVAE/blob/HEAD/src/vae/vae_utils.py","link_basis":"harvester_set","language":"python","status":"unverified","verification_level":0,"contract_check":null,"metamorphic_tier":null,"behaviour_fingerprint":false,"licence":"MIT","inline_ok":true,"mcp_get_code":{"code_sha256":"d6a5d70dbe0a6a4b"}},{"code_sha256_prefix":"43055cf5ba0cd817","entry":"get_posterior_samples","repo":"wangyz1999/timeVAE-pytorch","repo_kind":"listed","path":"src/vae/vae_utils.py","file_url":"https://github.com/wangyz1999/timeVAE-pytorch/blob/HEAD/src/vae/vae_utils.py","link_basis":"harvester_set","language":"python","status":"unverified","verification_level":0,"contract_check":null,"metamorphic_tier":null,"behaviour_fingerprint":false,"licence":"MIT","inline_ok":true,"mcp_get_code":{"code_sha256":"43055cf5ba0cd817"}},{"code_sha256_prefix":"67129d93b7abfb9f","entry":"load_data","repo":"abudesai/timeVAE","repo_kind":"official","path":"src/data_utils.py","file_url":"https://github.com/abudesai/timeVAE/blob/HEAD/src/data_utils.py","link_basis":"harvester_set","language":"python","status":"unverified","verification_level":0,"contract_check":null,"metamorphic_tier":null,"behaviour_fingerprint":false,"licence":"MIT","inline_ok":true,"mcp_get_code":{"code_sha256":"67129d93b7abfb9f"}}]},"arxiv_metadata":null,"syntology_extracted_results":null}