FastICA

FastICA is an efficient and popular algorithm for independent component analysis invented by Aapo Hyvärinen at Helsinki University of Technology.

[1][2] Like most ICA algorithms, FastICA seeks an orthogonal rotation of prewhitened data, through a fixed-point iteration scheme, that maximizes a measure of non-Gaussianity of the rotated components.

Non-gaussianity serves as a proxy for statistical independence, which is a very strong condition and requires infinite data to verify.

FastICA can also be alternatively derived as an approximative Newton iteration.

must be prewhitened, or centered and whitened, before applying the FastICA algorithm to it.

The iterative algorithm finds the direction for the weight vector

that maximizes a measure of non-Gaussianity of the projection

To measure non-Gaussianity, FastICA relies on a nonquadratic nonlinear function

Hyvärinen states that the functions are useful for general purposes, while may be highly robust.

[1] The steps for extracting the weight vector

Estimating additional components that are mutually "independent" requires repeating the algorithm to obtain linearly independent projection vectors - note that the notion of independence here refers to maximizing non-Gaussianity in the estimated components.

Hyvärinen provides several ways of extracting multiple components with the simplest being the following.