[Python] Which Principal Component Analysis method for a stationnary, non-linear 3D dataset?

Discussão em 'Python' iniciado por Stack, Maio 7, 2025.

  1. Stack

    Stack Membro Participativo

    I have a 3D dataset of glacier surface velocities (time, latitude, longitude). Typically the patterns are stationnary in time, non-linear (in space nor time), and sometimes oscillatory.

    I have been looking for a reproducable, interpretable Principal Component Analysis (PCA, or Empirical Orthogonal Functions (EOFs)) decomposition to use. I reference here the paper: https://joss.theoj.org/papers/10.21105/joss.06060 that provides an overview of the xeofs Python package.

    From my understanding, there is a multitude of PCA-based techniques that can add a layer of complexity to the decomposition, in order to detangle better the variance's modes in a dataset (Rotated-EOFs for breaking orthogonality of the modes, Complex-PCA to relate phase and magnitude of signals, etc...). My personal favorite, the ROCK-PCA, brings the best mashup of techniques I've seen (too bad the code does not give the same results if you compare the Python or Matlab versions).

    I struggle to find a guide on what technique is the most appropriate for a specific dataset. Is there any documentation, guide, that can help chose which PCA-based techniques for data analysis, based on dataset characteristics?

    Continue reading...

Compartilhe esta Página