Anticorrelated Component Analysis (ACA)

Computes the two most anticorrelated components from a covariance or correlation matrix.

You are now following this Submission

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 (2026). Anticorrelated Component Analysis (ACA) (https://www.mathworks.com/matlabcentral/fileexchange/64555-anticorrelated-component-analysis-aca), MATLAB Central File Exchange. Retrieved .

Categories

Find more on Frequently-used Algorithms in Help Center and MATLAB Answers

General Information

MATLAB Release Compatibility

  • Compatible with any release

Platform Compatibility

  • Windows
  • macOS
  • Linux
Version Published Release Notes Action
1.0.0.0

Fixed typo in cost function.

Added citation and link to publication.