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.
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.
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.
Please have a look at the documentation page for instructions on how to install and some examples to get started.
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.
Kudos to the developers and contributors of the following Github projects which I initially used myself and used as an inspiration: