The conditional permutation test for independence while controlling for confounders
Thomas B. Berrett, Yi Wang, Rina Foygel Barber, Richard J. Samworth

TL;DR
This paper introduces the conditional permutation test, a new method for assessing the independence of variables while controlling for confounders, especially in high-dimensional settings, using non-uniform permutations based on conditional distributions.
Contribution
The paper presents a novel conditional permutation test that accounts for confounders by permuting data non-uniformly, along with an efficient MCMC implementation and theoretical bounds on Type I error inflation.
Findings
The test effectively controls Type I error under approximation errors.
Experimental validation shows accurate independence testing on simulated and real data.
The method outperforms traditional tests in high-dimensional confounding scenarios.
Abstract
We propose a general new method, the conditional permutation test, for testing the conditional independence of variables and given a potentially high-dimensional random vector that may contain confounding factors. The proposed test permutes entries of non-uniformly, so as to respect the existing dependence between and and thus account for the presence of these confounders. Like the conditional randomization test of Cand\`es et al. (2018), our test relies on the availability of an approximation to the distribution of . While Cand\`es et al. (2018)'s test uses this estimate to draw new values, for our test we use this approximation to design an appropriate non-uniform distribution on permutations of the values already seen in the true data. We provide an efficient Markov Chain Monte Carlo sampler for the implementation of our method, and establish…
Peer Reviews
No public reviews on file for this paper yet. If you reviewed it on a platform where reviews are public (OpenReview, ICLR, NeurIPS, ICML), you can paste yours below so the community can read it here.
Videos
No videos yet. Explain this paper in a talk, walkthrough, or lecture? Add one.
