{"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/performative-time-series-forecasting","title":"Performative Time-Series Forecasting","arxiv_id":"2310.06077","date":"2023-10-09","proceeding":null,"authors":["Zhiyuan Zhao","Alexander Rodriguez","B. Aditya Prakash"],"abstract":"Time-series forecasting is a critical challenge in various domains and has witnessed substantial progress in recent years. Many real-life scenarios, such as public health, economics, and social applications, involve feedback loops where predictions can influence the predicted outcome, subsequently altering the target variable's distribution. This phenomenon, known as performativity, introduces the potential for 'self-negating' or 'self-fulfilling' predictions. Despite extensive studies in classification problems across domains, performativity remains largely unexplored in the context of time-series forecasting from a machine-learning perspective. In this paper, we formalize performative time-series forecasting (PeTS), addressing the challenge of accurate predictions when performativity-induced distribution shifts are possible. We propose a novel approach, Feature Performative-Shifting (FPS), which leverages the concept of delayed response to anticipate distribution shifts and subsequently predicts targets accordingly. We provide theoretical insights suggesting that FPS can potentially lead to reduced generalization error. We conduct comprehensive experiments using multiple time-series models on COVID-19 and traffic forecasting tasks. The results demonstrate that FPS consistently outperforms conventional time-series forecasting methods, highlighting its efficacy in handling performativity-induced challenges.","url_abs":"https://arxiv.org/abs/2310.06077v1","url_pdf":"https://arxiv.org/pdf/2310.06077v1.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":"performative-time-series-forecasting","repo_url":"https://github.com/adityalab/pets","is_official":1,"mentioned_in_paper":1,"mentioned_in_github":1,"framework":"pytorch","reach":{"status":"ok"}}],"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":{"atlas_url":"https://app.syntology.ai/?focus=2310.06077","mcp":{"get_harvested_code_for_paper":{"arxiv_id":"2310.06077"}},"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/adityalab/pets","reach":{"status":"ok"}}],"summary":{"ran":5,"unverified":5},"by_repo_kind":{"official":{"samples":10,"ran":5,"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":10,"samples":[{"code_sha256_prefix":"ad2605b62b4e89a7","entry":"test","repo":"adityalab/pets","repo_kind":"official","path":"run_covid.py","file_url":"https://github.com/adityalab/pets/blob/HEAD/run_covid.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":"ad2605b62b4e89a7"}},{"code_sha256_prefix":"6b73c1f329515cfb","entry":"test","repo":"adityalab/pets","repo_kind":"official","path":"run_metrla.py","file_url":"https://github.com/adityalab/pets/blob/HEAD/run_metrla.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":"6b73c1f329515cfb"}},{"code_sha256_prefix":"63522329e89eacb1","entry":"to_one_hot","repo":"adityalab/pets","repo_kind":"official","path":"run_covid.py","file_url":"https://github.com/adityalab/pets/blob/HEAD/run_covid.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":"63522329e89eacb1"}},{"code_sha256_prefix":"3e9289dc0e95e57a","entry":"train","repo":"adityalab/pets","repo_kind":"official","path":"run_covid.py","file_url":"https://github.com/adityalab/pets/blob/HEAD/run_covid.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":"3e9289dc0e95e57a"}},{"code_sha256_prefix":"a4f1529d8b00020a","entry":"train","repo":"adityalab/pets","repo_kind":"official","path":"run_metrla.py","file_url":"https://github.com/adityalab/pets/blob/HEAD/run_metrla.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":"a4f1529d8b00020a"}},{"code_sha256_prefix":"3fd03b4712530626","entry":"create_window_region","repo":"adityalab/pets","repo_kind":"official","path":"dataset/covid/get_covid.py","file_url":"https://github.com/adityalab/pets/blob/HEAD/dataset/covid/get_covid.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":"3fd03b4712530626"}},{"code_sha256_prefix":"378a780e50bf7d72","entry":"get_data","repo":"adityalab/pets","repo_kind":"official","path":"dataset/covid/get_covid.py","file_url":"https://github.com/adityalab/pets/blob/HEAD/dataset/covid/get_covid.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":"378a780e50bf7d72"}},{"code_sha256_prefix":"6c7e3228334c663b","entry":"get_data","repo":"adityalab/pets","repo_kind":"official","path":"dataset/metrla/get_metrla.py","file_url":"https://github.com/adityalab/pets/blob/HEAD/dataset/metrla/get_metrla.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":"6c7e3228334c663b"}},{"code_sha256_prefix":"14e521ffc2912c27","entry":"get_delay","repo":"adityalab/pets","repo_kind":"official","path":"dataset/covid/get_covid.py","file_url":"https://github.com/adityalab/pets/blob/HEAD/dataset/covid/get_covid.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":"14e521ffc2912c27"}},{"code_sha256_prefix":"63b08c7acc11bdbc","entry":"train","repo":"adityalab/pets","repo_kind":"official","path":"run_metrla_ood.py","file_url":"https://github.com/adityalab/pets/blob/HEAD/run_metrla_ood.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":"63b08c7acc11bdbc"}}]},"arxiv_metadata":null,"syntology_extracted_results":null}