{"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/controlling-the-false-discovery-rate-via","title":"Controlling the false discovery rate via knockoffs","arxiv_id":"1404.5609","date":"2014-04-22","proceeding":null,"authors":["Rina Foygel Barber","Emmanuel J. Candès"],"abstract":"In many fields of science, we observe a response variable together with a large number of potential explanatory variables, and would like to be able to discover which variables are truly associated with the response. At the same time, we need to know that the false discovery rate (FDR) - the expected fraction of false discoveries among all discoveries - is not too high, in order to assure the scientist that most of the discoveries are indeed true and replicable. This paper introduces the knockoff filter, a new variable selection procedure controlling the FDR in the statistical linear model whenever there are at least as many observations as variables. This method achieves exact FDR control in finite sample settings no matter the design or covariates, the number of variables in the model, or the amplitudes of the unknown regression coefficients, and does not require any knowledge of the noise level. As the name suggests, the method operates by manufacturing knockoff variables that are cheap - their construction does not require any new data - and are designed to mimic the correlation structure found within the existing variables, in a way that allows for accurate FDR control, beyond what is possible with permutation-based methods. The method of knockoffs is very general and flexible, and can work with a broad class of test statistics. We test the method in combination with statistics from the Lasso for sparse regression, and obtain empirical results showing that the resulting method has far more power than existing selection rules when the proportion of null variables is high.","url_abs":"http://arxiv.org/abs/1404.5609v3","url_pdf":"http://arxiv.org/pdf/1404.5609v3.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":"links_only","authors_date_abstract":"arXiv metadata, CC0 1.0 (https://info.arxiv.org/help/license), from the Kaggle arXiv metadata snapshot of 2026-09-12"},"code_links":[{"paper_slug":"controlling-the-false-discovery-rate-via","repo_url":"https://github.com/jrazi/KnockoffOrigins","is_official":0,"mentioned_in_paper":0,"mentioned_in_github":0,"framework":"none","reach":{"status":"ok","spdx":"MIT"}}],"tasks":[],"methods":[],"datasets_introduced":[],"methods_introduced":[],"results":[],"syntology":{"syntology_url":"https://syntology.ai/paper/1404.5609","atlas_url":"https://app.syntology.ai/?focus=1404.5609","mcp":{"get_harvested_code_for_paper":{"arxiv_id":"1404.5609"}},"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":[{"provenance":"external:paperswithcode_snapshot_2025-07-28","url":"https://github.com/jrazi/KnockoffOrigins","reach":{"status":"ok","spdx":"MIT"}}],"summary":{"unverified":6},"by_repo_kind":{"listed":{"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":"cc02d72a5aec55d3","entry":"choose_s_vector","repo":"jrazi/KnockoffOrigins","repo_kind":"listed","path":"knockofforigins/knockoff_construct.py","file_url":"https://github.com/jrazi/KnockoffOrigins/blob/HEAD/knockofforigins/knockoff_construct.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":"cc02d72a5aec55d3"}},{"code_sha256_prefix":"c209b1a06b7c9614","entry":"compute_feature_importance","repo":"jrazi/KnockoffOrigins","repo_kind":"listed","path":"knockofforigins/lasso.py","file_url":"https://github.com/jrazi/KnockoffOrigins/blob/HEAD/knockofforigins/lasso.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":"c209b1a06b7c9614"}},{"code_sha256_prefix":"80a932797b139262","entry":"compute_gram_matrix","repo":"jrazi/KnockoffOrigins","repo_kind":"listed","path":"knockofforigins/gram_matrix.py","file_url":"https://github.com/jrazi/KnockoffOrigins/blob/HEAD/knockofforigins/gram_matrix.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":"80a932797b139262"}},{"code_sha256_prefix":"84885a334b05e969","entry":"fit_lasso","repo":"jrazi/KnockoffOrigins","repo_kind":"listed","path":"knockofforigins/lasso.py","file_url":"https://github.com/jrazi/KnockoffOrigins/blob/HEAD/knockofforigins/lasso.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":"84885a334b05e969"}},{"code_sha256_prefix":"aef36a8aca14b59f","entry":"normalize_features","repo":"jrazi/KnockoffOrigins","repo_kind":"listed","path":"knockofforigins/gram_matrix.py","file_url":"https://github.com/jrazi/KnockoffOrigins/blob/HEAD/knockofforigins/gram_matrix.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":"aef36a8aca14b59f"}},{"code_sha256_prefix":"233147629064f377","entry":"prepare_augmented_design_matrix","repo":"jrazi/KnockoffOrigins","repo_kind":"listed","path":"knockofforigins/lasso.py","file_url":"https://github.com/jrazi/KnockoffOrigins/blob/HEAD/knockofforigins/lasso.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":"233147629064f377"}}]},"arxiv_metadata":null,"syntology_extracted_results":null}