{"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/arxiv-2601-19040","title":"OATS: Online Data Augmentation for Time Series Foundation Models","arxiv_id":"2601.19040","date":"2026-01-26","proceeding":null,"authors":["Junwei Deng","Chang Xu","Jiaqi W. Ma","Ming Jin","Chenghao Liu","Xu Zhang","Li Zhao","Jiang Bian"],"abstract":"Time Series Foundation Models (TSFMs) are a powerful paradigm for time series analysis and are often enhanced by synthetic data augmentation to improve the training data quality. Existing augmentation methods, however, typically rely on heuristics and static paradigms. Motivated by dynamic data optimization, which shows that the contribution of samples varies across training stages, we propose OATS (Online Data Augmentation for Time Series Foundation Models), a principled strategy that generates synthetic data tailored to different training steps. OATS leverages valuable training samples as principled guiding signals and dynamically generates high-quality synthetic data conditioned on them. We further design a diffusion-based framework to produce realistic time series and introduce an explore-exploit mechanism to balance efficiency and effectiveness. Experiments on TSFMs demonstrate that OATS consistently outperforms regular training and yields substantial performance gains over static data augmentation baselines across six validation datasets and two TSFM architectures. The code is available at the link https://github.com/microsoft/TimeCraft.","url_abs":"https://arxiv.org/abs/2601.19040","url_pdf":"https://arxiv.org/pdf/2601.19040","source":{"archive":null,"snapshot":"2025-07-28","note":"not in the Papers with Code archive (frozen at the snapshot)","row_kind":"graph","title_abstract_authors_date":"arXiv metadata, CC0 1.0 (https://info.arxiv.org/help/license)"},"code_links":[],"tasks":[],"methods":[],"datasets_introduced":[],"methods_introduced":[],"results":[],"syntology":{"atlas_url":"https://app.syntology.ai/?focus=2601.19040","mcp":{"get_harvested_code_for_paper":{"arxiv_id":"2601.19040"}},"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":[{"mentioned_in_github":null,"is_official":null,"provenance":"deterministic:regex_extraction","mentioned_in_paper":null,"url":"https://github.com/microsoft/TimeCraft","reach":null}],"summary":{"ran_honours":2,"ran_violates":2,"unverified":8},"by_repo_kind":{"found_in_text":{"samples":12,"ran":4,"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":"7f1040f5e3991d5e","entry":"identity","repo":"microsoft/TimeCraft","repo_kind":"found_in_text","path":"DiGA/diffusion/cont_ctrl_net.py","file_url":"https://github.com/microsoft/TimeCraft/blob/HEAD/DiGA/diffusion/cont_ctrl_net.py","link_basis":"plan_row","language":"python","status":"ran_honours","verification_level":2,"contract_check":"HONOURS","metamorphic_tier":"invariant","behaviour_fingerprint":false,"licence":"MIT","inline_ok":true,"mcp_get_code":{"code_sha256":"7f1040f5e3991d5e"}},{"code_sha256_prefix":"d1ef6b8cb9a28a53","entry":"default","repo":"microsoft/TimeCraft","repo_kind":"found_in_text","path":"DiGA/diffusion/cont_ctrl_net.py","file_url":"https://github.com/microsoft/TimeCraft/blob/HEAD/DiGA/diffusion/cont_ctrl_net.py","link_basis":"plan_row","language":"python","status":"ran_violates","verification_level":1,"contract_check":"VIOLATES","metamorphic_tier":"deterministic","behaviour_fingerprint":false,"licence":"MIT","inline_ok":true,"mcp_get_code":{"code_sha256":"d1ef6b8cb9a28a53"}},{"code_sha256_prefix":"608e364a9d2376a3","entry":"exists","repo":"microsoft/TimeCraft","repo_kind":"found_in_text","path":"DiGA/diffusion/cont_ctrl_net.py","file_url":"https://github.com/microsoft/TimeCraft/blob/HEAD/DiGA/diffusion/cont_ctrl_net.py","link_basis":"plan_row","language":"python","status":"ran_violates","verification_level":1,"contract_check":"VIOLATES","metamorphic_tier":"deterministic","behaviour_fingerprint":false,"licence":"MIT","inline_ok":true,"mcp_get_code":{"code_sha256":"608e364a9d2376a3"}},{"code_sha256_prefix":"dadec7f7cc09688a","entry":"reparameterize","repo":"microsoft/TimeCraft","repo_kind":"found_in_text","path":"Diff-MN/models/kovae.py","file_url":"https://github.com/microsoft/TimeCraft/blob/HEAD/Diff-MN/models/kovae.py","link_basis":"harvester_set","language":"python","status":"ran_honours","verification_level":1,"contract_check":"HONOURS","metamorphic_tier":"invariant","behaviour_fingerprint":true,"licence":"MIT","inline_ok":true,"mcp_get_code":{"code_sha256":"dadec7f7cc09688a"}},{"code_sha256_prefix":"d7c15dd02c7f9d9f","entry":"generate_dataset_description","repo":"microsoft/TimeCraft","repo_kind":"found_in_text","path":"BRIDGE/ts_to_text.py","file_url":"https://github.com/microsoft/TimeCraft/blob/HEAD/BRIDGE/ts_to_text.py","link_basis":"first_harvest_node","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":"d7c15dd02c7f9d9f"}},{"code_sha256_prefix":"6e6961df228cbc5a","entry":"get_logger","repo":"microsoft/TimeCraft","repo_kind":"found_in_text","path":"Diff-MN/lib/utils.py","file_url":"https://github.com/microsoft/TimeCraft/blob/HEAD/Diff-MN/lib/utils.py","link_basis":"first_harvest_node","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":"6e6961df228cbc5a"}},{"code_sha256_prefix":"74cc4fa33614920f","entry":"get_pseudo_price","repo":"microsoft/TimeCraft","repo_kind":"found_in_text","path":"DiGA/generate.py","file_url":"https://github.com/microsoft/TimeCraft/blob/HEAD/DiGA/generate.py","link_basis":"first_harvest_node","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":"74cc4fa33614920f"}},{"code_sha256_prefix":"a284824bddec284c","entry":"load_json_file","repo":"microsoft/TimeCraft","repo_kind":"found_in_text","path":"BRIDGE/ts_to_text.py","file_url":"https://github.com/microsoft/TimeCraft/blob/HEAD/BRIDGE/ts_to_text.py","link_basis":"first_harvest_node","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":"a284824bddec284c"}},{"code_sha256_prefix":"93361336a4f19653","entry":"load_pickle","repo":"microsoft/TimeCraft","repo_kind":"found_in_text","path":"Diff-MN/lib/utils.py","file_url":"https://github.com/microsoft/TimeCraft/blob/HEAD/Diff-MN/lib/utils.py","link_basis":"first_harvest_node","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":"93361336a4f19653"}},{"code_sha256_prefix":"31a9092f1b396c58","entry":"load_text_file","repo":"microsoft/TimeCraft","repo_kind":"found_in_text","path":"BRIDGE/ts_to_text.py","file_url":"https://github.com/microsoft/TimeCraft/blob/HEAD/BRIDGE/ts_to_text.py","link_basis":"first_harvest_node","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":"31a9092f1b396c58"}},{"code_sha256_prefix":"03cd51541800f514","entry":"make_dataset","repo":"microsoft/TimeCraft","repo_kind":"found_in_text","path":"Diff-MN/lib/utils.py","file_url":"https://github.com/microsoft/TimeCraft/blob/HEAD/Diff-MN/lib/utils.py","link_basis":"first_harvest_node","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":"03cd51541800f514"}},{"code_sha256_prefix":"ccdaa08ef4db0396","entry":"safe_convert_to_float","repo":"microsoft/TimeCraft","repo_kind":"found_in_text","path":"BRIDGE/llm4text2ts.py","file_url":"https://github.com/microsoft/TimeCraft/blob/HEAD/BRIDGE/llm4text2ts.py","link_basis":"first_harvest_node","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":"ccdaa08ef4db0396"}}]},"arxiv_metadata":{"licence":"arXiv metadata, CC0 1.0 (https://info.arxiv.org/help/license)","fields":["title","abstract","authors","date"],"primary_category":"cs.LG","source":"arxiv_2026.jsonl"},"syntology_extracted_results":null}