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

Powerlaw spectrum surrogates #146

Open
Datseris opened this issue Apr 6, 2023 · 3 comments
Open

Powerlaw spectrum surrogates #146

Datseris opened this issue Apr 6, 2023 · 3 comments

Comments

@Datseris
Copy link
Member

Datseris commented Apr 6, 2023

Power-law spectra, also called "1/f-noise" is a ubiquitous property of the timeseries of many real world processes. In a sense, 1/f-noise is a universality class. http://www.scholarpedia.org/article/1/f_noise

It would be a great addition to this package if we could generate timeseies surrogates with a given spectral 1/f^beta power spectrum.

The type PowerLawSpectrum can either has as input the input timeseries, in which case it deduces beta by doing a linear fit to the power spectrum, or it could have as input beta directly.

The following paper, section 2.2.1, describes how to generate power law surrogates: https://npg.copernicus.org/articles/28/311/2021/#section2

Apparently, code to generate power-law surrogates exists here: https://github.com/EarthSystemDiagnostics/paleospec

https://earthsystemdiagnostics.github.io/paleospec/reference/SimPLS.html

https://earthsystemdiagnostics.github.io/paleospec/reference/SimFromEmpiricalSpec.html

@Datseris
Copy link
Member Author

Datseris commented Apr 6, 2023

wow : https://github.com/EarthSystemDiagnostics/paleospec/blob/master/R/SimPowerlaw.R#L97-L133

haha, apparently it is trivial to do this; make the spectrum of white noise, scale it linearly, and transform back :D

I am sure we can do something more sophisticated by relating the spectrumw ith the orignal timeseries somehow.

@kahaaga
Copy link
Member

kahaaga commented Apr 7, 2023

The type PowerLawSpectrum can either has as input the input timeseries, in which case it deduces beta by doing a linear fit to the power spectrum, or it could have as input beta directly.

Do you mean a linear fit to the log transformed power spectrum, or am I missing something?

@Datseris
Copy link
Member Author

Datseris commented Apr 7, 2023

Yes.

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

No branches or pull requests

2 participants