-
Notifications
You must be signed in to change notification settings - Fork 61
New issue
Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.
By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.
Already on GitHub? Sign in to your account
Feature Request: rotated PCA #95
Comments
You can try the very old and undocumented experimental-rotation branch. I don’t plan on adding this feature myself unless someone else does all the work. |
I’ll take a look. Thanks. Hopefully I have time work on this |
@raybellwaves Did you happen to figure out how to apply the 'Varimax rotation'? I am wondering how to do this very same thing for computing the NAO index. |
@hurricanemolina afraid I haven't spent time on this yet. I've got as far as doing some background reading https://github.com/raybellwaves/eofs/blob/rotation/lib/eofs/rotation/standard.py @ajdawson's |
(I think) i've worked out how to do it. See https://github.com/raybellwaves/rot-eof-dev and The results look good when compared to the method in NCL (plots included). I can't explain the https://github.com/bmcmenamin/fa_kit/blob/148700747720211007307434eb398c1d4ce60990/fa_kit/rotation.py#L35 function. But it is equivalent to the NCL function Would someone mind reviewing the ipython notebook for my calculation and provide better documentation for the flip function. Once @ajdawson is happy with this I'll start work on a PR |
Knocking this on the head. |
Would this still be a requested feature today? I just created my own package (for performing Maximum Covariance Analysis) including Varimax and Promax rotation, so I could give it a try. |
@nicrie I would really appreciate if this feature gets deployed. I haven't found another EOF Python package that is as clean as this one, so I think it would be a nice addition. |
I had a look at the @raybellwaves I checked against the example of NAO calculated by CPC and the results match. I'll implement it later today + add the xarray interface. @ajdawson are there any guidelines to follow for PRs? It's the first time that I contribute to another project, some information would be very helpful. |
@ajdawson I just opened a PR adding Varimax-rotated PCA functionality to the
I did not implement What's still missing:
I can provide test cases as well as interface for Side note: While browsing the code I found that |
In case anyone is interested: Varimax and Promax rotated EOF analysis is now available in xeofs. |
To reproduce the methodology CPC use to calculate the NAO e.g http://www.cpc.ncep.noaa.gov/data/teledoc/telepatcalc.shtml
I see they first calculate the 10 leading eofs for each month (3 month average) which this code can do as it stands. They then apply a ‘Varimax rotation’ (I need to read their paper) to obtain the 10 rotated eofs for each month (3 month average)
The text was updated successfully, but these errors were encountered: