From c86e08b2fe1ff1efdb0b69c7a2b5c4ed32ccf52d Mon Sep 17 00:00:00 2001 From: Josef Perktold Date: Sun, 16 Feb 2014 10:06:02 -0500 Subject: [PATCH] REF: try using less memory in multipletests 'holms' see #1394 --- statsmodels/stats/multitest.py | 7 ++++++- 1 file changed, 6 insertions(+), 1 deletion(-) diff --git a/statsmodels/stats/multitest.py b/statsmodels/stats/multitest.py index 1317b92dfc3..855a64a8c66 100644 --- a/statsmodels/stats/multitest.py +++ b/statsmodels/stats/multitest.py @@ -123,10 +123,13 @@ def multipletests(pvals, alpha=0.05, method='hs', returnsorted=False): ---------- ''' + import gc + gc.collect() pvals = np.asarray(pvals) alphaf = alpha # Notation ? sortind = np.argsort(pvals) - pvals = pvals[sortind] + #pvals = pvals[sortind] + pvals = np.take(pvals, sortind) sortrevind = sortind.argsort() ntests = len(pvals) alphacSidak = 1 - np.power((1. - alphaf), 1./ntests) @@ -168,6 +171,8 @@ def multipletests(pvals, alpha=0.05, method='hs', returnsorted=False): reject = ~notreject pvals_corrected_raw = pvals * np.arange(ntests, 0, -1) pvals_corrected = np.maximum.accumulate(pvals_corrected_raw) + del pvals_corrected_raw + gc.collect() elif method.lower() in ['sh', 'simes-hochberg']: alphash = alphaf / np.arange(ntests, 0, -1)