Closed Datseris closed 4 years ago
Hi, it is active indeed! Contributions are very welcome. What did you have in mind?
I think the following would be useful:
surrogate(s, method::Surrogate)
that creates a surrogate based on given method, e.g. Shuffle
, RandomAmplitude
, RandomPhase
, AAFT
, IAAFT
, etc. It will make it more sensible to use, because changing method to generate timeseries in a for
loop means changeing a funciton argument, not the function itselfYou may also want to consider moving this to JuliaDynamics to get help from more people and more visibility.
I like the surrogate(s, method::Surrogate)
function and the associated types. Something like the following?
abstract type Surrogate end
struct Shuffle
end
function surrogate(s, method::Shuffle)
# code specific to the `Shuffle method`
end
Agreed, histograms should be semi-transparent.
I had a quick look at the papers, and both the surrogates for trended time series, and the pseudoperiodic surrogates are welcome contributions.
PPS
type for the pseudoperiodic surrogates. genembed
easily takes care of that. I suggest to have τ
(integer or set of integers) and d
(integer) as fields of the PPS
type, so that the user may decide to either use a single, fixed τ
or different τ
for each coordinate axis of the embedding. d
and τ
here if τ
are set to strings, using estimate_delay
and estimate_dimension
from DynamicalSystems (e.g. τ = "ac_zero"
uses an embedding where the embedding lag is determined by the first zero crossing of the autocorrelation function)`.From the Nakamura et al. paper, there should be two separate methods: one for the truncated Fourier transform surrogates (TFTS
) and the symmetrized version (STFTS
). I think the selected frequency domain fϵ
should be field of both these types.
Does that sound reasonable, @Datseris?
Moving the repository to JuliaDynamics is also a good idea. I'll transfer it to the organization straight away (I'm already added to the organization in the causalitytools team, right?).
good, I've given you admin rights straight away. If you don't mind I am also part of the same team, so I can branch the repo in-place. But I won't be merging anything you don't approve!
Sure, sounds good!
Hi, I'd like to do some contributions to the repo. Is it active / maintained?