{"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/improving-temporal-link-prediction-via","title":"Improving Temporal Link Prediction via Temporal Walk Matrix Projection","arxiv_id":"2410.04013","date":"2024-10-05","proceeding":null,"authors":["Xiaodong Lu","Leilei Sun","Tongyu Zhu","Weifeng Lv"],"abstract":"Temporal link prediction, aiming at predicting future interactions among entities based on historical interactions, is crucial for a series of real-world applications. Although previous methods have demonstrated the importance of relative encodings for effective temporal link prediction, computational efficiency remains a major concern in constructing these encodings. Moreover, existing relative encodings are usually constructed based on structural connectivity, where temporal information is seldom considered. To address the aforementioned issues, we first analyze existing relative encodings and unify them as a function of temporal walk matrices. This unification establishes a connection between relative encodings and temporal walk matrices, providing a more principled way for analyzing and designing relative encodings. Based on this analysis, we propose a new temporal graph neural network called TPNet, which introduces a temporal walk matrix that incorporates the time decay effect to simultaneously consider both temporal and structural information. Moreover, TPNet designs a random feature propagation mechanism with theoretical guarantees to implicitly maintain the temporal walk matrices, which improves the computation and storage efficiency. Experimental results on 13 benchmark datasets verify the effectiveness and efficiency of TPNet, where TPNet outperforms other baselines on most datasets and achieves a maximum speedup of $33.3 \\times$ compared to the SOTA baseline. Our code can be found at \\url{https://github.com/lxd99/TPNet}.","url_abs":"https://arxiv.org/abs/2410.04013v1","url_pdf":"https://arxiv.org/pdf/2410.04013v1.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":"improving-temporal-link-prediction-via","repo_url":"https://github.com/lxd99/tpnet","is_official":1,"mentioned_in_paper":1,"mentioned_in_github":0,"framework":"pytorch","reach":{"status":"ok","spdx":"MIT"}}],"tasks":[{"task_slug":"computational-efficiency","task_name":"Computational Efficiency"},{"task_slug":"graph-neural-network","task_name":"Graph Neural Network"},{"task_slug":"link-prediction","task_name":"Link Prediction"}],"methods":[{"method_slug":"graph-neural-network","method_name":"Graph Neural Network"}],"datasets_introduced":[],"methods_introduced":[],"results":[],"syntology":{"atlas_url":"https://app.syntology.ai/?focus=2410.04013","mcp":{"get_harvested_code_for_paper":{"arxiv_id":"2410.04013"}},"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/lxd99/TPNet","reach":{"status":"ok","spdx":"MIT"}},{"provenance":"external:paperswithcode_snapshot_2025-07-28","url":"https://github.com/lxd99/tpnet","reach":{"status":"ok","spdx":"MIT"}}],"summary":{"ran":8,"unverified":4},"by_repo_kind":{"official":{"samples":12,"ran":8,"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":"b949112ded585c96","entry":"FeedForwardNet","repo":"lxd99/tpnet","repo_kind":"official","path":"models/TPNet.py","file_url":"https://github.com/lxd99/tpnet/blob/HEAD/models/TPNet.py","link_basis":"first_harvest_node","language":"python","status":"ran","verification_level":1,"contract_check":null,"metamorphic_tier":"invariant","behaviour_fingerprint":false,"licence":"MIT","inline_ok":true,"mcp_get_code":{"code_sha256":"b949112ded585c96"}},{"code_sha256_prefix":"0783ca0f8dd2b03d","entry":"MLPMixer","repo":"lxd99/tpnet","repo_kind":"official","path":"models/TPNet.py","file_url":"https://github.com/lxd99/tpnet/blob/HEAD/models/TPNet.py","link_basis":"first_harvest_node","language":"python","status":"ran","verification_level":1,"contract_check":null,"metamorphic_tier":"invariant","behaviour_fingerprint":false,"licence":"MIT","inline_ok":true,"mcp_get_code":{"code_sha256":"0783ca0f8dd2b03d"}},{"code_sha256_prefix":"061020737965193c","entry":"RandomProjectionModule","repo":"lxd99/tpnet","repo_kind":"official","path":"models/TPNet.py","file_url":"https://github.com/lxd99/tpnet/blob/HEAD/models/TPNet.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":"061020737965193c"}},{"code_sha256_prefix":"0c789edc2dc5688c","entry":"TimeEncoder","repo":"lxd99/tpnet","repo_kind":"official","path":"models/TPNet.py","file_url":"https://github.com/lxd99/tpnet/blob/HEAD/models/TPNet.py","link_basis":"first_harvest_node","language":"python","status":"ran","verification_level":1,"contract_check":null,"metamorphic_tier":"invariant","behaviour_fingerprint":true,"licence":"MIT","inline_ok":true,"mcp_get_code":{"code_sha256":"0c789edc2dc5688c"}},{"code_sha256_prefix":"727d90514a9a5475","entry":"compute_src_dst_node_time_shifts","repo":"lxd99/TPNet","repo_kind":"official","path":"models/MemoryModel.py","file_url":"https://github.com/lxd99/TPNet/blob/HEAD/models/MemoryModel.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":"727d90514a9a5475"}},{"code_sha256_prefix":"1de6e005e59cdf96","entry":"edge_bank_time_window_memory","repo":"lxd99/TPNet","repo_kind":"official","path":"models/EdgeBank.py","file_url":"https://github.com/lxd99/TPNet/blob/HEAD/models/EdgeBank.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":"1de6e005e59cdf96"}},{"code_sha256_prefix":"0f56e3ae8a152b2b","entry":"edge_bank_unlimited_memory","repo":"lxd99/TPNet","repo_kind":"official","path":"models/EdgeBank.py","file_url":"https://github.com/lxd99/TPNet/blob/HEAD/models/EdgeBank.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":"0f56e3ae8a152b2b"}},{"code_sha256_prefix":"8bcef3dc22f0489a","entry":"predict_link_probabilities","repo":"lxd99/TPNet","repo_kind":"official","path":"models/EdgeBank.py","file_url":"https://github.com/lxd99/TPNet/blob/HEAD/models/EdgeBank.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":"8bcef3dc22f0489a"}},{"code_sha256_prefix":"0c735a99a03bbb86","entry":"NeighborSampler","repo":"lxd99/tpnet","repo_kind":"official","path":"models/TPNet.py","file_url":"https://github.com/lxd99/tpnet/blob/HEAD/models/TPNet.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":"0c735a99a03bbb86"}},{"code_sha256_prefix":"a6c3b6089e63786c","entry":"TPNet","repo":"lxd99/tpnet","repo_kind":"official","path":"models/TPNet.py","file_url":"https://github.com/lxd99/tpnet/blob/HEAD/models/TPNet.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":"a6c3b6089e63786c"}},{"code_sha256_prefix":"c849574271a0c04e","entry":"TPNetEmbedding","repo":"lxd99/tpnet","repo_kind":"official","path":"models/TPNet.py","file_url":"https://github.com/lxd99/tpnet/blob/HEAD/models/TPNet.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":"c849574271a0c04e"}},{"code_sha256_prefix":"7878b72c4ebda48a","entry":"get_layer_type","repo":"lxd99/TPNet","repo_kind":"official","path":"models/NAT.py","file_url":"https://github.com/lxd99/TPNet/blob/HEAD/models/NAT.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":"7878b72c4ebda48a"}}]},"arxiv_metadata":null,"syntology_extracted_results":null}