{"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-02931","title":"Weighted Sum-of-Trees Model for Clustered Data","arxiv_id":"2602.02931","date":"2026-02-03","proceeding":null,"authors":["Kevin McCoy","Zachary Wooten","Katarzyna Tomczak","Christine B. Peterson"],"abstract":"Clustered data, which arise when observations are nested within groups, are incredibly common in clinical, education, and social science research. Traditionally, a linear mixed model, which includes random effects to account for within-group correlation, would be used to model the observed data and make new predictions on unseen data. Some work has been done to extend the mixed model approach beyond linear regression into more complex and non-parametric models, such as decision trees and random forests. However, existing methods are limited to using the global fixed effects for prediction on data from out-of-sample groups, effectively assuming that all clusters share a common outcome model. We propose a lightweight sum-of-trees model in which we learn a decision tree for each sample group. We combine the predictions from these trees using weights so that out-of-sample group predictions are more closely aligned with the most similar groups in the training data. This strategy also allows for inference on the similarity across groups in the outcome prediction model, as the unique tree structures and variable importances for each group can be directly compared. We show our model outperforms traditional decision trees and random forests in a variety of simulation settings. Finally, we showcase our method on real-world data from the sarcoma cohort of The Cancer Genome Atlas, where patient samples are grouped by sarcoma subtype.","url_abs":"https://arxiv.org/abs/2602.02931","url_pdf":"https://arxiv.org/pdf/2602.02931","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":{"syntology_url":"https://syntology.ai/paper/2602.02931","atlas_url":"https://app.syntology.ai/?focus=2602.02931","mcp":{"get_harvested_code_for_paper":{"arxiv_id":"2602.02931"}},"developers":"https://syntology.ai/developers","read_at":"2026-09-25T09:33:49+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/kmccoy3/weighted-trees","reach":null}],"summary":{"ran_honours":3,"ran_fixture":2},"by_repo_kind":{"found_in_text":{"samples":5,"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":0,"samples":[{"code_sha256_prefix":"32fe9eed83081767","entry":"f_0","repo":"kmccoy3/weighted-trees","repo_kind":"found_in_text","path":"3.1_Simulated-Data/simulation_setting_3.py","file_url":"https://github.com/kmccoy3/weighted-trees/blob/HEAD/3.1_Simulated-Data/simulation_setting_3.py","link_basis":"first_harvest_node","language":"python","status":"ran_honours","verification_level":1,"contract_check":"HONOURS","metamorphic_tier":null,"behaviour_fingerprint":true,"licence":"MIT","inline_ok":true,"mcp_get_code":{"code_sha256":"32fe9eed83081767"}},{"code_sha256_prefix":"f83213a0eaba6a70","entry":"f_1","repo":"kmccoy3/weighted-trees","repo_kind":"found_in_text","path":"3.1_Simulated-Data/simulation_setting_3.py","file_url":"https://github.com/kmccoy3/weighted-trees/blob/HEAD/3.1_Simulated-Data/simulation_setting_3.py","link_basis":"first_harvest_node","language":"python","status":"ran_honours","verification_level":1,"contract_check":"HONOURS","metamorphic_tier":null,"behaviour_fingerprint":true,"licence":"MIT","inline_ok":true,"mcp_get_code":{"code_sha256":"f83213a0eaba6a70"}},{"code_sha256_prefix":"9ed44730599b237c","entry":"f_2","repo":"kmccoy3/weighted-trees","repo_kind":"found_in_text","path":"3.1_Simulated-Data/simulation_setting_3.py","file_url":"https://github.com/kmccoy3/weighted-trees/blob/HEAD/3.1_Simulated-Data/simulation_setting_3.py","link_basis":"first_harvest_node","language":"python","status":"ran_fixture","verification_level":1,"contract_check":"RAISES","metamorphic_tier":null,"behaviour_fingerprint":false,"licence":"MIT","inline_ok":true,"mcp_get_code":{"code_sha256":"9ed44730599b237c"}},{"code_sha256_prefix":"b526f0eb89cc2974","entry":"f_3","repo":"kmccoy3/weighted-trees","repo_kind":"found_in_text","path":"3.1_Simulated-Data/simulation_setting_3.py","file_url":"https://github.com/kmccoy3/weighted-trees/blob/HEAD/3.1_Simulated-Data/simulation_setting_3.py","link_basis":"first_harvest_node","language":"python","status":"ran_honours","verification_level":1,"contract_check":"HONOURS","metamorphic_tier":null,"behaviour_fingerprint":true,"licence":"MIT","inline_ok":true,"mcp_get_code":{"code_sha256":"b526f0eb89cc2974"}},{"code_sha256_prefix":"f7fc72eed84c60cb","entry":"mu_1","repo":"kmccoy3/weighted-trees","repo_kind":"found_in_text","path":"3.1_Simulated-Data/simulation_setting_3.py","file_url":"https://github.com/kmccoy3/weighted-trees/blob/HEAD/3.1_Simulated-Data/simulation_setting_3.py","link_basis":"first_harvest_node","language":"python","status":"ran_fixture","verification_level":1,"contract_check":"RAISES","metamorphic_tier":null,"behaviour_fingerprint":true,"licence":"MIT","inline_ok":true,"mcp_get_code":{"code_sha256":"f7fc72eed84c60cb"}}]},"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,885 of the 9,623 papers on this site that are newer than the archive; results from the others appear after they are checked.","papers_newer_than_archive":9623,"papers_checked":6885},"entries":[],"not_placed":{"boards":0,"rejected_by_independent_check":0,"refused_by_a_rule":0,"check_did_not_answer":0,"proposed_without_a_cell":0,"declined_by_site":0}}}