{"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-2602-03164","title":"MemCast: Memory-Driven Time Series Forecasting with Experience-Conditioned Reasoning","arxiv_id":"2602.03164","date":"2026-02-03","proceeding":"ICML","authors":["Xiaoyu Tao","Mingyue Cheng","Ze Guo","Shuo Yu","Yaguo Liu","Qi Liu","Shijin Wang"],"abstract":"Time series forecasting (TSF) plays a critical role in decision-making for many real-world applications. Recently, large language model (LLM)- based forecasters have made promising advancements. Despite their effectiveness, existing methods often lack explicit experience accumulation and continual evolution. In this work, we propose MemCast, a learning-to-memory framework that reformulates TSF as an experience-conditioned reasoning task. Specifically, we learn experience from the training set and organize it into a hierarchical memory. This is achieved by summarizing prediction results into historical patterns, distilling inference trajectories into reasoning wisdom, and inducing extracted temporal features into general laws. Furthermore, during inference, we leverage historical patterns to guide the reasoning process and utilize reasoning wisdom to select better trajectories, while general laws serve as criteria for reflective iteration. Additionally, to enable continual evolution, we design a dynamic confidence adaptation strategy that updates the confidence of individual entries without leaking the test set distribution. Extensive experiments on multiple datasets demonstrate that MemCast consistently outperforms previous methods, validating the effectiveness of our approach. Our code is available at https://github.com/Xiaoyu-Tao/MemCast-TS.","url_abs":"https://arxiv.org/abs/2602.03164","url_pdf":"https://arxiv.org/pdf/2602.03164","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=2602.03164","mcp":{"get_harvested_code_for_paper":{"arxiv_id":"2602.03164"}},"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/Xiaoyu-Tao/MemCast-TS","reach":null}],"summary":{"ran_draft_wrong":10,"ran_fixture":6,"ran_honours":3,"ran":1,"unverified":3},"by_repo_kind":{"found_in_text":{"samples":23,"ran":20,"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":23,"samples":[{"code_sha256_prefix":"c81bfc5bc848e04d","entry":"_build_distilled_block","repo":"Xiaoyu-Tao/MemCast-TS","repo_kind":"found_in_text","path":"main/EPF/EPF_main_few_shot_reasoning.py","file_url":"https://github.com/Xiaoyu-Tao/MemCast-TS/blob/HEAD/main/EPF/EPF_main_few_shot_reasoning.py","link_basis":"first_harvest_node","language":"python","status":"ran_draft_wrong","verification_level":1,"contract_check":"OUTPUT_MISDECLARED","metamorphic_tier":null,"behaviour_fingerprint":false,"licence":"NONE","inline_ok":false,"mcp_get_code":{"code_sha256":"c81bfc5bc848e04d"}},{"code_sha256_prefix":"efece2d88defb2ef","entry":"_build_llm_selection_prompt","repo":"Xiaoyu-Tao/MemCast-TS","repo_kind":"found_in_text","path":"main/EPF/EPF_main_few_shot_reasoning.py","file_url":"https://github.com/Xiaoyu-Tao/MemCast-TS/blob/HEAD/main/EPF/EPF_main_few_shot_reasoning.py","link_basis":"first_harvest_node","language":"python","status":"ran_fixture","verification_level":1,"contract_check":"RAISES","metamorphic_tier":null,"behaviour_fingerprint":false,"licence":"NONE","inline_ok":false,"mcp_get_code":{"code_sha256":"efece2d88defb2ef"}},{"code_sha256_prefix":"0d06e77beb8ba608","entry":"_build_reflection_block","repo":"Xiaoyu-Tao/MemCast-TS","repo_kind":"found_in_text","path":"main/EPF/EPF_main_few_shot_reasoning.py","file_url":"https://github.com/Xiaoyu-Tao/MemCast-TS/blob/HEAD/main/EPF/EPF_main_few_shot_reasoning.py","link_basis":"first_harvest_node","language":"python","status":"ran_draft_wrong","verification_level":1,"contract_check":"OUTPUT_MISDECLARED","metamorphic_tier":null,"behaviour_fingerprint":true,"licence":"NONE","inline_ok":false,"mcp_get_code":{"code_sha256":"0d06e77beb8ba608"}},{"code_sha256_prefix":"b2c85adcfcbdf4a7","entry":"_extract_distilled_blocks","repo":"Xiaoyu-Tao/MemCast-TS","repo_kind":"found_in_text","path":"main/EPF/EPF_main_few_shot_reasoning.py","file_url":"https://github.com/Xiaoyu-Tao/MemCast-TS/blob/HEAD/main/EPF/EPF_main_few_shot_reasoning.py","link_basis":"first_harvest_node","language":"python","status":"ran_draft_wrong","verification_level":1,"contract_check":"OUTPUT_MISDECLARED","metamorphic_tier":null,"behaviour_fingerprint":false,"licence":"NONE","inline_ok":false,"mcp_get_code":{"code_sha256":"b2c85adcfcbdf4a7"}},{"code_sha256_prefix":"13350204d1cfe968","entry":"_extract_feature_stats","repo":"Xiaoyu-Tao/MemCast-TS","repo_kind":"found_in_text","path":"main/EPF/EPF_main_few_shot_reasoning.py","file_url":"https://github.com/Xiaoyu-Tao/MemCast-TS/blob/HEAD/main/EPF/EPF_main_few_shot_reasoning.py","link_basis":"first_harvest_node","language":"python","status":"ran_draft_wrong","verification_level":1,"contract_check":"OUTPUT_MISDECLARED","metamorphic_tier":null,"behaviour_fingerprint":true,"licence":"NONE","inline_ok":false,"mcp_get_code":{"code_sha256":"13350204d1cfe968"}},{"code_sha256_prefix":"022e6b03bdbecbb5","entry":"_format_feature_stats","repo":"Xiaoyu-Tao/MemCast-TS","repo_kind":"found_in_text","path":"main/EPF/EPF_main_few_shot_reasoning.py","file_url":"https://github.com/Xiaoyu-Tao/MemCast-TS/blob/HEAD/main/EPF/EPF_main_few_shot_reasoning.py","link_basis":"first_harvest_node","language":"python","status":"ran_draft_wrong","verification_level":1,"contract_check":"OUTPUT_MISDECLARED","metamorphic_tier":null,"behaviour_fingerprint":true,"licence":"NONE","inline_ok":false,"mcp_get_code":{"code_sha256":"022e6b03bdbecbb5"}},{"code_sha256_prefix":"4936240fe6c8a128","entry":"_format_trajectory_values","repo":"Xiaoyu-Tao/MemCast-TS","repo_kind":"found_in_text","path":"main/EPF/EPF_main_few_shot_reasoning.py","file_url":"https://github.com/Xiaoyu-Tao/MemCast-TS/blob/HEAD/main/EPF/EPF_main_few_shot_reasoning.py","link_basis":"first_harvest_node","language":"python","status":"ran_draft_wrong","verification_level":1,"contract_check":"OUTPUT_MISDECLARED","metamorphic_tier":null,"behaviour_fingerprint":false,"licence":"NONE","inline_ok":false,"mcp_get_code":{"code_sha256":"4936240fe6c8a128"}},{"code_sha256_prefix":"32af86333bdf4ffe","entry":"_increase_entry_confidence","repo":"Xiaoyu-Tao/MemCast-TS","repo_kind":"found_in_text","path":"main/EPF/EPF_main_few_shot_reasoning.py","file_url":"https://github.com/Xiaoyu-Tao/MemCast-TS/blob/HEAD/main/EPF/EPF_main_few_shot_reasoning.py","link_basis":"first_harvest_node","language":"python","status":"ran_honours","verification_level":1,"contract_check":"HONOURS","metamorphic_tier":null,"behaviour_fingerprint":true,"licence":"NONE","inline_ok":false,"mcp_get_code":{"code_sha256":"32af86333bdf4ffe"}},{"code_sha256_prefix":"49784e90d8498409","entry":"_load_summary","repo":"Xiaoyu-Tao/MemCast-TS","repo_kind":"found_in_text","path":"main/EPF/EPF_main_few_shot_reasoning.py","file_url":"https://github.com/Xiaoyu-Tao/MemCast-TS/blob/HEAD/main/EPF/EPF_main_few_shot_reasoning.py","link_basis":"first_harvest_node","language":"python","status":"ran_draft_wrong","verification_level":1,"contract_check":"OUTPUT_MISDECLARED","metamorphic_tier":null,"behaviour_fingerprint":true,"licence":"NONE","inline_ok":false,"mcp_get_code":{"code_sha256":"49784e90d8498409"}},{"code_sha256_prefix":"b9ea00559a62240c","entry":"_parse_best_index","repo":"Xiaoyu-Tao/MemCast-TS","repo_kind":"found_in_text","path":"main/EPF/EPF_main_few_shot_reasoning.py","file_url":"https://github.com/Xiaoyu-Tao/MemCast-TS/blob/HEAD/main/EPF/EPF_main_few_shot_reasoning.py","link_basis":"first_harvest_node","language":"python","status":"ran_honours","verification_level":1,"contract_check":"HONOURS","metamorphic_tier":null,"behaviour_fingerprint":true,"licence":"NONE","inline_ok":false,"mcp_get_code":{"code_sha256":"b9ea00559a62240c"}},{"code_sha256_prefix":"935d2ecd0679d5d3","entry":"_quick_quality_check","repo":"Xiaoyu-Tao/MemCast-TS","repo_kind":"found_in_text","path":"main/EPF/EPF_main_few_shot_reasoning.py","file_url":"https://github.com/Xiaoyu-Tao/MemCast-TS/blob/HEAD/main/EPF/EPF_main_few_shot_reasoning.py","link_basis":"first_harvest_node","language":"python","status":"ran_fixture","verification_level":1,"contract_check":"RAISES","metamorphic_tier":null,"behaviour_fingerprint":true,"licence":"NONE","inline_ok":false,"mcp_get_code":{"code_sha256":"935d2ecd0679d5d3"}},{"code_sha256_prefix":"3a87a4c3b4c2249b","entry":"_summary_dir_for","repo":"Xiaoyu-Tao/MemCast-TS","repo_kind":"found_in_text","path":"main/EPF/EPF_main_few_shot_reasoning.py","file_url":"https://github.com/Xiaoyu-Tao/MemCast-TS/blob/HEAD/main/EPF/EPF_main_few_shot_reasoning.py","link_basis":"first_harvest_node","language":"python","status":"ran_draft_wrong","verification_level":1,"contract_check":"OUTPUT_MISDECLARED","metamorphic_tier":null,"behaviour_fingerprint":true,"licence":"NONE","inline_ok":false,"mcp_get_code":{"code_sha256":"3a87a4c3b4c2249b"}},{"code_sha256_prefix":"295a450c7b5f2730","entry":"_summary_path","repo":"Xiaoyu-Tao/MemCast-TS","repo_kind":"found_in_text","path":"main/EPF/EPF_main_few_shot_reasoning.py","file_url":"https://github.com/Xiaoyu-Tao/MemCast-TS/blob/HEAD/main/EPF/EPF_main_few_shot_reasoning.py","link_basis":"first_harvest_node","language":"python","status":"ran_draft_wrong","verification_level":1,"contract_check":"OUTPUT_MISDECLARED","metamorphic_tier":null,"behaviour_fingerprint":true,"licence":"NONE","inline_ok":false,"mcp_get_code":{"code_sha256":"295a450c7b5f2730"}},{"code_sha256_prefix":"905058a59b08f39e","entry":"compute_dtw","repo":"Xiaoyu-Tao/MemCast-TS","repo_kind":"found_in_text","path":"main/EPF/EPF_main_few_shot_reasoning.py","file_url":"https://github.com/Xiaoyu-Tao/MemCast-TS/blob/HEAD/main/EPF/EPF_main_few_shot_reasoning.py","link_basis":"first_harvest_node","language":"python","status":"ran_fixture","verification_level":1,"contract_check":"RAISES","metamorphic_tier":null,"behaviour_fingerprint":true,"licence":"NONE","inline_ok":false,"mcp_get_code":{"code_sha256":"905058a59b08f39e"}},{"code_sha256_prefix":"6960468a3ae51111","entry":"construct_few_shot_prompt","repo":"Xiaoyu-Tao/MemCast-TS","repo_kind":"found_in_text","path":"main/EPF/EPF_main_few_shot_reasoning.py","file_url":"https://github.com/Xiaoyu-Tao/MemCast-TS/blob/HEAD/main/EPF/EPF_main_few_shot_reasoning.py","link_basis":"first_harvest_node","language":"python","status":"ran_draft_wrong","verification_level":1,"contract_check":"OUTPUT_MISDECLARED","metamorphic_tier":null,"behaviour_fingerprint":true,"licence":"NONE","inline_ok":false,"mcp_get_code":{"code_sha256":"6960468a3ae51111"}},{"code_sha256_prefix":"701ecdb36bc83c1a","entry":"extract_time_series_features","repo":"Xiaoyu-Tao/MemCast-TS","repo_kind":"found_in_text","path":"main/EPF/EPF_main_few_shot_reasoning.py","file_url":"https://github.com/Xiaoyu-Tao/MemCast-TS/blob/HEAD/main/EPF/EPF_main_few_shot_reasoning.py","link_basis":"first_harvest_node","language":"python","status":"ran_fixture","verification_level":1,"contract_check":"RAISES","metamorphic_tier":null,"behaviour_fingerprint":true,"licence":"NONE","inline_ok":false,"mcp_get_code":{"code_sha256":"701ecdb36bc83c1a"}},{"code_sha256_prefix":"0df49cdedfd78b55","entry":"get_results","repo":"Xiaoyu-Tao/MemCast-TS","repo_kind":"found_in_text","path":"main/EPF/EPF_main_few_shot_reasoning.py","file_url":"https://github.com/Xiaoyu-Tao/MemCast-TS/blob/HEAD/main/EPF/EPF_main_few_shot_reasoning.py","link_basis":"first_harvest_node","language":"python","status":"ran_honours","verification_level":1,"contract_check":"HONOURS","metamorphic_tier":null,"behaviour_fingerprint":true,"licence":"NONE","inline_ok":false,"mcp_get_code":{"code_sha256":"0df49cdedfd78b55"}},{"code_sha256_prefix":"ec1392ddd401e6f3","entry":"gpt4_api_output","repo":"Xiaoyu-Tao/MemCast-TS","repo_kind":"found_in_text","path":"main/EPF/EPF_main_few_shot_reasoning.py","file_url":"https://github.com/Xiaoyu-Tao/MemCast-TS/blob/HEAD/main/EPF/EPF_main_few_shot_reasoning.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":"ec1392ddd401e6f3"}},{"code_sha256_prefix":"b7d98a5d484453d7","entry":"retrieve_similar_examples","repo":"Xiaoyu-Tao/MemCast-TS","repo_kind":"found_in_text","path":"main/EPF/EPF_main_few_shot_reasoning.py","file_url":"https://github.com/Xiaoyu-Tao/MemCast-TS/blob/HEAD/main/EPF/EPF_main_few_shot_reasoning.py","link_basis":"first_harvest_node","language":"python","status":"ran_fixture","verification_level":1,"contract_check":"RAISES","metamorphic_tier":null,"behaviour_fingerprint":true,"licence":"NONE","inline_ok":false,"mcp_get_code":{"code_sha256":"b7d98a5d484453d7"}},{"code_sha256_prefix":"83277838495afbcd","entry":"retrieve_similar_examples_dtw","repo":"Xiaoyu-Tao/MemCast-TS","repo_kind":"found_in_text","path":"main/EPF/EPF_main_few_shot_reasoning.py","file_url":"https://github.com/Xiaoyu-Tao/MemCast-TS/blob/HEAD/main/EPF/EPF_main_few_shot_reasoning.py","link_basis":"first_harvest_node","language":"python","status":"ran_fixture","verification_level":1,"contract_check":"RAISES","metamorphic_tier":null,"behaviour_fingerprint":true,"licence":"NONE","inline_ok":false,"mcp_get_code":{"code_sha256":"83277838495afbcd"}},{"code_sha256_prefix":"b49b29b66983e7fb","entry":"EPF_main_few_shot_reasoning","repo":"Xiaoyu-Tao/MemCast-TS","repo_kind":"found_in_text","path":"main/EPF/EPF_main_few_shot_reasoning.py","file_url":"https://github.com/Xiaoyu-Tao/MemCast-TS/blob/HEAD/main/EPF/EPF_main_few_shot_reasoning.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":"b49b29b66983e7fb"}},{"code_sha256_prefix":"3e814b8d791a1fcd","entry":"_run_with_reflection","repo":"Xiaoyu-Tao/MemCast-TS","repo_kind":"found_in_text","path":"main/EPF/EPF_main_few_shot_reasoning.py","file_url":"https://github.com/Xiaoyu-Tao/MemCast-TS/blob/HEAD/main/EPF/EPF_main_few_shot_reasoning.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":"3e814b8d791a1fcd"}},{"code_sha256_prefix":"11659d224ebf60b7","entry":"select_best_trajectory_with_llm","repo":"Xiaoyu-Tao/MemCast-TS","repo_kind":"found_in_text","path":"main/EPF/EPF_main_few_shot_reasoning.py","file_url":"https://github.com/Xiaoyu-Tao/MemCast-TS/blob/HEAD/main/EPF/EPF_main_few_shot_reasoning.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":"11659d224ebf60b7"}}]},"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}