Comments (5)
Ou, yes, ok, now it makes all sense 😅
I guess, the mix-up arose with the new version I installed of your package.
I used v0.7.0 until recently, in which the Principle Components were called components.
In the new version, you introduced a new nomenclature for the EOFs (eigenvectors; formerly eofs, now components) and the Principle Components (formerly components, now scores).
Apparently, this led to confusion on my side. Thanks for the exchange and the clarification! 👍🏽
from xeofs.
Yep, you're right ;) I forgot that the names were different before 1.0 - sorry for the confusion!
Closing but feel free to reopen if something's unclear.
from xeofs.
Hi Markus! Thanks for the kind words! The center
parameter only removes the mean of the data but not the linear trend. Probably the term centering is used differently in some communities, sorry for the confusion.
There is currently no direct function in xeofs for removing global trends in the data.
I don't know if this is relevant for you, but you could try using Extended EOF /Multi-Channel Singular Spectrum Analysis to remove global non-linear trends in your data though :)
from xeofs.
Hi Niclas,
Thanks for the quick response!
Ok. After looking more closely at the code again, I guess (in case of S-mode EOF analysis, i.e. EOF or scores = spatial pattern, components = temporal evolution) the routine removes the field average for every single time step (sample_dims
) and not the long-term mean, right? Maybe this can be formulated more clearly in the documentation.?
Because I assumed you subtract the long-term mean in every grid cell by setting center=True
.
from xeofs.
Ahh, perhaps there is a small mix-up here?
Compagnucci & Richman (2007) define for m time steps at n stations (or grid points):
- S-mode treats the time series (m times) at each of the n stations (or grid points) as variables in the analysis; the domain is the geographical area.
- T-mode treats the spatial field, defined by all the n stations (or grid points), at each of the m times as variables; the domain is time.
And further,
S-mode analysis results in an nxn similarity matrix whereas the T-mode will result in an mxm similarity matrix.
So if the scores are the spatial patterns and the components are the temporal evolution, then it is T-mode.
Because I assumed you subtract the long-term mean in every grid cell by setting center=True.
Yes, this is true for S-mode, but not for T-mode
perhaps it's easiest to sum up like this:
Analysis Mode | dim in xeofs |
scores | components | center in xeofs |
---|---|---|---|---|
S-mode | ("time") | temporal | spatial | remove temporal mean for every grid point |
T-mode | ("lon", "lat") | spatial | temporal | remove spatial mean for every time step |
from xeofs.
Related Issues (20)
- Add Principal Oscillation Patterns (POP)
- How to perform a North test on the EOF? HOT 2
- CCA with nan values HOT 13
- Continuum Power CCA (Swenson 2015)
- A question on significant test via bootstrap HOT 2
- Remove `verbose` parameter from all models
- Redefining model parameter `compute` HOT 4
- Rename Complex Models to Hilbert Models
- Repository rights to change settings HOT 4
- Missing dask support for models based on complex data
- REOF computation extremely slow for small dataarray ? HOT 4
- Using `normalize=False` as default for all scores HOT 1
- Changes to API
- Cannot save complex/Hilbert models with `engine=netcdf4` HOT 2
- Avoid recreating API on every child model class HOT 1
- Missing Hilbert transform for Hilbert Cross Set models
- Cross-set models run out of memory
- AttributeError: 'HilbertMCARotator' object has no attribute 'sample_name'
- TypeError: DataTree.__init__() got an unexpected keyword argument 'data'
- Is ROCK-PCA still supported ? HOT 2
Recommend Projects
-
React
A declarative, efficient, and flexible JavaScript library for building user interfaces.
-
Vue.js
🖖 Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.
-
Typescript
TypeScript is a superset of JavaScript that compiles to clean JavaScript output.
-
TensorFlow
An Open Source Machine Learning Framework for Everyone
-
Django
The Web framework for perfectionists with deadlines.
-
Laravel
A PHP framework for web artisans
-
D3
Bring data to life with SVG, Canvas and HTML. 📊📈🎉
-
Recommend Topics
-
javascript
JavaScript (JS) is a lightweight interpreted programming language with first-class functions.
-
web
Some thing interesting about web. New door for the world.
-
server
A server is a program made to process requests and deliver data to clients.
-
Machine learning
Machine learning is a way of modeling and interpreting data that allows a piece of software to respond intelligently.
-
Visualization
Some thing interesting about visualization, use data art
-
Game
Some thing interesting about game, make everyone happy.
Recommend Org
-
Facebook
We are working to build community through open source technology. NB: members must have two-factor auth.
-
Microsoft
Open source projects and samples from Microsoft.
-
Google
Google ❤️ Open Source for everyone.
-
Alibaba
Alibaba Open Source for everyone
-
D3
Data-Driven Documents codes.
-
Tencent
China tencent open source team.
from xeofs.