cedalion.sigdecomp.ICA_EBM
Independent Component Analysis by Entropy Bound Minimization (ICA-EBM) based on Li and Adali [LA10b]. This code is based on converted matlab versions provided by the MLSP Lab at the University of Maryland, which is available here: https://mlsp.umbc.edu/resources.html.
Functions
|
Calculates the blind source separation demixing matrix corresponding to X. |
|
Helper function for ICA EBM: computes the inverse square root of a matrix. |
Helper function for ICA EBM: pre-processing (DC removal & spatial pre-whitening). |
|
|
Helper function for ICA EBM: simplified version of ppval. |
|
Helper function for ICA EBM: fast symmetric orthogonalization. |
- cedalion.sigdecomp.ICA_EBM.ICA_EBM(X: ndarray) ndarray [source]
Calculates the blind source separation demixing matrix corresponding to X.
ICA-EBM: ICA by Entropy Bound Minimization (real-valued version) Four nonlinearities x^4, |x|/(1+|x|), x|x|/(10+|x|), and x/(1+x^2) are used for entropy bound calculation
- Parameters:
X (np.ndarray, (Channels, Time Points)) – the [N x T] input multivariate time series with dimensionality N observations/channels and T time points
- Returns:
- the [N x N] demixing matrix with weights for N channels/sources.
To obtain the independent components, the demixed signals can be calculated as S = W @ X.
- Return type:
W (np.ndarray, (Channels, Channels))
- Initial Contributors:
Jacqueline Behrendt | jacqueline.behrendt@campus.tu-berlin.de | 2024
References
This code is based on the matlab version by Xi-Lin Li (Li and Adali [LA10b]) Xi-Lin Li and Tulay Adali, “Independent component analysis by entropy bound minimization,” IEEE Trans. Signal Processing, vol. 58, no. 10, pp. 5151-5164, Oct. 2010. The original matlab version is available at https://mlsp.umbc.edu/resources.html under the name “Real-valued ICA by entropy rate bound minimization (ICA-ERBM)”
- cedalion.sigdecomp.ICA_EBM.simplified_ppval(pp: dict, xs: float) float [source]
- Helper function for ICA EBM: simplified version of ppval.
This function evaluates a piecewise polynomial at a specific point.
- Parameters:
pp (dict) – a dictionary containing the piecewise polynomial representation of a function
xs (float) – the evaluation point
- Returns:
the value of the function at xs
- Return type:
v (float)
- cedalion.sigdecomp.ICA_EBM.inv_sqrtmH(B: ndarray) ndarray [source]
Helper function for ICA EBM: computes the inverse square root of a matrix.
- Parameters:
B (np.ndarray) – a square matrix
- Returns:
the inverse square root of B
- Return type:
A (np.ndarray)
- cedalion.sigdecomp.ICA_EBM.pre_processing(X: ndarray) tuple[ndarray, ndarray] [source]
Helper function for ICA EBM: pre-processing (DC removal & spatial pre-whitening).
- Parameters:
X (np.ndarray, (Channels, Time Points)) – the data matrix [N x T]
- Returns:
the pre-processed data matrix [N x T] P (np.ndarray, (Channels, Channels)): the pre-whitening matrix [N x N]
- Return type:
X (np.ndarray, (Channels, Time Points))
- cedalion.sigdecomp.ICA_EBM.symdecor(M: ndarray) ndarray [source]
Helper function for ICA EBM: fast symmetric orthogonalization.
- Parameters:
M (np.ndarray, (Channels, Channels)) – the matrix to be orthogonalized [N x N]
- Returns:
the orthogonalized matrix [N x N]
- Return type:
W (np.ndarray, (Channels, Channels))