{"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/structural-re-weighting-improves-graph-domain","title":"Structural Re-weighting Improves Graph Domain Adaptation","arxiv_id":"2306.03221","date":"2023-06-05","proceeding":null,"authors":["Shikun Liu","Tianchun Li","Yongbin Feng","Nhan Tran","Han Zhao","Qiu Qiang","Pan Li"],"abstract":"In many real-world applications, graph-structured data used for training and testing have differences in distribution, such as in high energy physics (HEP) where simulation data used for training may not match real experiments. Graph domain adaptation (GDA) is a method used to address these differences. However, current GDA primarily works by aligning the distributions of node representations output by a single graph neural network encoder shared across the training and testing domains, which may often yield sub-optimal solutions. This work examines different impacts of distribution shifts caused by either graph structure or node attributes and identifies a new type of shift, named conditional structure shift (CSS), which current GDA approaches are provably sub-optimal to deal with. A novel approach, called structural reweighting (StruRW), is proposed to address this issue and is tested on synthetic graphs, four benchmark datasets, and a new application in HEP. StruRW has shown significant performance improvement over the baselines in the settings with large graph structure shifts, and reasonable performance improvement when node attribute shift dominates.","url_abs":"https://arxiv.org/abs/2306.03221v1","url_pdf":"https://arxiv.org/pdf/2306.03221v1.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":"structural-re-weighting-improves-graph-domain","repo_url":"https://github.com/graph-com/strurw","is_official":1,"mentioned_in_paper":1,"mentioned_in_github":1,"framework":"pytorch","reach":null}],"tasks":[{"task_slug":"attribute","task_name":"Attribute"},{"task_slug":"domain-adaptation","task_name":"Domain Adaptation"},{"task_slug":"graph-domain-adaptation","task_name":"GRAPH DOMAIN ADAPTATION"},{"task_slug":"graph-neural-network","task_name":"Graph Neural Network"}],"methods":[{"method_slug":"graph-neural-network","method_name":"Graph Neural Network"}],"datasets_introduced":[],"methods_introduced":[],"results":[],"syntology":{"atlas_url":"https://app.syntology.ai/?focus=2306.03221","mcp":{"get_harvested_code_for_paper":{"arxiv_id":"2306.03221"}},"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/graph-com/strurw","reach":null}],"summary":{"ran_draft_wrong":1,"ran_honours":1,"unverified":5},"by_repo_kind":{"official":{"samples":7,"ran":2,"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":7,"samples":[{"code_sha256_prefix":"98148369810a06c2","entry":"edges_to_adj","repo":"Graph-COM/StruRW","repo_kind":"official","path":"Utils/pre_data/datasets.py","file_url":"https://github.com/Graph-COM/StruRW/blob/HEAD/Utils/pre_data/datasets.py","link_basis":"first_harvest_node","language":"python","status":"ran_draft_wrong","verification_level":1,"contract_check":"MISDECLARED","metamorphic_tier":"deterministic","behaviour_fingerprint":false,"licence":"NONE","inline_ok":false,"mcp_get_code":{"code_sha256":"98148369810a06c2"}},{"code_sha256_prefix":"6098bb77dfa6ae0d","entry":"read_edges","repo":"Graph-COM/StruRW","repo_kind":"official","path":"Utils/pre_data/datasets.py","file_url":"https://github.com/Graph-COM/StruRW/blob/HEAD/Utils/pre_data/datasets.py","link_basis":"first_harvest_node","language":"python","status":"ran_honours","verification_level":1,"contract_check":"HONOURS","metamorphic_tier":"well_formed","behaviour_fingerprint":false,"licence":"NONE","inline_ok":false,"mcp_get_code":{"code_sha256":"6098bb77dfa6ae0d"}},{"code_sha256_prefix":"c78b2fa32eb7b257","entry":"cal_edge_prob","repo":"graph-com/strurw","repo_kind":"official","path":"Utils/edge_rw.py","file_url":"https://github.com/graph-com/strurw/blob/HEAD/Utils/edge_rw.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":"c78b2fa32eb7b257"}},{"code_sha256_prefix":"0105b0551f4f01ff","entry":"cal_edge_prob_multi","repo":"graph-com/strurw","repo_kind":"official","path":"Utils/edge_rw.py","file_url":"https://github.com/graph-com/strurw/blob/HEAD/Utils/edge_rw.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":"0105b0551f4f01ff"}},{"code_sha256_prefix":"f29a61e11d603345","entry":"cal_edge_prob_same","repo":"graph-com/strurw","repo_kind":"official","path":"Utils/edge_rw.py","file_url":"https://github.com/graph-com/strurw/blob/HEAD/Utils/edge_rw.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":"f29a61e11d603345"}},{"code_sha256_prefix":"10b6c748fa2a96b5","entry":"cal_edge_prob_sep","repo":"graph-com/strurw","repo_kind":"official","path":"Utils/edge_rw.py","file_url":"https://github.com/graph-com/strurw/blob/HEAD/Utils/edge_rw.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":"10b6c748fa2a96b5"}},{"code_sha256_prefix":"7376815eb686e260","entry":"calculate_reweight_multi","repo":"graph-com/strurw","repo_kind":"official","path":"Utils/edge_rw.py","file_url":"https://github.com/graph-com/strurw/blob/HEAD/Utils/edge_rw.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":"7376815eb686e260"}}]},"arxiv_metadata":null,"syntology_extracted_results":null}