Owning Palette: Statistical Analysis VIs
Installed With: Advanced Signal Processing Toolkit
Performs independent component analysis (ICA) on an input multivariate (vector) time series. Wire data to the Xt input to determine the polymorphic instance to use or manually select the instance.
Use the pull-down menu to select an instance of this VI.
c.gif)
![]() |
adv settings specifies the iteration settings for independent component analysis. This option is available only when method is Fast ICA.
| ||||||||||||||||||||
![]() |
Xt specifies the input multivariate (vector) time series. | ||||||||||||||||||||
![]() |
num 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. | ||||||||||||||||||||
![]() |
method specifies the method to use in computing the independent components of the input multivariate (vector) time series.
Refer to the Details section for more information about each method.
|
||||||||||||||||||||
![]() |
error in describes error conditions that occur before this VI or function runs.
The default is no error. If an error occurred before this VI or function runs, the VI or function passes the error in value to error out. This VI or function runs normally only if no error occurred before this VI or function runs. If an error occurs while this VI or function runs, it runs normally and sets its own error status in error out. Use the Simple Error Handler or General Error Handler VIs to display the description of the error code. Use error in and error out to check errors and to specify execution order by wiring error out from one node to error in of the next node.
| ||||||||||||||||||||
![]() |
instrumental filter specifies the instrumental finite impulse response (FIR) filter coefficients when performing independent component analysis. This option is available only when 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 input multivariate (vector) time series. | ||||||||||||||||||||
![]() |
error out contains error information. If error in indicates that an error occurred before this VI or function ran, error out contains the same error information. Otherwise, it describes the error status that this VI or function produces.
Right-click the error out front panel indicator and select Explain Error from the shortcut menu for more information about the error.
|
c.gif)
![]() |
adv settings specifies the iteration settings for independent component analysis. This option is available only when method is Fast ICA.
| ||||||||||||||||||||
![]() |
Xt specifies the input multivariate (vector) time series. Each column of the 2D array represents a vector at certain time. | ||||||||||||||||||||
![]() |
num 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. | ||||||||||||||||||||
![]() |
method specifies the method to use in computing the independent components of the input multivariate (vector) time series.
Refer to the Details section for more information about each method.
|
||||||||||||||||||||
![]() |
error in describes error conditions that occur before this VI or function runs.
The default is no error. If an error occurred before this VI or function runs, the VI or function passes the error in value to error out. This VI or function runs normally only if no error occurred before this VI or function runs. If an error occurs while this VI or function runs, it runs normally and sets its own error status in error out. Use the Simple Error Handler or General Error Handler VIs to display the description of the error code. Use error in and error out to check errors and to specify execution order by wiring error out from one node to error in of the next node.
| ||||||||||||||||||||
![]() |
instrumental filter specifies the instrumental finite impulse response (FIR) filter coefficients when performing independent component analysis. This option is available only when 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 input multivariate (vector) time series. | ||||||||||||||||||||
![]() |
error out contains error information. If error in indicates that an error occurred before this VI or function ran, error out contains the same error information. Otherwise, it describes the error status that this VI or function produces.
Right-click the error out front panel indicator and select Explain Error from the shortcut menu for more information about the error.
|
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 are not subject to changes in the number of independent components num of IC. Moreover, the resulting waveform Xt out is subject to the scale only. Therefore, Xt out does not change shape if the number of independent components num of IC changes.
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 num 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.
Refer to the Independent Component Analysis VI in the labview\examples\Time Series Analysis\TSAGettingStarted.llb for an example of using the TSA Independent Component Analysis VI.