diff --git a/joss.05496/10.21105.joss.05496.crossref.xml b/joss.05496/10.21105.joss.05496.crossref.xml new file mode 100644 index 0000000000..fdddb5c547 --- /dev/null +++ b/joss.05496/10.21105.joss.05496.crossref.xml @@ -0,0 +1,450 @@ + + + + 20230707T210852-2f3bf1933cd8186c6a36e1da4b79ff0a5109b6a9 + 20230707210852 + + JOSS Admin + admin@theoj.org + + The Open Journal + + + + + Journal of Open Source Software + JOSS + 2475-9066 + + 10.21105/joss + https://joss.theoj.org/ + + + + + 07 + 2023 + + + 8 + + 87 + + + + iTensor: An R package for independent component +analysis-based matrix/tensor decomposition + + + + Koki + Tsuyuzaki + https://orcid.org/0000-0003-3797-2148 + + + + 07 + 07 + 2023 + + + 5496 + + + 10.21105/joss.05496 + + + http://creativecommons.org/licenses/by/4.0/ + http://creativecommons.org/licenses/by/4.0/ + http://creativecommons.org/licenses/by/4.0/ + + + + Software archive + 10.5281/zenodo.8080600 + + + GitHub review issue + https://github.com/openjournals/joss-reviews/issues/5496 + + + + 10.21105/joss.05496 + https://joss.theoj.org/papers/10.21105/joss.05496 + + + https://joss.theoj.org/papers/10.21105/joss.05496.pdf + + + + + + An information-maximization approach to blind +separation and blind deconvolution + Bell + Neural computation + 7(6) + 10.7551/mitpress/7011.003.0009 + 1995 + Bell, A. J. et al. (1995). An +information-maximization approach to blind separation and blind +deconvolution. Neural Computation, 7(6), 1129–1159. +https://doi.org/10.7551/mitpress/7011.003.0009 + + + A new learning algorithm for blind signal +separation + Amari + NIPS 1995 + 1995 + Amari, S. et al. (1995). A new +learning algorithm for blind signal separation. NIPS +1995. + + + Independent component analysis using an +extended infomax algorithm for mixed subgaussian and supergaussian +sources + Lee + Neural computation + 11(2) + 10.1162/089976699300016719 + 1999 + Lee, et al., T. W. (1999). +Independent component analysis using an extended infomax algorithm for +mixed subgaussian and supergaussian sources. Neural Computation, 11(2), +417–441. +https://doi.org/10.1162/089976699300016719 + + + Fast and robust fixed-point algorithms for +independent component analysis + Hyvarinen + IEEE transactions on Neural +Networks + 10(3) + 10.1109/72.761722 + 1999 + Hyvarinen, A. (1999). Fast and robust +fixed-point algorithms for independent component analysis. IEEE +Transactions on Neural Networks, 10(3), 626–634. +https://doi.org/10.1109/72.761722 + + + Blind beamforming for non-gaussian +signals + Cardoso + IEEE Proceedings F + 140(6) + 10.1049/ip-f-2.1993.0054 + 1993 + Cardoso, J.-F. (1993). Blind +beamforming for non-gaussian signals. IEEE Proceedings F, 140(6), +362–370. +https://doi.org/10.1049/ip-f-2.1993.0054 + + + Auxiliary-function-based independent +component analysis for super-gaussian sources + Ono + Lecture Notes in Computer +Science + 6365 + 10.1007/978-3-642-15995-4_21 + 2010 + Ono, N. et al. (2010). +Auxiliary-function-based independent component analysis for +super-gaussian sources. Lecture Notes in Computer Science, 6365, +165–172. +https://doi.org/10.1007/978-3-642-15995-4_21 + + + Criteria for the simultaneous blind +extraction of arbitrary groups of sources + Cruces + International Conference on ICA and +BSS + 2001 + Cruces, S. et al. (2001). Criteria +for the simultaneous blind extraction of arbitrary groups of sources. +International Conference on ICA and BSS, +740–745. + + + Indeterminacy and identifiability of blind +identification + Tong + IEEE Transactions on Circuits and +Systems + 38(5) + 10.1109/31.76486 + 1991 + Tong, L. et al. (1991). Indeterminacy +and identifiability of blind identification. IEEE Transactions on +Circuits and Systems, 38(5), 499–509. +https://doi.org/10.1109/31.76486 + + + A blind source separation technique using +second-order statistics + Belouchrani + IEEE Transactions on Signal +Processing + 45(2) + 1997 + Belouchrani, A. et al. (1997). A +blind source separation technique using second-order statistics. IEEE +Transactions on Signal Processing, 45(2), +434–444. + + + Source separation using higher order +moments + Cardoso + International Conference on Acoustics, +Speech, and Signal Processing + 4 + 10.1109/icassp.1989.266878 + 1989 + Cardoso, J.-F. (1989). Source +separation using higher order moments. International Conference on +Acoustics, Speech, and Signal Processing, 4, 2109–2112. +https://doi.org/10.1109/icassp.1989.266878 + + + Independent components analysis through +product density estimation + Hastie + NIPS 2002 + 2002 + Hastie, T. et al. (2002). Independent +components analysis through product density estimation. NIPS +2002. + + + ICA with reconstruction cost for efficient +overcomplete feature learning + Le + NIPS 2011 + 2011 + Le, Q. et al. (2011). ICA with +reconstruction cost for efficient overcomplete feature learning. NIPS +2011. + + + MICA: Multimodal independent component +analysis + Akaho + IJCNN’99 + 2 + 10.1109/ijcnn.1999.831077 + 1999 + Akaho, S. et al. (1999). MICA: +Multimodal independent component analysis. IJCNN’99, 2, 927–932. +https://doi.org/10.1109/ijcnn.1999.831077 + + + A review of group ICA for fMRI data and ICA +for joint inference of imaging, genetic, and ERP data + Calhourn + Neuroimage + 45(1 Suppl) + 10.1016/j.neuroimage.2008.10.057 + 2009 + Calhourn, V. D. et al. (2009). A +review of group ICA for fMRI data and ICA for joint inference of +imaging, genetic, and ERP data. Neuroimage, 45(1 Suppl), S163–S172. +https://doi.org/10.1016/j.neuroimage.2008.10.057 + + + groupICA: Independent component analysis for +grouped data + Pfister + arXiv + 2018 + Pfister, N. et al. (2018). groupICA: +Independent component analysis for grouped data. +arXiv. + + + Multilinear independent component +analysis + Vasilescu + IEEE CVPR 2005 + 2005 + Vasilescu, M. A. O. et al. (2005). +Multilinear independent component analysis. IEEE CVPR +2005. + + + CorrIndex: A permutation invariant +performance index + Sobhani + Signal Processing + 195 + 10.1016/j.sigpro.2022.108457 + 2022 + Sobhani, E. et al. (2022). CorrIndex: +A permutation invariant performance index. Signal Processing, 195, +108457. +https://doi.org/10.1016/j.sigpro.2022.108457 + + + Unmixing fMRI with independent component +analysis + Calhoun + IEEE Eng Med Biol Mag + 25(2) + 10.1109/memb.2006.1607672 + 2006 + Calhoun, V. D. et al. (2006). +Unmixing fMRI with independent component analysis. IEEE Eng Med Biol +Mag, 25(2), 79–90. +https://doi.org/10.1109/memb.2006.1607672 + + + Independent component analysis: Algorithms +and applications + Hyvärinen + Neural Network + 13(4-5) + 2000 + Hyvärinen, A. et al. (2000). +Independent component analysis: Algorithms and applications. Neural +Network, 13(4-5), 411–430. + + + The dynamics and regulators of cell fate +decisions are revealed by pseudotemporal ordering of single +cells + Trapnell + Nature Biotechnology + 32(4) + 10.1038/nbt.2859 + 2014 + Trapnell, C. et al. (2014). The +dynamics and regulators of cell fate decisions are revealed by +pseudotemporal ordering of single cells. Nature Biotechnology, 32(4), +381–386. https://doi.org/10.1038/nbt.2859 + + + A linear non-gaussian acyclic model for +causal discovery + Shimizu + Journal of Machine Learning +Research + 7 + 2006 + Shimizu, S. et al. (2006). A linear +non-gaussian acyclic model for causal discovery. Journal of Machine +Learning Research, 7, 2003–2030. + + + Scikit-learn: Machine learning in +python + Pedregosa + Journal of Machine Learning +Research + 12(85) + 2011 + Pedregosa, F. et al. (2011). +Scikit-learn: Machine learning in python. Journal of Machine Learning +Research, 12(85), 2825–2830. + + + MEG and EEG data analysis with +MNE-python + Gramfort + Frontiers in Neuroscience + 7(267) + 10.3389/fnins.2013.00267 + 2013 + Gramfort, A. et al. (2013). MEG and +EEG data analysis with MNE-python. Frontiers in Neuroscience, 7(267), +1–13. https://doi.org/10.3389/fnins.2013.00267 + + + Robustifying independent component analysis +by adjusting for group-wise stationary noise + Pfister + Journal of Machine Learning +Research + 20(147) + 2019 + Pfister, N. et al. (2019). +Robustifying independent component analysis by adjusting for group-wise +stationary noise. Journal of Machine Learning Research, 20(147), +1−50. + + + Analysis of FIAC data with BrainVoyager QX: +From single-subject to cortically aligned group GLM analysis and +self-organizing group ICA + Goebel + Human Brain Mapping + 27(5) + 2006 + Goebel, R. et al. (2006). Analysis of +FIAC data with BrainVoyager QX: From single-subject to cortically +aligned group GLM analysis and self-organizing group ICA. Human Brain +Mapping, 27(5), 392–401. + + + Fundamentals of data analysis methods in +fMRI + Formisano + Advanced Image processing in magnetic +resonance imaging + 2006 + Formisano, E. et al. (2006). +Fundamentals of data analysis methods in fMRI. Advanced Image Processing +in Magnetic Resonance Imaging. + + + CORSICA: Correction structured noise in fMRI +by automatic indentification of ICA components + Perlbarg + Magnetic Resonance Imaging + 25(1) + 2007 + Perlbarg, V. et al. (2007). CORSICA: +Correction structured noise in fMRI by automatic indentification of ICA +components. Magnetic Resonance Imaging, 25(1), +35–46. + + + Comparing the reliability of different ICA +algorithms for fMRI analysis + Wei + PLoS ONE + 17(6) + 10.1371/journal.pone.0270556 + 2022 + Wei, P. et al. (2022). Comparing the +reliability of different ICA algorithms for fMRI analysis. PLoS ONE, +17(6), e0270556. +https://doi.org/10.1371/journal.pone.0270556 + + + Applying fully tensorial ICA to fMRI +data + Virta + IEEE Signal Processing in Medicine and +Biology Symposium + 10.1109/spmb.2016.7846858 + 2016 + Virta, J. et al. (2016). Applying +fully tensorial ICA to fMRI data. IEEE Signal Processing in Medicine and +Biology Symposium. +https://doi.org/10.1109/spmb.2016.7846858 + + + + + + diff --git a/joss.05496/10.21105.joss.05496.jats b/joss.05496/10.21105.joss.05496.jats new file mode 100644 index 0000000000..735731164e --- /dev/null +++ b/joss.05496/10.21105.joss.05496.jats @@ -0,0 +1,765 @@ + + +
+ + + + +Journal of Open Source Software +JOSS + +2475-9066 + +Open Journals + + + +5496 +10.21105/joss.05496 + +iTensor: An R package for independent component +analysis-based matrix/tensor decomposition + + + +https://orcid.org/0000-0003-3797-2148 + +Tsuyuzaki +Koki + + + + + + +Department of Artificial Intelligence Medicine, Graduate +School of Medicine, Chiba University, Japan + + + + +Laboratory for Bioinformatics Research, RIKEN Center for +Biosystems Dynamics Research, Japan + + + + +1 +5 +2023 + +8 +87 +5496 + +Authors of papers retain copyright and release the +work under a Creative Commons Attribution 4.0 International License (CC +BY 4.0) +2022 +The article authors + +Authors of papers retain copyright and release the work under +a Creative Commons Attribution 4.0 International License (CC BY +4.0) + + + +R +independent component analysis +multimodal independent component analysis +group independent component analysis +multilinear independent component analysis +dimension reduction + + + + + + Summary +

Independent Component Analysis (ICA) is a widely used algorithm to + extract a small number of mutually independent source signals in + high-dimensional data. There are many applications of ICA in signal + processing + (Calhoun, + 2006; + Hyvärinen, + 2000), neuroscience + (Calhoun, + 2006; + Hyvärinen, + 2000), bioinformatics + (Trapnell, + 2014), and causal discovery + (Shimizu, + 2006). ICA has been applied to matrix data but there is a + growing demand to apply ICA to more heterogeneous data such as + multiple matrices and tensors (high-dimensional arrays), which are + higher-order data structures than matrices + (Akaho, + 1999; + Calhourn, + 2009; + Pfister, + 2018; + Vasilescu, + 2005). To meet these requirements, I originally developed + iTensor, which is an R/CRAN package to perform + some ICA-based matrix/tensor decomposition algorithms + (https://cran.r-project.org/web/packages/iTensor/index.html).

+
+ + Statement of need +

Currently, the most comprehensive implementation for ICA-related + algorithms is the Group ICA of fMRI Toolbox (GIFT, + http://mialab.mrn.org/software/gift), but it is not freely available + because it is implemented in MATLAB. Also, some open-source software + is implemented in R and Python but those only focus on fewer + algorithms. To fill this gap, I originally implemented some ICA-based + matrix/tensor decomposition algorithms in R.

+

iTensor provides the ICA-based matrix/tensor + decomposition functions as follows:

+ + +

ICA: ICA (3 classic models including + InfoMax + (Amari, + 1995; + Bell, + 1995), ExtInfoMax + (Lee, + 1999), and FastICA + (Hyvarinen, + 1999))

+
+ +

ICA2: ICA (9 modern models including + JADE + (Cardoso, + 1993), AuxICA1/2 + (Ono, + 2010), SIMBEC + (Cruces, + 2001), AMUSE + (Tong, + 1991), SOBI + (Belouchrani, + 1997), FOBI + (Cardoso, + 1989), ProDenICA + (Hastie, + 2002), and RICA + (Le, + 2011))

+
+ +

MICA: Multimodal ICA + (Akaho, + 1999)

+
+ +

GroupICA: Group ICA + (Calhourn, + 2009; + Pfister, + 2018)

+
+ +

MultilinearICA: Multilinear ICA + (Vasilescu, + 2005)

+
+
+

I also implemented CorrIndex + (Sobhani, + 2022), which is a performance index to evaluate ICA + results.

+
+ + Example +

ICA and plots in + [fig:ica] can be easily + reproduced on any machine where R is pre-installed by using the + following commands in R:

+ # Install package required (one per computer) +install.packages("BiocManager") +BiocManager::install(c("mixOmics", "iTensor")) + +# Load required package (once per R instance) +library("iTensor") + +# Load Toy data +data1 <- toyModel("ICA_Type1") + +# Perform ICA +set.seed(1234) +out.JADE <- ICA2(X=data1$X_observed, J=3, algorithm="JADE") + +# Source Signal extracted by ICA (If it becomes an upright square, +# the calculation is successful) +pairs(data1$X_observed) +pairs(Re(out.JADE$S)) + +# CorrIndex (0.2211509, the closer to 0, the better the performance) +CorrIndex(cor(data1$S, Re(out.JADE$S))) + +

ICA with time-independent sub-gaussian + data.

+ +
+
+ + Related work +

There are some packages to perform ICA for matrix, matrices, and + tensor but such packages focus on only a few algorithms. + iTensor is the most comprehensive and unified + package to perform ICA-based matrix/tensor decomposition as + follows.

+ + +

Existing ICA-related packages

+ + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +
Name (function or package)LanguageICA for matrixICA for matricesICA for tensorReference
scikit-learnPython1--Pedregosa + (2011)
MNEPython1--Gramfort + (2013)
ricaMATLAB1--Le + (2011)
fastICAR1--Hyvarinen + (1999)
fICAR1--Hyvarinen + (1999)
JADER1--Cardoso + (1993)
ProDenICAR1--Hastie + (2002)
icaR3--Calhoun + (2006); + Hyvärinen + (2000)
groupICAR-1-Pfister + (2018)
coroICAR/Python/MATLAB-2-Pfister + (2019)
BrainVoyagerMATLAB1--Goebel + (2006); + Formisano + (2006)
FMRLABMATLAB1--Perlbarg + (2007)
GIFTMATLAB141-Wei + (2022)
tensorBSSR--6Virta + (2016)
iTensorR1221This paper
+
+

For MICA + (Akaho, + 1999) and Multilinear ICA + (Vasilescu, + 2005), there is no package without + iTensor to perform them.

+
+ + + + + + + BellA. J. et al. + + An information-maximization approach to blind separation and blind deconvolution + Neural computation + 1995 + 7(6) + 10.7551/mitpress/7011.003.0009 + 1129 + 1159 + + + + + + AmariS. et al. + + A new learning algorithm for blind signal separation + NIPS 1995 + 1995 + + + + + + Leeet al.T. W. + + Independent component analysis using an extended infomax algorithm for mixed subgaussian and supergaussian sources + Neural computation + 1999 + 11(2) + 10.1162/089976699300016719 + 417 + 441 + + + + + + HyvarinenA. + + Fast and robust fixed-point algorithms for independent component analysis + IEEE transactions on Neural Networks + 1999 + 10(3) + 10.1109/72.761722 + 626 + 634 + + + + + + CardosoJ.-F + + Blind beamforming for non-gaussian signals + IEEE Proceedings F + 1993 + 140(6) + 10.1049/ip-f-2.1993.0054 + 362 + 370 + + + + + + OnoN. et al. + + Auxiliary-function-based independent component analysis for super-gaussian sources + Lecture Notes in Computer Science + 2010 + 6365 + 10.1007/978-3-642-15995-4_21 + 165 + 172 + + + + + + CrucesS. et al. + + Criteria for the simultaneous blind extraction of arbitrary groups of sources + International Conference on ICA and BSS + 2001 + 740 + 745 + + + + + + TongL. et al. + + Indeterminacy and identifiability of blind identification + IEEE Transactions on Circuits and Systems + 1991 + 38(5) + 10.1109/31.76486 + 499 + 509 + + + + + + BelouchraniA. et al. + + A blind source separation technique using second-order statistics + IEEE Transactions on Signal Processing + 1997 + 45(2) + 434 + 444 + + + + + + CardosoJ.-F + + Source separation using higher order moments + International Conference on Acoustics, Speech, and Signal Processing + 1989 + 4 + 10.1109/icassp.1989.266878 + 2109 + 2112 + + + + + + HastieT. et al. + + Independent components analysis through product density estimation + NIPS 2002 + 2002 + + + + + + LeQ. et al. + + ICA with reconstruction cost for efficient overcomplete feature learning + NIPS 2011 + 2011 + + + + + + AkahoS. et al. + + MICA: Multimodal independent component analysis + IJCNN’99 + 1999 + 2 + 10.1109/ijcnn.1999.831077 + 927 + 932 + + + + + + CalhournV. D. et al. + + A review of group ICA for fMRI data and ICA for joint inference of imaging, genetic, and ERP data + Neuroimage + 2009 + 45(1 Suppl) + 10.1016/j.neuroimage.2008.10.057 + S163 + S172 + + + + + + PfisterN. et al. + + groupICA: Independent component analysis for grouped data + arXiv + 2018 + + + + + + VasilescuM. A. O. et al. + + Multilinear independent component analysis + IEEE CVPR 2005 + 2005 + + + + + + SobhaniE. et al. + + CorrIndex: A permutation invariant performance index + Signal Processing + 2022 + 195 + 10.1016/j.sigpro.2022.108457 + 108457 + + + + + + + CalhounV. D. et al. + + Unmixing fMRI with independent component analysis + IEEE Eng Med Biol Mag + 2006 + 25(2) + 10.1109/memb.2006.1607672 + 79 + 90 + + + + + + HyvärinenA. et al. + + Independent component analysis: Algorithms and applications + Neural Network + 2000 + 13(4-5) + 411 + 430 + + + + + + TrapnellC. et al. + + The dynamics and regulators of cell fate decisions are revealed by pseudotemporal ordering of single cells + Nature Biotechnology + 2014 + 32(4) + 10.1038/nbt.2859 + 381 + 386 + + + + + + ShimizuS. et al. + + A linear non-gaussian acyclic model for causal discovery + Journal of Machine Learning Research + 2006 + 7 + 2003 + 2030 + + + + + + PedregosaF. et al. + + Scikit-learn: Machine learning in python + Journal of Machine Learning Research + 2011 + 12(85) + 2825 + 2830 + + + + + + GramfortA. et al. + + MEG and EEG data analysis with MNE-python + Frontiers in Neuroscience + 2013 + 7(267) + 10.3389/fnins.2013.00267 + 1 + 13 + + + + + + PfisterN. et al. + + Robustifying independent component analysis by adjusting for group-wise stationary noise + Journal of Machine Learning Research + 2019 + 20(147) + 1−50 + + + + + + + GoebelR. et al. + + Analysis of FIAC data with BrainVoyager QX: From single-subject to cortically aligned group GLM analysis and self-organizing group ICA + Human Brain Mapping + 2006 + 27(5) + 392 + 401 + + + + + + FormisanoE. et al. + + Fundamentals of data analysis methods in fMRI + Advanced Image processing in magnetic resonance imaging + 2006 + + + + + + PerlbargV. et al. + + CORSICA: Correction structured noise in fMRI by automatic indentification of ICA components + Magnetic Resonance Imaging + 2007 + 25(1) + 35 + 46 + + + + + + WeiP. et al. + + Comparing the reliability of different ICA algorithms for fMRI analysis + PLoS ONE + 2022 + 17(6) + 10.1371/journal.pone.0270556 + e0270556 + + + + + + + VirtaJ. et al. + + Applying fully tensorial ICA to fMRI data + IEEE Signal Processing in Medicine and Biology Symposium + 2016 + 10.1109/spmb.2016.7846858 + + + + +
diff --git a/joss.05496/10.21105.joss.05496.pdf b/joss.05496/10.21105.joss.05496.pdf new file mode 100644 index 0000000000..abe12ad59e Binary files /dev/null and b/joss.05496/10.21105.joss.05496.pdf differ diff --git a/joss.05496/media/figure.png b/joss.05496/media/figure.png new file mode 100644 index 0000000000..a70b905bac Binary files /dev/null and b/joss.05496/media/figure.png differ