TSA Independent Component Analysis VI

LabVIEW 2014 Advanced Signal Processing Toolkit Help

Edition Date: June 2014

Part Number: 372656C-01

»View Product Info
Download Help (Windows Only)

Owning Palette: Statistical Analysis VIs

Requires: Advanced Signal Processing Toolkit

Performs independent component analysis (ICA) on a multivariate (vector) time series. Wire data to the Xt input to determine the polymorphic instance to use or manually select the instance.

Details  Examples

Use the pull-down menu to select an instance of this VI.

TSA Independent Component Analysis (Waveform)

advanced settings specifies the iteration settings for independent component analysis. This option is available only when ICA method is Fast ICA.
method specifies the method to use in estimating the negentropy, which is the measurement of nongaussianity. Refer to the Details section for more information about each method.

0Square
1Cube (default)
2Tanh
3Gaussian
max iteration specifies the maximum number of iterations this VI performs to minimize the mutual information between the input time series. The default is 1000.
convergence tolerance specifies the value of convergence tolerance this VI uses to minimize the mutual information between the input time series.
deflation tolerance specifies the value of deflation tolerance this VI uses to determine the number of independent components.
max refinements specifies the maximum number of refinements. The default is 10.
refinements tolerance specifies the value of convergence tolerance this VI uses to perform refinements.
Xt specifies the multivariate (vector) time series.
number of IC specifies the number of independent components to estimate. The default is –1, which specifies that this VI computes all the possible independent components.
ICA method specifies the method to use in computing the independent components of the multivariate (vector) time series. Refer to the Details section for more information about each method.

0Matrix Pencil ICA (default)
1Fast ICA
error in describes error conditions that occur before this node runs. This input provides standard error in functionality.
instrumental filter specifies the instrumental finite impulse response (FIR) filter coefficients when performing independent component analysis. This option is available only when ICA method is Matrix Pencil ICA. This VI uses the default filter if you do not specify a value for this parameter.
Xt out returns the estimated independent components.
separating matrix returns the estimated matrix this VI uses to separate the independent components from the multivariate (vector) time series.
error out contains error information. This output provides standard error out functionality.

TSA Independent Component Analysis (Array)

advanced settings specifies the iteration settings for independent component analysis. This option is available only when ICA method is Fast ICA.
method specifies the method to use in estimating the negentropy, which is the measurement of nongaussianity. Refer to the Details section for more information about each method.

0Square
1Cube (default)
2Tanh
3Gaussian
max iteration specifies the maximum number of iterations this VI performs to minimize the mutual information between the input time series. The default is 1000.
convergence tolerance specifies the value of convergence tolerance this VI uses to minimize the mutual information between the input time series.
deflation tolerance specifies the value of deflation tolerance this VI uses to determine the number of independent components.
max refinements specifies the maximum number of refinements. The default is 10.
refinements tolerance specifies the value of convergence tolerance this VI uses to perform refinements.
Xt specifies the multivariate (vector) time series. Each column of the 2D array represents a vector at certain time.
number of IC specifies the number of independent components to estimate. The default is –1, which specifies that this VI computes all the possible independent components.
ICA method specifies the method to use in computing the independent components of the multivariate (vector) time series. Refer to the Details section for more information about each method.

0Matrix Pencil ICA (default)
1Fast ICA
error in describes error conditions that occur before this node runs. This input provides standard error in functionality.
instrumental filter specifies the instrumental finite impulse response (FIR) filter coefficients when performing independent component analysis. This option is available only when ICA method is Matrix Pencil ICA. This VI uses the default filter if you do not specify a value for this parameter.
Xt out returns the estimated independent components. Each column of the 2D array represents a series of the estimated independent components.
separating matrix returns the estimated matrix this VI uses to separate the independent components from the multivariate (vector) time series.
error out contains error information. This output provides standard error out functionality.

TSA Independent Component Analysis Details

Independent component analysis (ICA) generates a new set of statistically independent multivariate (vector) time series from the original multivariate time series that are statistically dependent on each other.

You can use the following two methods to perform ICA: Fast ICA and Matrix Pencil ICA. The Fast ICA method adjusts the separating matrix to maximize the negentropy. The Matrix Pencil ICA method calculates the general eigenvector of a matrix pencil formed by two matrices—the auto-correlation matrix of the measurements and the auto-correlation matrix of the measurements filtered by a specified finite impulse response (FIR) filter. The Matrix Pencil ICA method sorts the independent components before returning them. Therefore, the order of the resulting independent components and the signal shape of Xt out when you plot Xt out on a waveform graph are not subject to changes in the number of independent components number of IC. Moreover, the signal shape of Xt out changes with respect to scale only.

This VI implements the Fast ICA method according to the following steps:

1. Calculates negentropy

Negentropy measures nongaussianity of a time series. This VI calculates negentropy for each independent component according to the following equation:

J(yi) = [E{G(yi)} – E(v)]2, i = 1, …, n

where n is number of IC, yi is independent components, v is a Gaussian variable of zero mean and unit variance, and G is any non-quadratic function you specify in method.

When method is Square:

When method is Cube:

When method is Tanh:

When method is Gaussian:

2. Maximizes negentropy

Each independent component yi can be represented by input time series Xt multiplied by coefficients in the separating matrix. You can obtain the maximum value for negentropy by adjusting the coefficients in separating matrix with the Newton optimization method.

This VI implements the Matrix Pencil ICA method according to the following steps:

1. Filters the time series by a selected FIR filter and forms the matrix pencil

This VI applies the specified instrumental filter to each channel of the time series and then calculates the autocorrelation of the original time series and the filtered ones. The filter must keep some significant frequency band of the time series but cannot be an all-pass filter. You can calculate the autocorrelation with different delays and then average them to mitigate the effect of noise. The two averaged correlation matrices form the matrix pencil. The following equations describes these steps:

Xt' = filter(Xt)

where bk is the weight, and k is the delay. bk and k are fixed values.

2. Calculates the general eigenvector of the matrix pencil

RXXE = RX'X'ED

where E is the matrix of eigenvectors and D is a diagonal matrix. When the elements of D are distinct, ET is the separating matrix.

References:

Chang, Ding, Yau, and Chan. 2000. "A Matrix-Pencil Approach to Blind Source Separation of Colored Nonstationary Signals." IEEE Transaction on signal Processing vol 48.3: 900-907.

Aapo Hyvarinen and Erkki Oja. 2000. "Independent Component Analysis: Algorithms and Applications." Neural Networks Research Centre, Helsinki University of Technology.

Examples

Refer to the following VIs for examples of using the TSA Independent Component Analysis VI:

  • Independent Component Analysis VI: labview\examples\Time Series Analysis\TSAGettingStarted
  • Magneto Encephalogram (MEG) Signal Analysis VI: labview\examples\Time Series Analysis\TSAApplications

WAS THIS ARTICLE HELPFUL?

Not Helpful