{"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-2606-13119","title":"MP3: Multi-Period Pattern Pre-training for Spatio-Temporal Forecasting","arxiv_id":"2606.13119","date":"2026-06-11","proceeding":null,"authors":["Lilan Peng","Yandi Liu","Qingren Yao","Chongshou Li","Tianrui Li"],"abstract":"Spatio-Temporal forecasting is crucial in diverse fields, such as transportation, climate, and energy. Urban spatio-temporal data exhibits temporal mirage: similar short-window inputs have divergent future trends, and vice versa. Existing spatio-temporal graph neural networks (STGNNs) cannot effectively identify such mirages. We argue that the core reason lies in the short-window inputs that have incomplete period observation, heterogeneous global spatial correlation, and cross-period superposition causality. To bridge this gap, we develop a novel Multi- Period Pattern Pre-training (MP3), a plug-and-play pre-training plugin for distinguishing temporal mirages. MP3 presents two core innovations: (1) The multi-period pattern learning is designed to learn multi-period patterns from long time series. Specifically, multi-period temporal modeling leverages edge convolution to identify different multi-period patterns. Multi-period spatial modeling uses a bottleneck project and a global memory bank to capture heterogeneous global spatial relations efficiently. Cross-period pattern interaction employs a causality-enhanced Transformer to capture dependencies across different period patterns. (2) This plugin can seamlessly integrate into existing STGNN backbones to strengthen their forecasting performance. The experiment on five STGNN baselines across five real-world datasets (including a large-scale dataset CA) verify the effectiveness, superior scalability and strong adaptability of MP3, which brings consistent and robust performance improvements across all evaluated baselines. On average, MP3 reduces the MAE 4.7% and the RMSE 5.0%. The code can be available at https://github.com/YAN-outlook/MP3.","url_abs":"https://arxiv.org/abs/2606.13119","url_pdf":"https://arxiv.org/pdf/2606.13119","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=2606.13119","mcp":{"get_harvested_code_for_paper":{"arxiv_id":"2606.13119"}},"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/YAN-outlook/MP3","reach":null}],"summary":{"ran":5,"unverified":3},"by_repo_kind":{"found_in_text":{"samples":8,"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":8,"samples":[{"code_sha256_prefix":"9c75549226e6f91d","entry":"IEBlock","repo":"YAN-outlook/MP3","repo_kind":"found_in_text","path":"preprocess/model.py","file_url":"https://github.com/YAN-outlook/MP3/blob/HEAD/preprocess/model.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":"9c75549226e6f91d"}},{"code_sha256_prefix":"77338e3543bc9dc8","entry":"MemoryBank","repo":"YAN-outlook/MP3","repo_kind":"found_in_text","path":"preprocess/model.py","file_url":"https://github.com/YAN-outlook/MP3/blob/HEAD/preprocess/model.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":"77338e3543bc9dc8"}},{"code_sha256_prefix":"6ff2549f534bfbc9","entry":"PeriodGraphCausalBlock","repo":"YAN-outlook/MP3","repo_kind":"found_in_text","path":"preprocess/model.py","file_url":"https://github.com/YAN-outlook/MP3/blob/HEAD/preprocess/model.py","link_basis":"first_harvest_node","language":"python","status":"ran","verification_level":1,"contract_check":null,"metamorphic_tier":"invariant","behaviour_fingerprint":false,"licence":"NONE","inline_ok":false,"mcp_get_code":{"code_sha256":"6ff2549f534bfbc9"}},{"code_sha256_prefix":"a881b84a39bb6169","entry":"PeriodInceptionEncoder","repo":"YAN-outlook/MP3","repo_kind":"found_in_text","path":"preprocess/model.py","file_url":"https://github.com/YAN-outlook/MP3/blob/HEAD/preprocess/model.py","link_basis":"first_harvest_node","language":"python","status":"ran","verification_level":1,"contract_check":null,"metamorphic_tier":"invariant","behaviour_fingerprint":false,"licence":"NONE","inline_ok":false,"mcp_get_code":{"code_sha256":"a881b84a39bb6169"}},{"code_sha256_prefix":"9f17fd17a12f71dc","entry":"SparseGCN","repo":"YAN-outlook/MP3","repo_kind":"found_in_text","path":"preprocess/model.py","file_url":"https://github.com/YAN-outlook/MP3/blob/HEAD/preprocess/model.py","link_basis":"first_harvest_node","language":"python","status":"ran","verification_level":1,"contract_check":null,"metamorphic_tier":"invariant","behaviour_fingerprint":true,"licence":"NONE","inline_ok":false,"mcp_get_code":{"code_sha256":"9f17fd17a12f71dc"}},{"code_sha256_prefix":"124907aa103303db","entry":"PeriodAttentionBlock","repo":"YAN-outlook/MP3","repo_kind":"found_in_text","path":"preprocess/model.py","file_url":"https://github.com/YAN-outlook/MP3/blob/HEAD/preprocess/model.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":"124907aa103303db"}},{"code_sha256_prefix":"d75703d4d3575638","entry":"PeriodAttentionBlock_new","repo":"YAN-outlook/MP3","repo_kind":"found_in_text","path":"preprocess/model.py","file_url":"https://github.com/YAN-outlook/MP3/blob/HEAD/preprocess/model.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":"d75703d4d3575638"}},{"code_sha256_prefix":"20fb7f6c19d30edc","entry":"linear_transformer","repo":"YAN-outlook/MP3","repo_kind":"found_in_text","path":"preprocess/model.py","file_url":"https://github.com/YAN-outlook/MP3/blob/HEAD/preprocess/model.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":"20fb7f6c19d30edc"}}]},"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":{"kind":"leaderboard_placements","source":"Syntology's leaderboard-shaped extractor over the paper's own arXiv-HTML tables: a model pointed at a cell, the number was read from that cell and checked against the board's metric, dataset, split and scale, and an independent check accepted the entry; not reviewed by the paper's authors or the archive's editors","extractor_model":"global.anthropic.claude-sonnet-4-5-20250929-v1:0","verifier_model":null,"prompt_sha":"fa63d4bb9d755694","coverage":{"sentence":"Syntology has checked 6,264 of the 9,581 papers on this site that are newer than the archive; results from the others appear after they are checked.","papers_newer_than_archive":9581,"papers_checked":6264},"entries":[],"not_placed":{"boards":2,"rejected_by_independent_check":0,"refused_by_a_rule":2,"check_did_not_answer":0,"proposed_without_a_cell":0,"declined_by_site":0}}}