Skip to content

Surrogate methods

Amplitude-adjusted Fourier transform (AAFT) surrogates

# TimeseriesSurrogates.aaftFunction.

aaft(a::AbstractArray{Number, 2}; cols = 1:size(d, 2))

Column-wise amplitude-adjusted Fourier transform (AAFT) surrogate of an array, where each column is a scalar-valued time series. cols controls which variables of the embedding are shuffled.

source

aaft(E::Embeddings.AbstractEmbedding; cols = 1:size(E.points, 1))

Column-wise amplitude-adjusted Fourier transform (AAFT) surrogate of an embedding. cols controls which variables of the embedding are shuffled.

source

aaft(d::DynamicalSystemsBase.Dataset; cols = 1:size(d, 2))

Column-wise amplitude-adjusted Fourier transform (AAFT) surrogate of a Dataset. cols controls which variables of the embedding are shuffled.

source

Example

npts = 200
ts = sin.(diff(rand(npts + 1)))*0.5 .+ cos.(LinRange(0, 14*pi, npts))
p1 = plot(ts, label = "ts", lc = :black)
p2 = plot(aaft(ts), label = "aaft(ts)", xlabel = "Time step")
plot(p1, p2, layout = (2, 1))
ylabel!("Value");