{"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-09237","title":"XLinear: A Lightweight and Accurate MLP-Based Model for Long-Term Time Series Forecasting with Exogenous Inputs","arxiv_id":"2601.09237","date":"2026-01-14","proceeding":null,"authors":["Xinyang Chen","Huidong Jin","Yu Huang","Zaiwen Feng"],"abstract":"Despite the prevalent assumption of uniform variable importance in long-term time series forecasting models, real world applications often exhibit asymmetric causal relationships and varying data acquisition costs. Specifically, cost-effective exogenous data (e.g., local weather) can unilaterally influence dynamics of endogenous variables, such as lake surface temperature. Exploiting these links enables more effective forecasts when exogenous inputs are readily available. Transformer-based models capture long-range dependencies but incur high computation and suffer from permutation invariance. Patch-based variants improve efficiency yet can miss local temporal patterns. To efficiently exploit informative signals across both the temporal dimension and relevant exogenous variables, this study proposes XLinear, a lightweight time series forecasting model built upon MultiLayer Perceptrons (MLPs). XLinear uses a global token derived from an endogenous variable as a pivotal hub for interacting with exogenous variables, and employs MLPs with sigmoid activation to extract both temporal patterns and variate-wise dependencies. Its prediction head then integrates these signals to forecast the endogenous series. We evaluate XLinear on seven standard benchmarks and five real-world datasets with exogenous inputs. Compared with state-of-the-art models, XLinear delivers superior accuracy and efficiency for both multivariate forecasts and univariate forecasts influenced by exogenous inputs.","url_abs":"https://arxiv.org/abs/2601.09237","url_pdf":"https://arxiv.org/pdf/2601.09237","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.09237","mcp":{"get_harvested_code_for_paper":{"arxiv_id":"2601.09237"}},"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/thuml/Time-Series-Library","reach":null}],"summary":{"ran":7,"unverified":2},"by_repo_kind":{"found_in_text":{"samples":9,"ran":7,"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":"c72bedae1c2e5af8","entry":"AttentionLayer","repo":"thuml/Time-Series-Library","repo_kind":"found_in_text","path":"models/TimeXer.py","file_url":"https://github.com/thuml/Time-Series-Library/blob/HEAD/models/TimeXer.py","link_basis":"first_harvest_node","language":"python","status":"ran","verification_level":1,"contract_check":null,"metamorphic_tier":"deterministic","behaviour_fingerprint":false,"licence":"MIT","inline_ok":true,"mcp_get_code":{"code_sha256":"c72bedae1c2e5af8"}},{"code_sha256_prefix":"be84117eca7bbea4","entry":"DataEmbedding_inverted","repo":"thuml/Time-Series-Library","repo_kind":"found_in_text","path":"models/TimeXer.py","file_url":"https://github.com/thuml/Time-Series-Library/blob/HEAD/models/TimeXer.py","link_basis":"first_harvest_node","language":"python","status":"ran","verification_level":1,"contract_check":null,"metamorphic_tier":"deterministic","behaviour_fingerprint":false,"licence":"MIT","inline_ok":true,"mcp_get_code":{"code_sha256":"be84117eca7bbea4"}},{"code_sha256_prefix":"9a227bbc090a96e6","entry":"EnEmbedding","repo":"thuml/Time-Series-Library","repo_kind":"found_in_text","path":"models/TimeXer.py","file_url":"https://github.com/thuml/Time-Series-Library/blob/HEAD/models/TimeXer.py","link_basis":"first_harvest_node","language":"python","status":"ran","verification_level":1,"contract_check":null,"metamorphic_tier":"deterministic","behaviour_fingerprint":true,"licence":"MIT","inline_ok":true,"mcp_get_code":{"code_sha256":"9a227bbc090a96e6"}},{"code_sha256_prefix":"4a1c8c6921369e3d","entry":"Encoder","repo":"thuml/Time-Series-Library","repo_kind":"found_in_text","path":"models/TimeXer.py","file_url":"https://github.com/thuml/Time-Series-Library/blob/HEAD/models/TimeXer.py","link_basis":"first_harvest_node","language":"python","status":"ran","verification_level":1,"contract_check":null,"metamorphic_tier":"deterministic","behaviour_fingerprint":true,"licence":"MIT","inline_ok":true,"mcp_get_code":{"code_sha256":"4a1c8c6921369e3d"}},{"code_sha256_prefix":"bbcd0d85cc1704e5","entry":"EncoderLayer","repo":"thuml/Time-Series-Library","repo_kind":"found_in_text","path":"models/TimeXer.py","file_url":"https://github.com/thuml/Time-Series-Library/blob/HEAD/models/TimeXer.py","link_basis":"first_harvest_node","language":"python","status":"ran","verification_level":1,"contract_check":null,"metamorphic_tier":"deterministic","behaviour_fingerprint":false,"licence":"MIT","inline_ok":true,"mcp_get_code":{"code_sha256":"bbcd0d85cc1704e5"}},{"code_sha256_prefix":"905e991998c7d0a0","entry":"FlattenHead","repo":"thuml/Time-Series-Library","repo_kind":"found_in_text","path":"models/TimeXer.py","file_url":"https://github.com/thuml/Time-Series-Library/blob/HEAD/models/TimeXer.py","link_basis":"first_harvest_node","language":"python","status":"ran","verification_level":1,"contract_check":null,"metamorphic_tier":"deterministic","behaviour_fingerprint":false,"licence":"MIT","inline_ok":true,"mcp_get_code":{"code_sha256":"905e991998c7d0a0"}},{"code_sha256_prefix":"a297b58f69588d02","entry":"TriangularCausalMask","repo":"thuml/Time-Series-Library","repo_kind":"found_in_text","path":"models/TimeXer.py","file_url":"https://github.com/thuml/Time-Series-Library/blob/HEAD/models/TimeXer.py","link_basis":"first_harvest_node","language":"python","status":"ran","verification_level":1,"contract_check":null,"metamorphic_tier":null,"behaviour_fingerprint":false,"licence":"MIT","inline_ok":true,"mcp_get_code":{"code_sha256":"a297b58f69588d02"}},{"code_sha256_prefix":"322f02572bafb2ab","entry":"FullAttention","repo":"thuml/Time-Series-Library","repo_kind":"found_in_text","path":"models/TimeXer.py","file_url":"https://github.com/thuml/Time-Series-Library/blob/HEAD/models/TimeXer.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":"322f02572bafb2ab"}},{"code_sha256_prefix":"a8b369fc0c4944e4","entry":"Model","repo":"thuml/Time-Series-Library","repo_kind":"found_in_text","path":"models/TimeXer.py","file_url":"https://github.com/thuml/Time-Series-Library/blob/HEAD/models/TimeXer.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":"a8b369fc0c4944e4"}}]},"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}