Generate surrogate data to test EEG stationarity

Dear Colleagues,

a PhD student of my is going to analyse EEG connectivity (at sensors level for now).
I thought it could have been a useful exercise for her to assess first if the EEG data we collected are stationary. We have been finding the choice of the algorithm to be used a little challenging.
At the moment, we are inclined to think that the only multivariate surrogate data generator (phaseran) is not good enough compared to more advanced univariate once (e.g. surrogeta_AAFT).
I am interested in hearing from other people who may have more experience with generating surrogate data in the time-frequency domain (i.e. ideally preserving time, phase, amplitude relationships) regardless of linearity assumption.
Our objective is to find the best method to create surrogate data to test stationarity (and gaussianity on a second thought)

Any input really appreciated!

Best wishes,


Elia Valentini PhD, FHEA

Senior Lecturer
Environmental Rep for UCU
Department of Psychology & Centre for Brain Science
University of Essex
T +44 (0)1206 873710

Interesting question, Elia. I’ve never thought about generating surrogate data to test for stationarity. In econometrics there are a few tests of stationarity, some of which have been implemented in the Multivariate Granger Causality Toolbox.

I’m not familiar with phaseran or surrogeta_AAFT. But the first thing that comes to mind would be to take the FFT of the data, scramble all the phases (leaving the amplitudes intact), and then reconstruct the signal. That reconstructed signal will have the same power spectrum are your real data but the timing will be shuffled. My intuition is that that will be stationary.

Thanks Mike,

this was all new to me and there’s lot to read. Your comment points to a parsimonious approach.
We were also thinking of detrending the signal, regardless of this test, in order to normalise the data and improve connectivity analysis (here again consider that we are working at scalp level).