Skip to content
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

General surrogates #228

Closed
CommonClimate opened this issue May 23, 2022 · 3 comments · Fixed by #541
Closed

General surrogates #228

CommonClimate opened this issue May 23, 2022 · 3 comments · Fixed by #541

Comments

@CommonClimate
Copy link
Collaborator

CommonClimate commented May 23, 2022

Is your feature request related to a problem? Please describe.

  • Various utilities (wavelet, spectral analysis, correlations) use surrogate data (isopersistent, isospectral) in an inconsistent way (e.g. correlations.corr_isopersist() uses correlations.isopersistent_rn() but wavelet or spectral utilities use something else. correlations.py has a red_noise function unused anywhere)
  • The Surrogates class currently only has an AR(1) functionality, yet the underlying code for evenly-spaced series (ar1_fit_evenly()) uses an ARIMA model that is much more flexible.
  • Phase randomization is only enabled in correlations.phase_ran(), but should be available to other methods.

Describe the solution you'd like

  • expose ARIMA parameters at API level
  • Enable phase randomization in Surrogates
  • Have all MC-based methods use the Surrogates class, not just PSD and wavelets.

Describe alternatives you've considered
Live the rest of my life with an imperfect codebase, moaning in frustration every chance I get.

@CommonClimate
Copy link
Collaborator Author

CommonClimate commented Feb 16, 2024

To do:

  • move phaseran() to tsutils
  • enable `phaseran() for surrogates
  • reform series.correlation() to work like Coherence.signif_test()
  • modify correlation unit tests to account for new methods
  • same for causality [WON'T FIX]
  • enable fBm and power law Surrogates (use tsmodel.parametric_surrogates)
  • write unit tests
  • implement Surrogates for Coherence objects
  • implement Surrogates for Scalograms objects
  • Remove stochastic dependency

@CommonClimate
Copy link
Collaborator Author

scalograms and a bunch of unit tests introduced in #534

@CommonClimate
Copy link
Collaborator Author

Updated in #537

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Projects
Development

Successfully merging a pull request may close this issue.

2 participants