Parallelized calculation of permutation tests

Published: Oct. 2, 2020, 2:03 a.m.

Link to bioRxiv paper: http://biorxiv.org/cgi/content/short/2020.10.01.321828v1?rss=1 Authors: Ekvall, M., Höhle, M., Käll, L. Abstract: Motivation: Permutation tests offer a straight forward framework to assess the significance of differences in sample statistics. A significant advantage of permutation tests are the relatively few assumptions about the distribution of the test statistic are needed, as they rely on the assumption of exchangeability of the group labels. They have great value, as they allow a sensitivity analysis to determine the extent to which the assumed broad sample distribution of the test statistic applies. However, in this situation, permutation tests are rarely applied because the running time of naive implementations is too slow and grows exponentially with the sample size. Nevertheless, continued development in the 1980s introduced dynamic programming algorithms that compute exact permutation tests in polynomial time. Albeit this significant running time reduction, the exact test has not yet become one of the predominant statistical tests for medium sample size. Here, we propose a computational parallelization of one such dynamic programming-based permutation test, the Green algorithm, which makes the permutation test more attractive. Results: Parallelization of the Green algorithm was found possible by nontrivial rearrangement of the structure of the algorithm. A speed-up - by orders of magnitude - is achievable by executing the parallelized algorithm on a GPU. We demonstrate that the execution time essentially becomes a non-issue for sample sizes, even as high as hundreds of samples. This improvement makes our method an attractive alternative to, e.g., the widely used asymptotic Mann-Whitney U-test. Availability: In Python 3 code from the GitHub repository https://github.com/statisticalbiotechnology/parallelPermutationTest under an Apache 2.0 license. Copy rights belong to original authors. Visit the link for more info