Skip to content

Surrogate method overview

The method of surrogate data is commonly used in the analysis of dynamical systems. For an overview of surrogate methods, see the recent review by 1.

What is a surrogate realization?

A surrogate realization of a dataset is a dataset that is formed either by shuffling the values of the original dataset in a particular way. There are two main ways of creating the data: constrained realizations and typical realizations 4.

Constrained realizations

Constrained surrogate realizations are formed by shuffling the values of the input data series in a way that retains some property of the original data.

For example, random shuffle surrogates (randomshuffle) retain the histogram of the data, while AAFT surrogates (aaft) aim to preserve the periodogram of the original data series.

Typical realizations

Typical surrogate realizations are generated by first fitting a model to the input data, then generating new data from that model.

For example, random phase Fourier surrogates (randomphases) retain the amplitudes of the original data, but shuffles the phases.

Implemented algorithms

The following surrogate methods are implemented. Function documentation and basic examples are available from the menu. For more details and demonstrations, visit the TimeseriesSurrogates.jl documentation.

Algorithm Function Type Reference
Randomly shuffling the values of the dataset randomshuffle Constrained 3
Fourier transform phase surrogates randomphases Typical
Fourier transform amplitude surrogates randomamplitudes Typical
Amplitude-adjusted Fourier transform surrogates (AAFT) aaft Constrained 3
Iterated amplitude-adjusted Fourier transform surrogates (iAAFT) iaaft Constrained 2, 4

Valid inputs

Random shuffle surrogates may be generated from the following inputs:

  • AbstractArray{T, 1} instances (scalar-valued data series).
  • AbstractArray{Number, 2} instances (multivarate scalar-valued data series), for which surrogates are generated column-wise.
  • Dataset instances from DynamicalSystems.jl, for which surrogates are generated column-wise.

References


  1. Lancaster, G., Iatsenko, D., Pidde, A., Ticcinelli, V., & Stefanovska, A. (2018). Surrogate data for hypothesis testing of physical systems. Physics Reports. https://doi.org/10.1016/j.physrep.2018.06.001 

  2. Schreiber, T., & Schmitz, A. (1996). Improved surrogate data for nonlinearity tests. Physical Review Letters, 77(4), 635. https://journals.aps.org/prl/abstract/10.1103/PhysRevLett.77.635 

  3. Theiler, J., Eubank, S., Longtin, A., Galdrikian, B., & Doyne Farmer, J. (1992). Testing for nonlinearity in time series: the method of surrogate data. Physica D: Nonlinear Phenomena. https://doi.org/10.1016/0167-2789(92)90102-S 

  4. Theiler, J., & Prichard, D. (1996). Constrained-realization Monte-Carlo method for hypothesis testing. Physica D: Nonlinear Phenomena, 94(4), 221–235. https://www.sciencedirect.com/science/article/pii/0167278996000504