Permutation Tests (and Sampling Without Replacement) Orders of Magnitude Faster Using SAS

From sasCommunity
Jump to: navigation, search

download at:, now published

Permutation Tests (and Sampling Without Replacement)Orders of Magnitude Faster Using SAS®

John Douglas (“J.D.”) Opdyke,* DataMineIt


Six permutation test algorithms coded in SAS® are compared. The fastest (“OPDN”), which uses no modules beyond Base SAS®, achieves speed increases orders of magnitude faster than the relevant “built-in” SAS® procedures (over 215x faster than Proc SurveySelect, over 350x faster than NPAR1WAY (which crashes on datasets less than a tenth the size OPDN can handle), and over 720x faster than Proc Multtest). OPDN combines SAS®’s fast sequential access, its most efficient array manipulation and memory usage, and a simple draw-by-draw procedure to very quickly and efficiently perform simple random sampling without replacement (SRSWOR). The particular draw-by-draw method used allows for the repeated creation of many SRSWOR permutation samples without requiring any additional storage or memory space. Based on these results, there appear to be no faster or more scalable permutation test or SRSWOR algorithms in SAS®.

Keywords: Permutation, SAS, Scalable, Without Replacement, Sampling, SRSWOR JEL Classifications: C12, C14, C15, C63, C88 Mathematics Subject Classification: 62G09, 62G10

© January 2011 by John Douglas Opdyke. All rights reserved. Short sections of text, not to exceed two paragraphs, may be quoted without explicit permission provided that full credit, including © notice, is given to the source.