{"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/model-free-sequential-testing-for-conditional","title":"Model-X Sequential Testing for Conditional Independence via Testing by Betting","arxiv_id":"2210.00354","date":"2022-10-01","proceeding":null,"authors":["Shalev Shaer","Gal Maman","Yaniv Romano"],"abstract":"This paper develops a model-free sequential test for conditional independence. The proposed test allows researchers to analyze an incoming i.i.d. data stream with any arbitrary dependency structure, and safely conclude whether a feature is conditionally associated with the response under study. We allow the processing of data points online, as soon as they arrive, and stop data acquisition once significant results are detected, rigorously controlling the type-I error rate. Our test can work with any sophisticated machine learning algorithm to enhance data efficiency to the extent possible. The developed method is inspired by two statistical frameworks. The first is the model-X conditional randomization test, a test for conditional independence that is valid in offline settings where the sample size is fixed in advance. The second is testing by betting, a ``game-theoretic'' approach for sequential hypothesis testing. We conduct synthetic experiments to demonstrate the advantage of our test over out-of-the-box sequential tests that account for the multiplicity of tests in the time horizon, and demonstrate the practicality of our proposal by applying it to real-world tasks.","url_abs":"https://arxiv.org/abs/2210.00354v2","url_pdf":"https://arxiv.org/pdf/2210.00354v2.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":"model-free-sequential-testing-for-conditional","repo_url":"https://github.com/shaersh/ecrt","is_official":1,"mentioned_in_paper":1,"mentioned_in_github":1,"framework":"none","reach":{"status":"ok","spdx":"MIT"}}],"tasks":[{"task_slug":null,"task_name":"valid"}],"methods":[{"method_slug":"test","method_name":"Test"}],"datasets_introduced":[],"methods_introduced":[],"results":[],"syntology":{"atlas_url":"https://app.syntology.ai/?focus=2210.00354","mcp":{"get_harvested_code_for_paper":{"arxiv_id":"2210.00354"}},"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/shaersh/ecrt","reach":{"status":"ok","spdx":"MIT"}}],"summary":{"unverified":6},"by_repo_kind":{"official":{"samples":6,"ran":0,"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":"01c0f022b524868d","entry":"create_conditional_gauss","repo":"shaersh/ecrt","repo_kind":"official","path":"src/sampling_functions.py","file_url":"https://github.com/shaersh/ecrt/blob/HEAD/src/sampling_functions.py","link_basis":"harvester_set","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":"01c0f022b524868d"}},{"code_sha256_prefix":"46c01abb704f319e","entry":"default","repo":"shaersh/ecrt","repo_kind":"official","path":"src/utils.py","file_url":"https://github.com/shaersh/ecrt/blob/HEAD/src/utils.py","link_basis":"harvester_set","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":"46c01abb704f319e"}},{"code_sha256_prefix":"9138c2a93cce4369","entry":"get_data_statistics","repo":"shaersh/ecrt","repo_kind":"official","path":"src/sampling_functions.py","file_url":"https://github.com/shaersh/ecrt/blob/HEAD/src/sampling_functions.py","link_basis":"harvester_set","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":"9138c2a93cce4369"}},{"code_sha256_prefix":"52270afbe142edd5","entry":"get_martingale_values","repo":"shaersh/ecrt","repo_kind":"official","path":"src/utils.py","file_url":"https://github.com/shaersh/ecrt/blob/HEAD/src/utils.py","link_basis":"harvester_set","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":"52270afbe142edd5"}},{"code_sha256_prefix":"1ec4a25cc955be7b","entry":"lasso_cv_online_learning","repo":"shaersh/ecrt","repo_kind":"official","path":"src/utils.py","file_url":"https://github.com/shaersh/ecrt/blob/HEAD/src/utils.py","link_basis":"harvester_set","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":"1ec4a25cc955be7b"}},{"code_sha256_prefix":"b6cd3f8e136fea60","entry":"sample_from_gaussian","repo":"shaersh/ecrt","repo_kind":"official","path":"src/sampling_functions.py","file_url":"https://github.com/shaersh/ecrt/blob/HEAD/src/sampling_functions.py","link_basis":"harvester_set","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":"b6cd3f8e136fea60"}}]},"arxiv_metadata":null,"syntology_extracted_results":null}