fICA: FastICA Algorithms and Their Improved Variants

In independent component analysis (ICA) one searches for mutually independent non gaussian latent variables when the components of the multivariate data are assumed to be linear combinations of them. Arguably, the most popular method to perform ICA is FastICA. There are two classical versions, the deflation-based FastICA where the components are found one by one, and the symmetric FastICA where the components are found simultaneously. These methods have been implemented previously in two R packages, fastICA and ica. We present the R package fICA and compare it to the other packages. Additional features in fICA include optimization of the extraction order in the deflation-based version, possibility to use any nonlinearity function, and improvement to convergence of the deflation-based algorithm. The usage of the package is demonstrated by applying it to the real ECG data of a pregnant woman.

Jari Miettinen , Klaus Nordhausen , Sara Taskinen

Supplementary materials

Supplementary materials are available in addition to this article. It can be downloaded at

CRAN packages used

fastICA, ica, fICA, BSSasymp

CRAN Task Views implied by cited packages

Psychometrics, ChemPhys, Multivariate


Text and figures are licensed under Creative Commons Attribution CC BY 4.0. The figures that have been reused from other sources don't fall under this license and can be recognized by a note in their caption: "Figure from ...".


For attribution, please cite this work as

Miettinen, et al., "The R Journal: fICA: FastICA Algorithms and Their Improved Variants", The R Journal, 2018

BibTeX citation

  author = {Miettinen, Jari and Nordhausen, Klaus and Taskinen, Sara},
  title = {The R Journal: fICA: FastICA Algorithms and Their Improved Variants},
  journal = {The R Journal},
  year = {2018},
  note = {},
  doi = {10.32614/RJ-2018-046},
  volume = {10},
  issue = {2},
  issn = {2073-4859},
  pages = {148-158}