{"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/composite-goodness-of-fit-tests-with-kernels","title":"Composite Goodness-of-fit Tests with Kernels","arxiv_id":"2111.10275","date":"2021-11-19","proceeding":null,"authors":["Oscar Key","Arthur Gretton","François-Xavier Briol","Tamara Fernandez"],"abstract":"Model misspecification can create significant challenges for the implementation of probabilistic models, and this has led to development of a range of robust methods which directly account for this issue. However, whether these more involved methods are required will depend on whether the model is really misspecified, and there is a lack of generally applicable methods to answer this question. In this paper, we propose one such method. More precisely, we propose kernel-based hypothesis tests for the challenging composite testing problem, where we are interested in whether the data comes from any distribution in some parametric family. Our tests make use of minimum distance estimators based on the maximum mean discrepancy and the kernel Stein discrepancy. They are widely applicable, including whenever the density of the parametric model is known up to normalisation constant, or if the model takes the form of a simulator. As our main result, we show that we are able to estimate the parameter and conduct our test on the same data (without data splitting), while maintaining a correct test level. Our approach is illustrated on a range of problems, including testing for goodness-of-fit of an unnormalised non-parametric density model, and an intractable generative model of a biological cellular network.","url_abs":"https://arxiv.org/abs/2111.10275v5","url_pdf":"https://arxiv.org/pdf/2111.10275v5.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":"composite-goodness-of-fit-tests-with-kernels","repo_url":"https://github.com/oscarkey/composite-tests","is_official":1,"mentioned_in_paper":1,"mentioned_in_github":1,"framework":"jax","reach":{"status":"ok","spdx":"MIT"}}],"tasks":[],"methods":[],"datasets_introduced":[],"methods_introduced":[],"results":[],"syntology":{"atlas_url":"https://app.syntology.ai/?focus=2111.10275","mcp":{"get_harvested_code_for_paper":{"arxiv_id":"2111.10275"}},"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/oscarkey/composite-tests","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":"673e2f197fdba413","entry":"compute_js_and_sqrt_factorials","repo":"oscarkey/composite-tests","repo_kind":"official","path":"src/composite_tests/distributions/kef.py","file_url":"https://github.com/oscarkey/composite-tests/blob/HEAD/src/composite_tests/distributions/kef.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":"673e2f197fdba413"}},{"code_sha256_prefix":"4c2b05c3929a08ab","entry":"gram","repo":"oscarkey/composite-tests","repo_kind":"official","path":"src/composite_tests/kernels.py","file_url":"https://github.com/oscarkey/composite-tests/blob/HEAD/src/composite_tests/kernels.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":"4c2b05c3929a08ab"}},{"code_sha256_prefix":"af940c702487b5b5","entry":"median_heuristic","repo":"oscarkey/composite-tests","repo_kind":"official","path":"src/composite_tests/kernels.py","file_url":"https://github.com/oscarkey/composite-tests/blob/HEAD/src/composite_tests/kernels.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":"af940c702487b5b5"}},{"code_sha256_prefix":"b96ed8238f45cae0","entry":"phi","repo":"oscarkey/composite-tests","repo_kind":"official","path":"src/composite_tests/distributions/kef.py","file_url":"https://github.com/oscarkey/composite-tests/blob/HEAD/src/composite_tests/distributions/kef.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":"b96ed8238f45cae0"}},{"code_sha256_prefix":"3965ee391a84606f","entry":"to_scalar","repo":"oscarkey/composite-tests","repo_kind":"official","path":"src/composite_tests/jax_utils.py","file_url":"https://github.com/oscarkey/composite-tests/blob/HEAD/src/composite_tests/jax_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":"3965ee391a84606f"}},{"code_sha256_prefix":"e88d7e08222f1145","entry":"tree_concatenate","repo":"oscarkey/composite-tests","repo_kind":"official","path":"src/composite_tests/jax_utils.py","file_url":"https://github.com/oscarkey/composite-tests/blob/HEAD/src/composite_tests/jax_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":"e88d7e08222f1145"}}]},"arxiv_metadata":null,"syntology_extracted_results":null}