nicolasfauchereau / xmca

Maximum Covariance Analysis in Python

Geek Repo:Geek Repo

Github PK Tool:Github PK Tool

xMCA | Maximum Covariance Analysis in Python

version CircleCI Documentation Status Maintenance downloads DOI

The aim of this package is to provide a flexible tool for the climate science community to perform Maximum Covariance Analysis (MCA) in a simple and consistent way. Given the huge popularity of xarray in the climate science community, the xmca package supports xarray.DataArray as well as numpy.ndarray as input formats.

What is MCA?

MCA maximises the temporal covariance between two different data fields and is closely related to Principal Component Analysis (PCA) / Empirical Orthogonal Function analysis (EOF analysis). While EOF analysis maximises the variance within a single data field, MCA allows to extract the dominant co-varying patterns between two different data fields. When the two input fields are the same, MCA reduces to standard EOF analysis.

For the mathematical understanding please have a look at e.g. the lecture material written by C. Bretherton.

Core Features

Standard Rotated Complex Complex Rotated
EOF analysis ✔️ ✔️ ✔️ ✔️
MCA ✔️ ✔️ ✔️ ✔️

* click on check marks for reference
** A paper featuring complex (rotated) MCA has been submitted and is currently under review. However, you can already check a pre-print on arXiv.

Installation & Quickstart

Please have a look at the documentation page for instructions on how to install and some examples to get started.

Please cite

I am just starting my career as a scientist. Feedback on my scientific work is therefore important to me in order to assess which of my work advances the scientific community. As such, if you use the package for your own research and find it helpful, I would appreciate feedback here on Github, via email, or as a citation:

Niclas Rieger, 2021: nicrie/xmca: version x.y.z. doi:10.5281/zenodo.4749830.

Credits

Kudos to the developers and contributors of the following Github projects which I initially used myself and used as an inspiration:

About

Maximum Covariance Analysis in Python

License:MIT License


Languages

Language:Python 100.0%