Alias: null
Common Name: PrincipalComponentsAnalysis
Class: org. imirsel. m2k. transforms. PCA

Overview: This module takes as input an Array of Signal objects and performs a Principal Components Analysis of the data that the Signals contain.

Detailed Description: Performs a principal componenet analysis on an input array of Signal objects The basis vectors for the transformation can be calculated or an exisiting set can be taken as input. If the basis vectors are calculated they are also output to be used in another transform. Any column of data marked "Onsets" is ignored.

Data Handling: If the "Perform transform in place?" is set to false, the input Signal objects are not modified, but cloned and the data matrix of each cloned Signal is replaced with its PCA-ed version. Otherwise the input data is modified.


Inputs:
Input Signal array
[org. imirsel. m2k. util. Signal
The Signal array to transform (Signal array).

Basis vectors
[[D
(Optional) Existing set of basis vectors to use


Outputs:
Transformed Signal array
[org. imirsel. m2k. util. Signal
The Signal array with data replaced by transformed version (Signal array).


Basis Vectors
[[D
The basis vectors used in the transformation (only output if they were calculated instead of being taken as input).



Properties:
Use Singular Value Decomposition
Use the Singular Value Decomposition instead of the Eigenvalue Decomposition to get the basis vectors for thePrincipal Components analysis. The Singular Value Decomposition is guarenteed to return positive eigenvalues.

Use an existing set of basis vectors
Determines whether the module is expecting to receive an existing set of basis vectors for the PCA or whether a new set should be calculated.

Use class metadata in basis vectors?
Determines whether the covariance matrix, which the basis vectors of the transformation are calculated from, is the covariance matrix of all the data or if it is the sum of the covariance matrices of each of the classes in the data divided by the number of classes.

percentage variance to output
Percentage variance to output

Perform transform in place?
Determines whether the PCA is performed "in place" or whether it is cloned first, so that the input data is not modified.