Table 1.
Summary of various group ICA approaches (in chronological order): The computation times were obtained from resting state fMRI data9 containing s = 1600 subjects, v = 66745 in-brain voxels, t = 100 time points and extracting n = 75 group principal components. Here we opted not to whiten the subject-level data prior to group PCA in order to match the assumption in the original paper1. Analyses were run on an 80-core Linux Centos OS release 6.4 with 512 GB and on an 8-core Windows Desktop with 4GB RAM. For Windows desktop, we report the computational times of only the PCA analyses that could be fit on 4GB RAM. For EM PCA2, MPOWIT and SMIG, the maximum number of iterations was set to 100 (on Linux server) and 40 (on Windows desktop) to limit the maximum number of dataloads per subject in each iteration. To compute the estimation error, we use L2-norm of the difference between the eigenvalues obtained from PCA methods and those from the temporal concatenation approach. Only errors greater than 1×10−6 are reported, and for iterative PCA methods like MPOWIT, EM PCA2, and SMIG we also report the number of iterations required to converge. Here the ranking is based on RAM use only. We also report the explained variance (EV) for each method using temporal concatenation as the reference.
Software (Name) | Date introduced | Average rank (based on least memory use only) |
Compute time (min) (80-core Linux, 512 GB RAM; loading time irrelevant) |
Compute time (min) (8-core Windows Desktop 4GB RAM; loading time dominates) |
---|---|---|---|---|
A. GIFT (EVD) | 200118 | 9 | 60.15, EV = 100% | * |
Original GIFT group ICA approach. | ||||
B. GIFT (3-step PCA, STP) | 200412,23 | 3-5 (depending on blocksize) |
27.96, error=0.05 EV – 99.9% ~2min loading data |
67.97, error=0.05 EV = 99.9% ~39min loading data |
A 3-step PCA method implemented early
in the GIFT toolbox and similar to the MIGP approach. Subsampled Time PCA
(STP)14 is a
more recent generalization which avoids whitening in the intermediate group PCA step during the group PCA space update. To compute the memory required, we selected a value of 10 for the number of subjects in each group. The top 500 components were retained in each intermediate group PCA. | ||||
C. MELODIC (Temporal Concat.) | 200924 | 9 | 60.15 | * |
Original MELODIC group ICA approach after adoption of temporal concatenation as the default. | ||||
D. GIFT (EVD Full Storage) | 2009 (GroupICAT v2.0c) | 7 | 87.78, EV = 100% | * |
Covariance is computed using two data-sets at a time (Time × Time) or one data-set at a time (voxels × voxels). | ||||
E. GIFT (EVD Packed Storage) | 2009 (GroupICAT v2.0c) | 6 | 915.32, EV = 100% | * |
Only lower triangular portion of covariance matrix is stored. Covariance is computed in the same way as GIFT (Full Storage). | ||||
F. GIFT (EM PCA1) | 2010 (GroupICAT v2.0d)8,9 | 8 | 152, iter=496 EV = 100% |
* |
Expectation maximization assuming all data is in memory. | ||||
G. GIFT (EM PCA2) | 2010 (GroupICAT v2.0d)8,9 | 1 | 312.18, error=0.09 EV = 100% |
2305, error=6.58 EV = 100% |
Expectation maximization by loading one data-set at a time. | ||||
H. GIFT (MPOWIT) | 201314,15 | 3 | 33.19, iter=7 EV = 100% |
278.89, iter=7 EV = 100% |
Multi power iteration method (MPOWIT)
is an extension of subspace iteration. Typically we select a block multiplier which is
5 times the number of components to be extracted from the data to speed up the convergence of desired eigenvectors. In Figure 1, we show the memory required by MPOWIT when one dataset is loaded at a time. | ||||
I. MELODIC (SMIG) | 20141 | 1 | 106.9, iter=32 EV = 100% |
2310, iter=32 EV = 100% |
MELODIC subspace iteration. Memory required will be the same as EM PCA2. | ||||
J. MELODIC (MIGP) | 20141 | 4 | 48.48, error=1.87 EV = 100% ~2min loading data |
47.51, error=1.58 EV = 100% ~39min loading data |
MELODIC variation of 3-step PCA method
in GIFT. Memory required is slightly higher compared to EM PCA2 and
SMIG. Here we used m = 2t – 1. |