{"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/onenet-enhancing-time-series-forecasting-1","title":"OneNet: Enhancing Time Series Forecasting Models under Concept Drift by Online Ensembling","arxiv_id":"2309.12659","date":"2023-09-22","proceeding":"NeurIPS 2023 11","authors":["Yi-Fan Zhang","Qingsong Wen","Xue Wang","Weiqi Chen","Liang Sun","Zhang Zhang","Liang Wang","Rong Jin","Tieniu Tan"],"abstract":"Online updating of time series forecasting models aims to address the concept drifting problem by efficiently updating forecasting models based on streaming data. Many algorithms are designed for online time series forecasting, with some exploiting cross-variable dependency while others assume independence among variables. Given every data assumption has its own pros and cons in online time series modeling, we propose \\textbf{On}line \\textbf{e}nsembling \\textbf{Net}work (OneNet). It dynamically updates and combines two models, with one focusing on modeling the dependency across the time dimension and the other on cross-variate dependency. Our method incorporates a reinforcement learning-based approach into the traditional online convex programming framework, allowing for the linear combination of the two models with dynamically adjusted weights. OneNet addresses the main shortcoming of classical online learning methods that tend to be slow in adapting to the concept drift. Empirical results show that OneNet reduces online forecasting error by more than $\\mathbf{50\\%}$ compared to the State-Of-The-Art (SOTA) method. The code is available at \\url{https://github.com/yfzhang114/OneNet}.","url_abs":"https://arxiv.org/abs/2309.12659v1","url_pdf":"https://arxiv.org/pdf/2309.12659v1.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":"onenet-enhancing-time-series-forecasting-1","repo_url":"https://github.com/yfzhang114/onenet","is_official":1,"mentioned_in_paper":1,"mentioned_in_github":1,"framework":"pytorch","reach":null},{"paper_slug":"onenet-enhancing-time-series-forecasting-1","repo_url":"https://github.com/sjtu-dmtai/onlinetsf","is_official":0,"mentioned_in_paper":0,"mentioned_in_github":1,"framework":"pytorch","reach":null}],"tasks":[{"task_slug":"time-series-1","task_name":"Time Series"},{"task_slug":"time-series-forecasting","task_name":"Time Series Forecasting"}],"methods":[],"datasets_introduced":[],"methods_introduced":[],"results":[],"syntology":{"syntology_url":null,"atlas_url":"https://app.syntology.ai/?focus=2309.12659","mcp":{"get_harvested_code_for_paper":{"arxiv_id":"2309.12659"}},"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":"deterministic:regex_extraction","url":"https://github.com/yfzhang114/OneNet","reach":null},{"provenance":"external:paperswithcode_snapshot_2025-07-28","url":"https://github.com/yfzhang114/onenet","reach":null},{"provenance":"external:paperswithcode_snapshot_2025-07-28","url":"https://github.com/sjtu-dmtai/onlinetsf","reach":null}],"summary":{"ran":3,"ran_violates":2,"ran_honours":1,"unverified":3},"by_repo_kind":{"official":{"samples":7,"ran":4,"repositories":1},"listed":{"samples":2,"ran":2,"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":9,"samples":[{"code_sha256_prefix":"2167c628ec847e17","entry":"MLP","repo":"sjtu-dmtai/onlinetsf","repo_kind":"listed","path":"models/OneNet.py","file_url":"https://github.com/sjtu-dmtai/onlinetsf/blob/HEAD/models/OneNet.py","link_basis":"first_harvest_node","language":"python","status":"ran","verification_level":1,"contract_check":null,"metamorphic_tier":null,"behaviour_fingerprint":true,"licence":"NONE","inline_ok":false,"mcp_get_code":{"code_sha256":"2167c628ec847e17"}},{"code_sha256_prefix":"4021bb88ebaf165a","entry":"OneNet","repo":"sjtu-dmtai/onlinetsf","repo_kind":"listed","path":"models/OneNet.py","file_url":"https://github.com/sjtu-dmtai/onlinetsf/blob/HEAD/models/OneNet.py","link_basis":"first_harvest_node","language":"python","status":"ran","verification_level":1,"contract_check":null,"metamorphic_tier":null,"behaviour_fingerprint":false,"licence":"NONE","inline_ok":false,"mcp_get_code":{"code_sha256":"4021bb88ebaf165a"}},{"code_sha256_prefix":"82ae7ad71d59fe48","entry":"SamePadConv","repo":"yfzhang114/onenet","repo_kind":"official","path":"models/ts2vec/fsnet.py","file_url":"https://github.com/yfzhang114/onenet/blob/HEAD/models/ts2vec/fsnet.py","link_basis":"first_harvest_node","language":"python","status":"ran","verification_level":1,"contract_check":null,"metamorphic_tier":"deterministic","behaviour_fingerprint":true,"licence":"NONE","inline_ok":false,"mcp_get_code":{"code_sha256":"82ae7ad71d59fe48"}},{"code_sha256_prefix":"fa6565352cd1d6bd","entry":"generate_binomial_mask","repo":"yfzhang114/onenet","repo_kind":"official","path":"models/ts2vec/fsnet.py","file_url":"https://github.com/yfzhang114/onenet/blob/HEAD/models/ts2vec/fsnet.py","link_basis":"first_harvest_node","language":"python","status":"ran_violates","verification_level":1,"contract_check":"VIOLATES","metamorphic_tier":null,"behaviour_fingerprint":false,"licence":"NONE","inline_ok":false,"mcp_get_code":{"code_sha256":"fa6565352cd1d6bd"}},{"code_sha256_prefix":"b73cc6158c396267","entry":"generate_continuous_mask","repo":"yfzhang114/onenet","repo_kind":"official","path":"models/ts2vec/fsnet.py","file_url":"https://github.com/yfzhang114/onenet/blob/HEAD/models/ts2vec/fsnet.py","link_basis":"first_harvest_node","language":"python","status":"ran_violates","verification_level":1,"contract_check":"VIOLATES","metamorphic_tier":"deterministic","behaviour_fingerprint":false,"licence":"NONE","inline_ok":false,"mcp_get_code":{"code_sha256":"b73cc6158c396267"}},{"code_sha256_prefix":"ab9d34a1e5d351d2","entry":"normalize","repo":"yfzhang114/onenet","repo_kind":"official","path":"models/ts2vec/fsnet.py","file_url":"https://github.com/yfzhang114/onenet/blob/HEAD/models/ts2vec/fsnet.py","link_basis":"first_harvest_node","language":"python","status":"ran_honours","verification_level":1,"contract_check":"HONOURS","metamorphic_tier":"invariant","behaviour_fingerprint":true,"licence":"NONE","inline_ok":false,"mcp_get_code":{"code_sha256":"ab9d34a1e5d351d2"}},{"code_sha256_prefix":"322bb663d0e9266d","entry":"ConvBlock","repo":"yfzhang114/onenet","repo_kind":"official","path":"models/ts2vec/fsnet.py","file_url":"https://github.com/yfzhang114/onenet/blob/HEAD/models/ts2vec/fsnet.py","link_basis":"first_harvest_node","language":"python","status":"unverified","verification_level":0,"contract_check":null,"metamorphic_tier":null,"behaviour_fingerprint":false,"licence":"NONE","inline_ok":false,"mcp_get_code":{"code_sha256":"322bb663d0e9266d"}},{"code_sha256_prefix":"0503842bc0c30d99","entry":"DilatedConvEncoder","repo":"yfzhang114/onenet","repo_kind":"official","path":"models/ts2vec/fsnet.py","file_url":"https://github.com/yfzhang114/onenet/blob/HEAD/models/ts2vec/fsnet.py","link_basis":"first_harvest_node","language":"python","status":"unverified","verification_level":0,"contract_check":null,"metamorphic_tier":null,"behaviour_fingerprint":false,"licence":"NONE","inline_ok":false,"mcp_get_code":{"code_sha256":"0503842bc0c30d99"}},{"code_sha256_prefix":"3f02f4ee4f9f0e2c","entry":"TSEncoder","repo":"yfzhang114/onenet","repo_kind":"official","path":"models/ts2vec/fsnet.py","file_url":"https://github.com/yfzhang114/onenet/blob/HEAD/models/ts2vec/fsnet.py","link_basis":"first_harvest_node","language":"python","status":"unverified","verification_level":0,"contract_check":null,"metamorphic_tier":null,"behaviour_fingerprint":false,"licence":"NONE","inline_ok":false,"mcp_get_code":{"code_sha256":"3f02f4ee4f9f0e2c"}}]},"arxiv_metadata":null,"syntology_extracted_results":null}