Anticorrelated Component Analysis (ACA)
Given the covariance or correlation matrix, C, of an n-dimensional dataset, ACA finds two nx1 vectors, U and V, such that the projected covariance is minimal. That is, the projections of the dataset onto U and V are maximally anticorrelated. The only required input is the covariance or correlation matrix, C, of the n-dimensional dataset. Thus, C is an nxn, symmetric, positive-definite matrix.
The optimization algorithm minimizes the cost function U'*C*V (projected covariance) with two constraints: |U|^2+|V|^2=1 and U,V>=0. The cost function is a quadratic form representing a saddle in a 2n-dimensional space. The first constraint restricts the minimzation to a 2n-dimensional hypersphere of radius 1 (vector normalization) centered at the origin. The second constraint restricts the minimization to the positive hyperoctant to remove the ambiguity in the cost function's sign.
The code was introduced and applied to neural data in the following publication:
Nathan X. Kodama, Tianyi Feng, James Ullett, Hillel J. Chiel, Siddharth S. Sivakumar, and Roberto F. Galán (2018). Anti-correlated cortical networks arise from spontaneous neuronal dynamics at slow timescales. Scientific Reports, 8:666.
Link to publication: https://www.nature.com/articles/s41598-017-18097-0
Cite As
Roberto Fernández Galán (2024). Anticorrelated Component Analysis (ACA) (https://www.mathworks.com/matlabcentral/fileexchange/64555-anticorrelated-component-analysis-aca), MATLAB Central File Exchange. Retrieved .
MATLAB Release Compatibility
Platform Compatibility
Windows macOS LinuxCategories
Tags
Community Treasure Hunt
Find the treasures in MATLAB Central and discover how the community can help you!
Start Hunting!Discover Live Editor
Create scripts with code, output, and formatted text in a single executable document.
Version | Published | Release Notes | |
---|---|---|---|
1.0.0.0 | Fixed typo in cost function. Added citation and link to publication. |