Anticorrelated Component Analysis (ACA)

Computes the two most anticorrelated components from a covariance or correlation matrix.
106 Downloads
Updated 13 Jan 2018

View License

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
Created with R2017a
Compatible with any release
Platform Compatibility
Windows macOS Linux
Categories
Find more on Frequently-used Algorithms in Help Center and MATLAB Answers

Community Treasure Hunt

Find the treasures in MATLAB Central and discover how the community can help you!

Start Hunting!
Version Published Release Notes
1.0.0.0

Fixed typo in cost function.

Added citation and link to publication.