From 35a877f25e76354f5b02a43a3e679b5b9be195ca Mon Sep 17 00:00:00 2001 From: kusch lionel Date: Wed, 18 Dec 2024 17:26:24 +0100 Subject: [PATCH 01/13] Add documentation to ADA SVR --- doc_conf/references.bib | 17 ++++++++++++ hidimstat/adaptive_permutation_threshold.py | 29 ++++++++++++--------- 2 files changed, 33 insertions(+), 13 deletions(-) diff --git a/doc_conf/references.bib b/doc_conf/references.bib index 8fa0983..372bbdb 100644 --- a/doc_conf/references.bib +++ b/doc_conf/references.bib @@ -177,4 +177,21 @@ @article{liuFastPowerfulConditional2021 archiveprefix = {arxiv}, keywords = {Statistics - Methodology}, file = {/home/ahmad/Zotero/storage/8HRQZX3H/Liu et al. - 2021 - Fast and Powerful Conditional Randomization Testin.pdf;/home/ahmad/Zotero/storage/YFNDKN2B/2006.html} +} + +@article{gaonkar_deriving_2012, + title = {Deriving statistical significance maps for {SVM} based image classification and group comparisons}, + volume = {15}, + url = {https://www.ncbi.nlm.nih.gov/pmc/articles/PMC3703958/}, + abstract = {Population based pattern analysis and classification for quantifying structural and functional differences between diverse groups has been shown to be a powerful tool for the study of a number of diseases, and is quite commonly used especially in neuroimaging. The alternative to these pattern analysis methods, namely mass univariate methods such as voxel based analysis and all related methods, cannot detect multivariate patterns associated with group differences, and are not particularly suitable for developing individual-based diagnostic and prognostic biomarkers. A commonly used pattern analysis tool is the support vector machine ({SVM}). Unlike univariate statistical frameworks for morphometry, analytical tools for statistical inference are unavailable for the {SVM}. In this paper, we show that null distributions ordinarily obtained by permutation tests using {SVMs} can be analytically approximated from the data. The analytical computation takes a small fraction of the time it takes to do an actual permutation test, thereby rendering it possible to quickly create statistical significance maps derived from {SVMs}. Such maps are critical for understanding imaging patterns of group differences and interpreting which anatomical regions are important in determining the classifier's decision.}, + pages = {723--730}, + number = {0}, + journaltitle = {Medical image computing and computer-assisted intervention : {MICCAI} ... International Conference on Medical Image Computing and Computer-Assisted Intervention}, + journal = {Med Image Comput Comput Assist Interv}, + author = {Gaonkar, Bilwaj and Davatzikos, Christos}, + urldate = {2024-12-16}, + year = {2012}, + pmid = {23285616}, + pmcid = {PMC3703958}, + file = {PubMed Central Full Text PDF:/home/likusch/Zotero/storage/DX8QQAF5/Gaonkar and Davatzikos - 2012 - Deriving statistical significance maps for SVM based image classification and group comparisons.pdf:application/pdf}, } \ No newline at end of file diff --git a/hidimstat/adaptive_permutation_threshold.py b/hidimstat/adaptive_permutation_threshold.py index 54c3cb1..df932ec 100644 --- a/hidimstat/adaptive_permutation_threshold.py +++ b/hidimstat/adaptive_permutation_threshold.py @@ -2,7 +2,10 @@ def ada_svr(X, y, rcond=1e-3): - """Statistical inference procedure presented in Gaonkar et al. [1]_. + """ + ADA-SVR: Adaptive Permutation Threshold Support Vector Regression + + Statistical inference procedure presented in :footcite:t:`gaonkar_deriving_2012`. Parameters ----------- @@ -15,6 +18,7 @@ def ada_svr(X, y, rcond=1e-3): rcond : float, optional (default=1e-3) Cutoff for small singular values. Singular values smaller than `rcond` * largest_singular_value are set to zero. + Deafult value is 1e-3. Returns ------- @@ -26,23 +30,22 @@ def ada_svr(X, y, rcond=1e-3): References ---------- - .. [1] Gaonkar, B., & Davatzikos, C. (2012, October). Deriving statistical - significance maps for SVM based image classification and group - comparisons. In International Conference on Medical Image Computing - and Computer-Assisted Intervention (pp. 723-730). Springer, Berlin, - Heidelberg. - """ + .. footbibliography:: + """ X = np.asarray(X) - K = np.linalg.pinv(np.dot(X, X.T), rcond=rcond) - sum_K = np.sum(K) - - L = -np.outer(np.sum(K, axis=0), np.sum(K, axis=1)) / sum_K - C = np.dot(X.T, K + L) + ## compute matrix C, (see eq.6 of [1]) + # invert matrix X*X' + XXT_inv = np.linalg.pinv(np.dot(X, X.T), rcond=rcond) + # partial computation of the 2nd term of the equation + sum_XXT_inv = np.sum(XXT_inv) + L = -np.outer(np.sum(XXT_inv, axis=0), np.sum(XXT_inv, axis=1)) / sum_XXT_inv + C = np.dot(X.T, XXT_inv + L) + ## compute vector W, (see eq.4 of [1]) beta_hat = np.dot(C, y) - + ## compute standard deviation of the distribution of W, (see eq.12 of [1]) scale = np.sqrt(np.sum(C**2, axis=1)) return beta_hat, scale From 45d9992038eefcad6701be9d5c5ea2386d0112df Mon Sep 17 00:00:00 2001 From: kusch lionel Date: Wed, 18 Dec 2024 17:29:00 +0100 Subject: [PATCH 02/13] Change name of the file --- hidimstat/__init__.py | 2 +- hidimstat/{adaptive_permutation_threshold.py => ada_svr.py} | 0 hidimstat/test/test_adaptive_permutation_threshold.py | 2 +- 3 files changed, 2 insertions(+), 2 deletions(-) rename hidimstat/{adaptive_permutation_threshold.py => ada_svr.py} (100%) diff --git a/hidimstat/__init__.py b/hidimstat/__init__.py index cdc2188..24e0321 100644 --- a/hidimstat/__init__.py +++ b/hidimstat/__init__.py @@ -1,4 +1,4 @@ -from .adaptive_permutation_threshold import ada_svr +from .ada_svr import ada_svr from .clustered_inference import clustered_inference, hd_inference from .desparsified_lasso import desparsified_group_lasso, desparsified_lasso from .Dnn_learner_single import DnnLearnerSingle diff --git a/hidimstat/adaptive_permutation_threshold.py b/hidimstat/ada_svr.py similarity index 100% rename from hidimstat/adaptive_permutation_threshold.py rename to hidimstat/ada_svr.py diff --git a/hidimstat/test/test_adaptive_permutation_threshold.py b/hidimstat/test/test_adaptive_permutation_threshold.py index 6fca754..cbad161 100644 --- a/hidimstat/test/test_adaptive_permutation_threshold.py +++ b/hidimstat/test/test_adaptive_permutation_threshold.py @@ -5,7 +5,7 @@ import numpy as np from numpy.testing import assert_almost_equal -from hidimstat.adaptive_permutation_threshold import ada_svr +from hidimstat.ada_svr import ada_svr from hidimstat.scenario import multivariate_1D_simulation from hidimstat.stat_tools import pval_from_scale From e28b8b8546c8dcebacc59e605e2af3ca770464e2 Mon Sep 17 00:00:00 2001 From: kusch lionel Date: Thu, 19 Dec 2024 13:41:14 +0100 Subject: [PATCH 03/13] fix bug in example --- examples/plot_fmri_data_example.py | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/examples/plot_fmri_data_example.py b/examples/plot_fmri_data_example.py index 25b89b8..dbe14c0 100644 --- a/examples/plot_fmri_data_example.py +++ b/examples/plot_fmri_data_example.py @@ -54,7 +54,7 @@ from sklearn.linear_model import Ridge from sklearn.utils import Bunch -from hidimstat.adaptive_permutation_threshold import ada_svr +from hidimstat.ada_svr import ada_svr from hidimstat.clustered_inference import clustered_inference from hidimstat.ensemble_clustered_inference import ensemble_clustered_inference from hidimstat.permutation_test import permutation_test, permutation_test_cv From 072a0c17ed02f31848a788de35481d46d32411c3 Mon Sep 17 00:00:00 2001 From: kusch lionel Date: Thu, 26 Dec 2024 14:12:11 +0100 Subject: [PATCH 04/13] Add function for compute pvalues --- hidimstat/ada_svr.py | 15 ++++++++++++++- 1 file changed, 14 insertions(+), 1 deletion(-) diff --git a/hidimstat/ada_svr.py b/hidimstat/ada_svr.py index df932ec..bc40924 100644 --- a/hidimstat/ada_svr.py +++ b/hidimstat/ada_svr.py @@ -1,4 +1,5 @@ import numpy as np +from hidimstat.stat_tools import pval_from_scale def ada_svr(X, y, rcond=1e-3): @@ -8,7 +9,7 @@ def ada_svr(X, y, rcond=1e-3): Statistical inference procedure presented in :footcite:t:`gaonkar_deriving_2012`. Parameters - ----------- + ---------- X : ndarray, shape (n_samples, n_features) Data. @@ -49,3 +50,15 @@ def ada_svr(X, y, rcond=1e-3): scale = np.sqrt(np.sum(C**2, axis=1)) return beta_hat, scale + + + +def ada_svr_pvalue(beta_hat, scale, distrib="norm", eps=1e-14): + """ + Computing one-sided p-values corrrected for multiple testing + from simple testing one-sided p-values. + + For details see: :py:func:`hidimstat.pval_from_scale` + + """ + return pval_from_scale(beta_hat, scale, distrib=distrib, eps=eps) From eea433f5001fd59f043c55635a4ec41a55378923 Mon Sep 17 00:00:00 2001 From: lionel kusch Date: Thu, 26 Dec 2024 15:23:50 +0100 Subject: [PATCH 05/13] Avoid a modification fo X Avoid to modify X in the function by the line 37. Create new variable to compensate it. --- hidimstat/ada_svr.py | 6 +++--- 1 file changed, 3 insertions(+), 3 deletions(-) diff --git a/hidimstat/ada_svr.py b/hidimstat/ada_svr.py index bc40924..018e5a4 100644 --- a/hidimstat/ada_svr.py +++ b/hidimstat/ada_svr.py @@ -34,15 +34,15 @@ def ada_svr(X, y, rcond=1e-3): .. footbibliography:: """ - X = np.asarray(X) + X_input = np.asarray(X) ## compute matrix C, (see eq.6 of [1]) # invert matrix X*X' - XXT_inv = np.linalg.pinv(np.dot(X, X.T), rcond=rcond) + XXT_inv = np.linalg.pinv(np.dot(X_input, X_input.T), rcond=rcond) # partial computation of the 2nd term of the equation sum_XXT_inv = np.sum(XXT_inv) L = -np.outer(np.sum(XXT_inv, axis=0), np.sum(XXT_inv, axis=1)) / sum_XXT_inv - C = np.dot(X.T, XXT_inv + L) + C = np.dot(X_input.T, XXT_inv + L) ## compute vector W, (see eq.4 of [1]) beta_hat = np.dot(C, y) From 6930196b4428d1d75b9a409c77670b226a198916 Mon Sep 17 00:00:00 2001 From: kusch lionel Date: Thu, 26 Dec 2024 18:04:58 +0100 Subject: [PATCH 06/13] Add all for to preserve "private" function __all__ allow to avoid to import all function when there is an import with *. --- hidimstat/ada_svr.py | 1 + 1 file changed, 1 insertion(+) diff --git a/hidimstat/ada_svr.py b/hidimstat/ada_svr.py index bc40924..2199bfd 100644 --- a/hidimstat/ada_svr.py +++ b/hidimstat/ada_svr.py @@ -1,6 +1,7 @@ import numpy as np from hidimstat.stat_tools import pval_from_scale +__all__ = ["ada_svr", "ada_svr_pvalue"] def ada_svr(X, y, rcond=1e-3): """ From 2dcc7aba68944f7900e32916040ed5ede82bfe70 Mon Sep 17 00:00:00 2001 From: lionel kusch Date: Mon, 30 Dec 2024 17:59:42 +0100 Subject: [PATCH 07/13] Update doc_conf/references.bib update bilbilography Co-authored-by: Joseph Paillard --- doc_conf/references.bib | 2 -- 1 file changed, 2 deletions(-) diff --git a/doc_conf/references.bib b/doc_conf/references.bib index 372bbdb..4b8a42a 100644 --- a/doc_conf/references.bib +++ b/doc_conf/references.bib @@ -183,7 +183,6 @@ @article{gaonkar_deriving_2012 title = {Deriving statistical significance maps for {SVM} based image classification and group comparisons}, volume = {15}, url = {https://www.ncbi.nlm.nih.gov/pmc/articles/PMC3703958/}, - abstract = {Population based pattern analysis and classification for quantifying structural and functional differences between diverse groups has been shown to be a powerful tool for the study of a number of diseases, and is quite commonly used especially in neuroimaging. The alternative to these pattern analysis methods, namely mass univariate methods such as voxel based analysis and all related methods, cannot detect multivariate patterns associated with group differences, and are not particularly suitable for developing individual-based diagnostic and prognostic biomarkers. A commonly used pattern analysis tool is the support vector machine ({SVM}). Unlike univariate statistical frameworks for morphometry, analytical tools for statistical inference are unavailable for the {SVM}. In this paper, we show that null distributions ordinarily obtained by permutation tests using {SVMs} can be analytically approximated from the data. The analytical computation takes a small fraction of the time it takes to do an actual permutation test, thereby rendering it possible to quickly create statistical significance maps derived from {SVMs}. Such maps are critical for understanding imaging patterns of group differences and interpreting which anatomical regions are important in determining the classifier's decision.}, pages = {723--730}, number = {0}, journaltitle = {Medical image computing and computer-assisted intervention : {MICCAI} ... International Conference on Medical Image Computing and Computer-Assisted Intervention}, @@ -193,5 +192,4 @@ @article{gaonkar_deriving_2012 year = {2012}, pmid = {23285616}, pmcid = {PMC3703958}, - file = {PubMed Central Full Text PDF:/home/likusch/Zotero/storage/DX8QQAF5/Gaonkar and Davatzikos - 2012 - Deriving statistical significance maps for SVM based image classification and group comparisons.pdf:application/pdf}, } \ No newline at end of file From bf75ba38df0285445878819c92f6b462cac0d884 Mon Sep 17 00:00:00 2001 From: kusch lionel Date: Tue, 31 Dec 2024 12:06:36 +0100 Subject: [PATCH 08/13] Format document --- src/hidimstat/ada_svr.py | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/src/hidimstat/ada_svr.py b/src/hidimstat/ada_svr.py index f5a7e4a..a83f65f 100644 --- a/src/hidimstat/ada_svr.py +++ b/src/hidimstat/ada_svr.py @@ -3,6 +3,7 @@ __all__ = ["ada_svr", "ada_svr_pvalue"] + def ada_svr(X, y, rcond=1e-3): """ ADA-SVR: Adaptive Permutation Threshold Support Vector Regression @@ -53,7 +54,6 @@ def ada_svr(X, y, rcond=1e-3): return beta_hat, scale - def ada_svr_pvalue(beta_hat, scale, distrib="norm", eps=1e-14): """ Computing one-sided p-values corrrected for multiple testing From 107a36f9b5dcc414363850ab3cb78f953d5de85a Mon Sep 17 00:00:00 2001 From: kusch lionel Date: Thu, 2 Jan 2025 19:26:16 +0100 Subject: [PATCH 09/13] Modify name of modify input --- src/hidimstat/ada_svr.py | 6 +++--- 1 file changed, 3 insertions(+), 3 deletions(-) diff --git a/src/hidimstat/ada_svr.py b/src/hidimstat/ada_svr.py index a83f65f..8249daf 100644 --- a/src/hidimstat/ada_svr.py +++ b/src/hidimstat/ada_svr.py @@ -36,15 +36,15 @@ def ada_svr(X, y, rcond=1e-3): .. footbibliography:: """ - X_input = np.asarray(X) + X_ = np.asarray(X) ## compute matrix C, (see eq.6 of [1]) # invert matrix X*X' - XXT_inv = np.linalg.pinv(np.dot(X_input, X_input.T), rcond=rcond) + XXT_inv = np.linalg.pinv(np.dot(X_, X_.T), rcond=rcond) # partial computation of the 2nd term of the equation sum_XXT_inv = np.sum(XXT_inv) L = -np.outer(np.sum(XXT_inv, axis=0), np.sum(XXT_inv, axis=1)) / sum_XXT_inv - C = np.dot(X_input.T, XXT_inv + L) + C = np.dot(X_.T, XXT_inv + L) ## compute vector W, (see eq.4 of [1]) beta_hat = np.dot(C, y) From c146efe39f774278b33fd662a3727c954cf1448f Mon Sep 17 00:00:00 2001 From: kusch lionel Date: Fri, 17 Jan 2025 11:34:35 +0100 Subject: [PATCH 10/13] Improve coverage --- .../adaptive_permutation_threshold.py | 74 ------------------- test/test_adaptive_permutation_threshold.py | 5 +- 2 files changed, 2 insertions(+), 77 deletions(-) delete mode 100644 src/hidimstat/adaptive_permutation_threshold.py diff --git a/src/hidimstat/adaptive_permutation_threshold.py b/src/hidimstat/adaptive_permutation_threshold.py deleted file mode 100644 index 933fb9e..0000000 --- a/src/hidimstat/adaptive_permutation_threshold.py +++ /dev/null @@ -1,74 +0,0 @@ -import numpy as np - - -def ada_svr(X, y, rcond=1e-3): - """ - Adaptative Permutation Threshold for SVR - - Statistical inference procedure presented in Gaonkar et al. [1]_. - - Parameters - ---------- - X : ndarray, shape (n_samples, n_features) - Data. - - y : ndarray, shape (n_samples,) - Target. - - rcond : float, optional (default=1e-3) - Cutoff for small singular values. Singular values smaller - than `rcond` * largest_singular_value are set to zero. - - Returns - ------- - beta_hat : array, shape (n_features,) - Estimated parameter vector. - - scale : ndarray, shape (n_features,) - Value of the standard deviation of the parameters. - - References - ---------- - .. [1] Gaonkar, B., & Davatzikos, C. (2012, October). Deriving statistical - significance maps for SVM based image classification and group - comparisons. In International Conference on Medical Image Computing - and Computer-Assisted Intervention (pp. 723-730). Springer, Berlin, - Heidelberg. - """ - - X = np.asarray(X) - n_samples, n_features = X.shape - - K = _manual_inversion(np.dot(X, X.T), rcond=rcond) - sum_K = np.sum(K) - - L = -np.outer(np.sum(K, axis=0), np.sum(K, axis=1)) / sum_K - C = np.dot(X.T, K + L) - - beta_hat = np.dot(C, y) - - scale = np.sqrt(np.sum(C**2, axis=1)) - - return beta_hat, scale - - -def _manual_inversion(X, rcond=1e-3, full_rank=False): - "Inverting taking care of low eigenvalues to increase numerical stability" - - X = np.asarray(X) - n_samples, n_features = X.shape - - if n_samples != n_features: - raise ValueError("The matrix is not a square matrix") - - U, s, V = np.linalg.svd(X, full_matrices=False) - rank = np.sum(s > rcond * s.max()) - s_inv = np.zeros(np.size(s)) - s_inv[:rank] = 1 / s[:rank] - - if full_rank: - s_inv[rank:] = 1 / (rcond * s.max()) - - X_inv = np.linalg.multi_dot([U, np.diag(s_inv), V]) - - return X_inv diff --git a/test/test_adaptive_permutation_threshold.py b/test/test_adaptive_permutation_threshold.py index cbad161..ec9934c 100644 --- a/test/test_adaptive_permutation_threshold.py +++ b/test/test_adaptive_permutation_threshold.py @@ -5,9 +5,8 @@ import numpy as np from numpy.testing import assert_almost_equal -from hidimstat.ada_svr import ada_svr +from hidimstat.ada_svr import ada_svr, ada_svr_pvalue from hidimstat.scenario import multivariate_1D_simulation -from hidimstat.stat_tools import pval_from_scale def test_ada_svr(): @@ -34,7 +33,7 @@ def test_ada_svr(): beta_hat, scale_hat = ada_svr(X_init, y) # Compute p-values - pval, pval_corr, _, _ = pval_from_scale(beta_hat, scale_hat) + pval, pval_corr, _, _ = ada_svr_pvalue(beta_hat, scale_hat) # Check that the p-values are close to 0.5 for the features not in the support # and close to 0 for the feature in the support From 0e9460977ffa3363e983d05396cae767eeaedaa6 Mon Sep 17 00:00:00 2001 From: GitHub actions Date: Thu, 23 Jan 2025 17:04:40 +0000 Subject: [PATCH 11/13] Update documentation --- .../plot_variable_importance_classif.zip | Bin 22104 -> 22104 bytes .../auto_examples_python.zip | Bin 53768 -> 53768 bytes .../plot_dcrt_example.zip | Bin 6608 -> 6608 bytes .../plot_knockoff_aggregation.zip | Bin 10079 -> 10079 bytes .../plot_fmri_data_example.zip | Bin 29921 -> 29921 bytes .../auto_examples_jupyter.zip | Bin 66600 -> 66600 bytes ...t_diabetes_variable_importance_example.zip | Bin 21186 -> 21186 bytes .../plot_2D_simulation_example.zip | Bin 30558 -> 30558 bytes .../plot_2D_simulation_example.rst.txt | 4 +-- .../auto_examples/plot_dcrt_example.rst.txt | 2 +- ...abetes_variable_importance_example.rst.txt | 2 +- .../plot_fmri_data_example.rst.txt | 17 +++++---- .../plot_knockoff_aggregation.rst.txt | 4 +-- .../plot_variable_importance_classif.rst.txt | 8 ++--- .../auto_examples/sg_execution_times.rst.txt | 26 +++++++------- docs/_sources/sg_execution_times.rst.txt | 26 +++++++------- docs/_static/documentation_options.js | 2 +- docs/api.html | 4 +-- docs/auto_examples/index.html | 4 +-- .../plot_2D_simulation_example.html | 8 ++--- docs/auto_examples/plot_dcrt_example.html | 6 ++-- ..._diabetes_variable_importance_example.html | 6 ++-- .../auto_examples/plot_fmri_data_example.html | 26 +++++++++----- .../plot_knockoff_aggregation.html | 8 ++--- .../plot_variable_importance_classif.html | 12 +++---- docs/auto_examples/sg_execution_times.html | 34 +++++++++--------- docs/generated/hidimstat.CPI.html | 4 +-- docs/generated/hidimstat.LOCO.html | 4 +-- .../hidimstat.PermutationImportance.html | 4 +-- docs/generated/hidimstat.ada_svr.html | 4 +-- .../hidimstat.aggregate_quantiles.html | 4 +-- .../hidimstat.clustered_inference.html | 4 +-- docs/generated/hidimstat.data_simulation.html | 4 +-- .../hidimstat.desparsified_lasso.html | 4 +-- ...idimstat.ensemble_clustered_inference.html | 4 +-- docs/generated/hidimstat.group_reid.html | 4 +-- docs/generated/hidimstat.hd_inference.html | 4 +-- .../hidimstat.knockoff_aggregation.html | 4 +-- .../generated/hidimstat.model_x_knockoff.html | 4 +-- .../hidimstat.multivariate_1D_simulation.html | 4 +-- .../hidimstat.permutation_test_cv.html | 4 +-- docs/generated/hidimstat.reid.html | 4 +-- .../generated/hidimstat.standardized_svr.html | 4 +-- .../generated/hidimstat.zscore_from_pval.html | 4 +-- docs/genindex.html | 4 +-- docs/index.html | 4 +-- docs/py-modindex.html | 4 +-- docs/search.html | 4 +-- docs/searchindex.js | 2 +- docs/sg_execution_times.html | 34 +++++++++--------- 50 files changed, 169 insertions(+), 154 deletions(-) diff --git a/docs/_downloads/06bb0f682e15138dfd659b791a14e9c6/plot_variable_importance_classif.zip b/docs/_downloads/06bb0f682e15138dfd659b791a14e9c6/plot_variable_importance_classif.zip index b77dbbb39a1bcb6cc567f47b5d9e6cfa21304d0d..6e2153f11478174e1b32b124f9764fbfbd7e867e 100644 GIT binary patch delta 48 ycmcbyhVjN4M&1B#W)=|!5Gd|2-^lwxjk&YKe3SZ0J!T+(@|sXT5P$OD&}aZ~ArNr@ delta 48 ycmcbyhVjN4M&1B#W)=|!5J+${-N^evjk(Otbd&l@J!T+(@|sXT5P$OD&}aZxWe*hq diff --git a/docs/_downloads/07fcc19ba03226cd3d83d4e40ec44385/auto_examples_python.zip b/docs/_downloads/07fcc19ba03226cd3d83d4e40ec44385/auto_examples_python.zip index ed0bc2803455f47ff3545a3a67ed9246d3aac57f..04faa44b294b4efe676c759fdb6831ce61ddfa3a 100644 GIT binary patch delta 269 zcmeBJ!rZZhnK!_jnMH&F1g^H3Z{&^SVs`H^-+U`n)|mNQoB8Ht`&tFLVJeD&GSBrs zs4*)88JS$wD$MFY#;=Zrro4|?@ZssYgR$)#6G9>*!s4*J@8JS$N#?1Uc zM%S!`rra<+fv%>TJ8fG9c^R2RnBm4uwzyyqGG=njMQNrOuF2A6dXuv+@PG`Q%ncN} zr8imQq9MrG$yFDmna+kzo_;}H0cd#C?iEun6`C?IfUqpsRS;rH14$ delta 47 xcmca$e8HGEz?+#xgaHKfT}?OgMshI+x|(jz28`Bxw&4nA{@i0{{wn3y%N* diff --git a/docs/_downloads/1a99dc8cb1c22f91072d67cf26fce26c/plot_knockoff_aggregation.zip b/docs/_downloads/1a99dc8cb1c22f91072d67cf26fce26c/plot_knockoff_aggregation.zip index 5d799ade1f18e0b95ae64b49f7edaa668a656d1d..e2e14b4377e1810cd87fe764a8f1870dbe0e1dbc 100644 GIT binary patch delta 47 xcmccbci)dUz?+#xgaHJ;wV7|^?GS3>27rP|Y1AFqvCD1OOVD3zPr= diff --git a/docs/_downloads/5ca231767268e6cd969e65225d673650/plot_fmri_data_example.zip b/docs/_downloads/5ca231767268e6cd969e65225d673650/plot_fmri_data_example.zip index ad21dda7ba535c152fe3d4cf33090c0fbac9d2ac..431ca16b2873e2980c962b3e7709f8642643e358 100644 GIT binary patch delta 49 zcmaF(lJVh7M&1B#W)=|!5OD7>-^eR#%v{`IzFF5;(vcY`Fxj)j1tc(eLP;P1Y3&Zm delta 49 zcmaF(lJVh7M&1B#W)=|!5HNN#-N-9z%$(q6x>?s)(vcY`Fxj)j1tc(eLP;P1P*e?U diff --git a/docs/_downloads/6f1e7a639e0699d6164445b55e6c116d/auto_examples_jupyter.zip b/docs/_downloads/6f1e7a639e0699d6164445b55e6c116d/auto_examples_jupyter.zip index 80d5c702208397a21c21c69628b8cc28d1a7a190..0fcff6ce520f710bb77125bb4dbb4853abe8ee40 100644 GIT binary patch delta 258 zcmZ3{!Lp)*g*U*PnMH&F1irPIZ{)qg$6VZDzL_;!+>u!s$WVGKE;>2DhJ(2i$ceUD zuE(qnWIW+3(PefAGUV6%aNuQR5@CiLG2M-c(FtV6bQ@+yX{PIZ(<7M~wG@D6Ma>Up z$$tt|2*UDUDc$aumh?#OHm zWH=uD;V^msWDaI7Am^XIxF|0plL#~1i0N)jj7|zbGooHCuM*YLWnchdeXtD>VoBq5 zzR5Qy8&0obV&qW(S`xK_K`k#$kAVS%)lgLW*-W=*W;6l0V0t$bqcqcxtm!M57_}6D zE{Xa$|JcW)4h#$+tbn3TXwCEw%#142>zEk16oBrGnjg%P{}kv(5SB+#D*ARZZ-C-- IAr?k404^y((*OVf diff --git a/docs/_downloads/707d94040f5ada342e781499193f46f1/plot_diabetes_variable_importance_example.zip b/docs/_downloads/707d94040f5ada342e781499193f46f1/plot_diabetes_variable_importance_example.zip index 095f3ef8b84138b0f70ebd8ba8b414ad275d0094..427c5a82882e3e8170c99977a7c4cb30240100f5 100644 GIT binary patch delta 49 zcmX@Kl=09~M&1B#W)=|!5K!(g-^g37!mQq5zPVeaOqUrbFqtJN93(I~E+_>6MOF=V delta 49 zcmX@Kl=09~M&1B#W)=|!5a4n%-N;+5!p!exy184WOqUrbFqtJN93(I~E+_>6DmM%S diff --git a/docs/_downloads/e08c0f6d4aade0f0eaf8ba56dbbfd9c9/plot_2D_simulation_example.zip b/docs/_downloads/e08c0f6d4aade0f0eaf8ba56dbbfd9c9/plot_2D_simulation_example.zip index 859e5cd3656031a2b04f678f3892f155a9307df2..dc8cfccebd9c2f2542267296467def8a2599f9dd 100644 GIT binary patch delta 49 zcmccjj`7|*M&1B#W)=|!5K!+h-^jbtl-a$*eDh9ICP!wVz~p^p9w33qoaLbadyx+| delta 49 zcmccjj`7|*M&1B#W)=|!5a4$+-N?Jrl-bzLbn{MACP!wVz~p^p9w33qoaLbaVI2+5 diff --git a/docs/_sources/auto_examples/plot_2D_simulation_example.rst.txt b/docs/_sources/auto_examples/plot_2D_simulation_example.rst.txt index d3e0f8b..5664ed1 100644 --- a/docs/_sources/auto_examples/plot_2D_simulation_example.rst.txt +++ b/docs/_sources/auto_examples/plot_2D_simulation_example.rst.txt @@ -554,9 +554,9 @@ randomization. .. rst-class:: sphx-glr-timing - **Total running time of the script:** (1 minutes 7.791 seconds) + **Total running time of the script:** (0 minutes 59.917 seconds) -**Estimated memory usage:** 710 MB +**Estimated memory usage:** 705 MB .. _sphx_glr_download_auto_examples_plot_2D_simulation_example.py: diff --git a/docs/_sources/auto_examples/plot_dcrt_example.rst.txt b/docs/_sources/auto_examples/plot_dcrt_example.rst.txt index 1136a55..9219c5a 100644 --- a/docs/_sources/auto_examples/plot_dcrt_example.rst.txt +++ b/docs/_sources/auto_examples/plot_dcrt_example.rst.txt @@ -162,7 +162,7 @@ Plotting the comparison .. rst-class:: sphx-glr-timing - **Total running time of the script:** (1 minutes 3.192 seconds) + **Total running time of the script:** (1 minutes 0.576 seconds) **Estimated memory usage:** 640 MB diff --git a/docs/_sources/auto_examples/plot_diabetes_variable_importance_example.rst.txt b/docs/_sources/auto_examples/plot_diabetes_variable_importance_example.rst.txt index 48c85a4..0448894 100644 --- a/docs/_sources/auto_examples/plot_diabetes_variable_importance_example.rst.txt +++ b/docs/_sources/auto_examples/plot_diabetes_variable_importance_example.rst.txt @@ -491,7 +491,7 @@ Analyze the results .. rst-class:: sphx-glr-timing - **Total running time of the script:** (0 minutes 8.885 seconds) + **Total running time of the script:** (0 minutes 7.629 seconds) **Estimated memory usage:** 625 MB diff --git a/docs/_sources/auto_examples/plot_fmri_data_example.rst.txt b/docs/_sources/auto_examples/plot_fmri_data_example.rst.txt index f3ac2d5..146a952 100644 --- a/docs/_sources/auto_examples/plot_fmri_data_example.rst.txt +++ b/docs/_sources/auto_examples/plot_fmri_data_example.rst.txt @@ -182,8 +182,13 @@ You may choose a subject in [1, 2, 3, 4, 5, 6]. By default subject=2. [fetch_single_file] ...done. (0 seconds, 0 min) [fetch_single_file] Downloading data from http://data.pymvpa.org/datasets/haxby2001/subj2-2010.01.14.tar.gz ... - [_chunk_report_] Downloaded 161644544 of 291168628 bytes (55.5%%, 0.8s remaining) - [fetch_single_file] ...done. (2 seconds, 0 min) + [_chunk_report_] Downloaded 20922368 of 291168628 bytes (7.2%%, 13.2s remaining) + [_chunk_report_] Downloaded 65445888 of 291168628 bytes (22.5%%, 7.1s remaining) + [_chunk_report_] Downloaded 111140864 of 291168628 bytes (38.2%%, 5.0s remaining) + [_chunk_report_] Downloaded 156614656 of 291168628 bytes (53.8%%, 3.5s remaining) + [_chunk_report_] Downloaded 204750848 of 291168628 bytes (70.3%%, 2.2s remaining) + [_chunk_report_] Downloaded 251027456 of 291168628 bytes (86.2%%, 1.0s remaining) + [fetch_single_file] ...done. (7 seconds, 0 min) [uncompress_file] Extracting data from /home/runner/nilearn_data/haxby2001/9cabe068089e791ef0c5fe930fc20e30/subj2-2010.01.14.tar.gz... [uncompress_file] .. done. @@ -288,7 +293,7 @@ Now, we compute p-values thanks to permutation tests applied to .. code-block:: none [Parallel(n_jobs=1)]: Done 49 tasks | elapsed: 1.5s - [Parallel(n_jobs=1)]: Done 199 tasks | elapsed: 6.6s + [Parallel(n_jobs=1)]: Done 199 tasks | elapsed: 6.0s @@ -369,7 +374,7 @@ However you might benefit from clustering randomization taking .. code-block:: none [Parallel(n_jobs=2)]: Using backend LokyBackend with 2 concurrent workers. - [Parallel(n_jobs=2)]: Done 5 out of 5 | elapsed: 32.3s finished + [Parallel(n_jobs=2)]: Done 5 out of 5 | elapsed: 30.1s finished @@ -614,9 +619,9 @@ spurious discoveries. .. rst-class:: sphx-glr-timing - **Total running time of the script:** (1 minutes 22.801 seconds) + **Total running time of the script:** (1 minutes 22.466 seconds) -**Estimated memory usage:** 3279 MB +**Estimated memory usage:** 3347 MB .. _sphx_glr_download_auto_examples_plot_fmri_data_example.py: diff --git a/docs/_sources/auto_examples/plot_knockoff_aggregation.rst.txt b/docs/_sources/auto_examples/plot_knockoff_aggregation.rst.txt index f1c17d1..4b29517 100644 --- a/docs/_sources/auto_examples/plot_knockoff_aggregation.rst.txt +++ b/docs/_sources/auto_examples/plot_knockoff_aggregation.rst.txt @@ -205,9 +205,9 @@ Imports needed for this script .. rst-class:: sphx-glr-timing - **Total running time of the script:** (5 minutes 45.456 seconds) + **Total running time of the script:** (5 minutes 23.043 seconds) -**Estimated memory usage:** 809 MB +**Estimated memory usage:** 817 MB .. _sphx_glr_download_auto_examples_plot_knockoff_aggregation.py: diff --git a/docs/_sources/auto_examples/plot_variable_importance_classif.rst.txt b/docs/_sources/auto_examples/plot_variable_importance_classif.rst.txt index 35c18fc..4a26f57 100644 --- a/docs/_sources/auto_examples/plot_variable_importance_classif.rst.txt +++ b/docs/_sources/auto_examples/plot_variable_importance_classif.rst.txt @@ -176,7 +176,7 @@ Visualize the data .. code-block:: none - [, , , , , , , , , ] + [, , , , , , , , , ] @@ -422,16 +422,16 @@ the features. .. code-block:: none - + .. rst-class:: sphx-glr-timing - **Total running time of the script:** (0 minutes 43.179 seconds) + **Total running time of the script:** (0 minutes 40.476 seconds) -**Estimated memory usage:** 621 MB +**Estimated memory usage:** 622 MB .. _sphx_glr_download_auto_examples_plot_variable_importance_classif.py: diff --git a/docs/_sources/auto_examples/sg_execution_times.rst.txt b/docs/_sources/auto_examples/sg_execution_times.rst.txt index 5c03805..5d37cce 100644 --- a/docs/_sources/auto_examples/sg_execution_times.rst.txt +++ b/docs/_sources/auto_examples/sg_execution_times.rst.txt @@ -6,7 +6,7 @@ Computation times ================= -**10:11.305** total execution time for 6 files **from auto_examples**: +**09:34.108** total execution time for 6 files **from auto_examples**: .. container:: @@ -33,20 +33,20 @@ Computation times - Time - Mem (MB) * - :ref:`sphx_glr_auto_examples_plot_knockoff_aggregation.py` (``plot_knockoff_aggregation.py``) - - 05:45.456 - - 808.7 + - 05:23.043 + - 817.3 * - :ref:`sphx_glr_auto_examples_plot_fmri_data_example.py` (``plot_fmri_data_example.py``) - - 01:22.801 - - 3279.1 - * - :ref:`sphx_glr_auto_examples_plot_2D_simulation_example.py` (``plot_2D_simulation_example.py``) - - 01:07.791 - - 710.0 + - 01:22.466 + - 3347.2 * - :ref:`sphx_glr_auto_examples_plot_dcrt_example.py` (``plot_dcrt_example.py``) - - 01:03.192 + - 01:00.576 - 640.2 + * - :ref:`sphx_glr_auto_examples_plot_2D_simulation_example.py` (``plot_2D_simulation_example.py``) + - 00:59.917 + - 704.8 * - :ref:`sphx_glr_auto_examples_plot_variable_importance_classif.py` (``plot_variable_importance_classif.py``) - - 00:43.179 - - 620.6 + - 00:40.476 + - 621.7 * - :ref:`sphx_glr_auto_examples_plot_diabetes_variable_importance_example.py` (``plot_diabetes_variable_importance_example.py``) - - 00:08.885 - - 624.9 + - 00:07.629 + - 625.3 diff --git a/docs/_sources/sg_execution_times.rst.txt b/docs/_sources/sg_execution_times.rst.txt index b853202..9f7cd81 100644 --- a/docs/_sources/sg_execution_times.rst.txt +++ b/docs/_sources/sg_execution_times.rst.txt @@ -6,7 +6,7 @@ Computation times ================= -**10:11.305** total execution time for 6 files **from all galleries**: +**09:34.108** total execution time for 6 files **from all galleries**: .. container:: @@ -33,20 +33,20 @@ Computation times - Time - Mem (MB) * - :ref:`sphx_glr_auto_examples_plot_knockoff_aggregation.py` (``../examples/plot_knockoff_aggregation.py``) - - 05:45.456 - - 808.7 + - 05:23.043 + - 817.3 * - :ref:`sphx_glr_auto_examples_plot_fmri_data_example.py` (``../examples/plot_fmri_data_example.py``) - - 01:22.801 - - 3279.1 - * - :ref:`sphx_glr_auto_examples_plot_2D_simulation_example.py` (``../examples/plot_2D_simulation_example.py``) - - 01:07.791 - - 710.0 + - 01:22.466 + - 3347.2 * - :ref:`sphx_glr_auto_examples_plot_dcrt_example.py` (``../examples/plot_dcrt_example.py``) - - 01:03.192 + - 01:00.576 - 640.2 + * - :ref:`sphx_glr_auto_examples_plot_2D_simulation_example.py` (``../examples/plot_2D_simulation_example.py``) + - 00:59.917 + - 704.8 * - :ref:`sphx_glr_auto_examples_plot_variable_importance_classif.py` (``../examples/plot_variable_importance_classif.py``) - - 00:43.179 - - 620.6 + - 00:40.476 + - 621.7 * - :ref:`sphx_glr_auto_examples_plot_diabetes_variable_importance_example.py` (``../examples/plot_diabetes_variable_importance_example.py``) - - 00:08.885 - - 624.9 + - 00:07.629 + - 625.3 diff --git a/docs/_static/documentation_options.js b/docs/_static/documentation_options.js index f043c80..a3c3dd7 100644 --- a/docs/_static/documentation_options.js +++ b/docs/_static/documentation_options.js @@ -1,5 +1,5 @@ const DOCUMENTATION_OPTIONS = { - VERSION: '0.1.dev1+geccd3d8', + VERSION: '0.1.dev1+g25c0611', LANGUAGE: 'en', COLLAPSE_INDEX: false, BUILDER: 'html', diff --git a/docs/api.html b/docs/api.html index b81c337..85d596b 100644 --- a/docs/api.html +++ b/docs/api.html @@ -5,7 +5,7 @@ - API Documentation — HiDimStat 0.1.dev1+geccd3d8 documentation + API Documentation — HiDimStat 0.1.dev1+g25c0611 documentation @@ -13,7 +13,7 @@ - + diff --git a/docs/auto_examples/index.html b/docs/auto_examples/index.html index 0c66192..6209d89 100644 --- a/docs/auto_examples/index.html +++ b/docs/auto_examples/index.html @@ -5,7 +5,7 @@ - Examples Gallery — HiDimStat 0.1.dev1+geccd3d8 documentation + Examples Gallery — HiDimStat 0.1.dev1+g25c0611 documentation @@ -13,7 +13,7 @@ - + diff --git a/docs/auto_examples/plot_2D_simulation_example.html b/docs/auto_examples/plot_2D_simulation_example.html index 8423919..d8912eb 100644 --- a/docs/auto_examples/plot_2D_simulation_example.html +++ b/docs/auto_examples/plot_2D_simulation_example.html @@ -5,7 +5,7 @@ - Support recovery on simulated data (2D) — HiDimStat 0.1.dev1+geccd3d8 documentation + Support recovery on simulated data (2D) — HiDimStat 0.1.dev1+g25c0611 documentation @@ -13,7 +13,7 @@ - + @@ -475,8 +475,8 @@

Analysis of the results -

Total running time of the script: (1 minutes 7.791 seconds)

-

Estimated memory usage: 710 MB

+

Total running time of the script: (0 minutes 59.917 seconds)

+

Estimated memory usage: 705 MB

-Type-I Error, Power

Total running time of the script: (1 minutes 3.192 seconds)

+Type-I Error, Power

Total running time of the script: (1 minutes 0.576 seconds)

Estimated memory usage: 640 MB