Amplitude adjusted Fourier (AAFT)

Amplitude adjusted Fourier transform surrogates

Different variants of the AAFT and iterated AAFT algorithms.

Amplitude adjusted Fourier transform (AAFT)

aaft(ts)

Generate a realization of an amplitude adjusted Fourier transform (AAFT) surrogate [1].

ts Is the time series for which to generate an AAFT surrogate realization.

Literature references

  1. J. Theiler et al., Physica D 58 (1992) 77-94 (1992).

source

Example of AAFT

using TimeseriesSurrogates
ts = AR1() # create a realization of a random AR(1) process
surrogate = aaft(ts)

surrplot(ts, surrogate)
0100200300400500-2024Time stepValue5101520250.000.250.500.751.00LagAutocorrelation0.00.10.20.30.40.5051015Binned frequencyPower-2.50.02.55.0020406080Binned valueFrequencyOriginalSurrogate

Iterated AAFT (AAFT)

iaaft(ts; [n_maxiter = 200, tol = 1e-6, n_window = 50 ])

Generate an iteratively adjusted amplitude adjusted Fourier transform (IAAFT) [1] surrogate realization of ts.

Keywords

ts is the time series for which to generate an AAFT surrogate realization.

n_maxiter sets the maximum number of iterations to allow before ending the algorithm (if convergence is slow).

tol is the relative tolerance for deciding if convergence is achieved.

n_window is the number is windows used when binning the periodogram (used for determining convergence).

Literature references

  1. T. Schreiber; A. Schmitz (1996). "Improved Surrogate Data for Nonlinearity Tests". Phys. Rev. Lett. 77 (4): 635–638. doi:10.1103/PhysRevLett.77.635. PMID 10062864.

source

The IAAFT surrogates add an iterative step to the AAFT algorithm improve convergence.

Example of IAAFT

using TimeseriesSurrogates
ts = AR1() # create a realization of a random AR(1) process
surrogate = iaaft(ts)

surrplot(ts, surrogate)
0100200300400500-3-2-10123Time stepValue5101520250.000.250.500.751.00LagAutocorrelation0.00.10.20.30.40.51234567Binned frequencyPower-3-2-101230255075100Binned valueFrequencyOriginalSurrogate