Skip to content

Canonical Correlation Analysis and Partial Least Squares Toolkit for neuroscientists

License

Notifications You must be signed in to change notification settings

anaston/cca_pls_toolkit

Repository files navigation

CCA/PLS Toolkit

This is a MATLAB toolkit to incorporate Canonical Correlation Analysis (CCA), Partial Least Squares (PLS) and their different variants to investigate multivariate associations between multiple modalities of data, e.g., brain imaging and behaviour. These models find pairs of weights (one weight for each data modality) such that the linear combination of the brain and behavioural variables maximise correlation (CCA) or covariance (PLS).

The toolkit includes various options for CCA/PLS models (e.g., standard CCA, standard PLS, regularized CCA, sparse PLS) and analysis frameworks (e.g., statistical framework, machine learning framework). It can also perform Principal Component Analysis (PCA) to reduce the dimensionality of the data before entering them into standard CCA analysis (PCA-CCA).

Although there are methods to estimate all weights (or associative effects) for most CCA/PLS models at once, the toolkit uses an interative solution to be able to optimize the hyperparameters of the model (i.e., number of principal components or regularization parameters) for each associative effect independently. In such iterative solution, the CCA/PLS model estimates one pair of weights (one weight for each data modality) at a time. These associative effects are then removed from the data (by a process called deflation) and the same process is repeated multiple times. The iterative solution also allows to estimate different PLS variants by choosing a specific deflation.

For a short theoretical introduction to the CCA/PLS models, analytic frameworks and deflation methods used in the toolkit, see the link to the online documentation below. For further reading, see:

Documentation

Our detailed documentation can be found here.

Contributors

Some of the code used in the toolkit was developed by Joao Monteiro who was a PhD student at UCL (currently a data scientist at Heni). We wish to thank members and collaborators of the Machine Learning & Neuroimaging Laboratory for testing the toolkit and providing invaluable feedback. We would particularly like to acknowledge Eliana Nicolaisen, Cemre Zor, Konstantinos Tsirlis, Taiane Ramos and Richard Nguyen.

Feel free to report any bugs under [email protected] or by creating an issue here. Pull requests are also welcome to https://github.com/anaston/cca_pls_toolkit, however, unfortunately we don't have the resources to provide general user support.

Acknowledgements

The CCA/PLS toolkit was developed at the Machine Learning & Neuroimaging Laboratory (MLNL), Centre for Medical Imaging Computing, Computer Science Department, University College London, UK. The development of the toolkit was supported by the Wellcome Trust (grant number WT102845/Z/13/Z).

License

This project is licensed under the terms of the GNU General Public License v3.0 license.

Copyright © 2022 University College London

About

Canonical Correlation Analysis and Partial Least Squares Toolkit for neuroscientists

Resources

License

Stars

Watchers

Forks

Languages