Rainer Hegger |
Holger Kantz |
Thomas Schreiber |

Part III: Time and length scales, structure, Poincare-maps, and surrogates

Download and use alternatingly the data sets

- For all data which you use for the first time:

look at the time series (amount of data, obvious artefacts, typical time scales, qualitative behaviour on short times),

compute the distribution (histogram),

compute the auto-correlation function ( corr).

- Compute recurrence plots using recurr
(be careful with the -l and the -r option).

- study stationarity of arch.dat
using the meta-recurrence
plot nstat_z .

A reasonable choice of parameters is:

nstat_z arch.dat -d4 -m3 -#10 -o

Plot it in gnuplot using

set contour base

splot 'arch.dat.nsz' with lines .

- Recall typical times present in the auto-correlation functions,
i.e., first zero crossing, exponential decay of an envelope.

- Study 2-dimensional delay embeddings and determine reasonable lags.

- Compute the space-time separation plots using stp .

Notice: Here you have to supply the -m and -d options to specify the embedding space.

When you want to cover a large relative time interval (e.g., -t500 ), it can be reasonable to reduce the resolution in time (e.g., -#4 ). What is your conclusion from that about suitable Theiler-windows for each data set?

Create different map-like series of amplitude.dat.

- Using poincare, find a
reasonable location of the surface of section by maximizing both the
variance of the resulting data and the number of intersection points.
Shift the location of the Poincaré-plane by -a#
and flip the direction of intersection by the -C option.

Example: poincare amplitude.dat -d8 -C1 | histogram -b0

When you have optimized the variance, store the output by use of the -o option and plot

plot '< delay -d8 amplitude.dat' w li,'amplitude.dat.poin' u 1:(0)

The latter allows you to control that the surface of section is meaningful (in the plot command of the Poincaré-data, one has to replace "0" by the number given in the -a option of poincare).**The number of intersections of this data set is 150**, for both directions of intersection.

- Using extrema , the result is
independent of any embedding space. Use -z
to collect minima instead of maxima and use -t#
to suppress spurious extrema due to noise on the data.

Example: extrema amplitude.dat -z -o min.dat

You should find 152 maxima and 151 minima (Notice that there is one spurious of each due to noise. It can be identified in the 2-d embedding space of these data and by an unusually small time interval in between two maxima or minima, respectively. Use the -t# option to remove them.).

- Study 2-dimensional embeddings of all of the resulting time
series.

Plot the resulting data as a return map: Since Poincaré data are map data, time lag 1 is the natural choice.

plot '< delay max.dat','< delay min.dat','< delay amplitude.dat.poin'

In this particular case, the minima are almost identical to the points identified by poincare with -C0. Reason: Each sinlge revolution on the attractor is so close to harmonic, that the optimal lag of 8 is a kind of embedding of the signal and its temporal derivative. With -C1 -a-1 the resulting poincare-data are almost identical to the maxima. For a pure sine, this should be exactly true for the optimal time lag. All data sets have about the same variance.

- Embed the sequences of time intervals in between intersections
(second column of each of the output files).

plot '< delay -c2 min.dat'

Result: also these form a reasonable attractor, since these time intervals are also valid observables in the spirit of the embedding theorem. One can also use the bivariate time series of time interval values and intersection points as coordinates.

- Store the most suitable time series (best signal-to-noise ratio)
for further use in Exercise 4 (our suggestion: max.dat).

Determine the nature of the data set whatisit.dat! Does it represent low-dimensional chaos?

- Find a reasonable time lag d
from the auto-correlation function corr.

- What tells the 2-dimensional delay-embedding plot?

- Compute the histogram in the gnuplot window,

plot '< histogram whatisit.dat' w his

- Compare the linear and nonlinear predictability using
ll-ar :

ll-ar whatisit.dat -d10 -m3 -i2000 -s1 -o

Can you interprete the result? The answer

- Create surrogates:

Create a random shuffling of the data (conserving the distribution but not the temporal correlations) using surrogates by

surrogates whatisit.dat -i0 -o shuffle.dat

Check: plot '< histogram shuffle.dat' w his,'< histogram whatisit.dat' w his

Check furthermore: The autocorrelation function of these surrogates decays instantaneously ( plot '< corr shuffle.dat -D500').

Create phase randomized surrogates (i.e. conserving the linear correlations but destroying the distribution) by

surrogates whatisit.dat -i0 -S -o phaseran.dat.

(check: plot '< corr phaseran.dat -D500','< corr whatisit.dat -D500' and cross-check for the destruction of the distribution)

Compare the original data and these two surrogates by visual inspection in the time domain and in a 2-dimensional delay embedding.

**Result:**The data are definitely different from these two types of surrogates!

- Create optimal surrogates by

surrogates whatisit.dat -o optimal.dat,

and check again for distribution and auto-correlation function in comparison to the original data:

plot '< corr optimal.dat -D500','< corr whatisit.dat -D500'

plot '< histogram optimal.dat' w his,'< histogram whatisit.dat' w his.

If you do not find the curve for the first histogram, try plot '< histogram optimal.dat' w his,'< histogram whatisit.dat' u 1:($2+.001) w his

Compare the two data sets in the time domain and in a two-dimensional time delay embedding.

Compare the two data sets by their predictability. (Notice that for a real surrogate data test you always have to create an ensemble of data sets, such as for a one-sided test with 5% confidence 19 surrogates).

Use again ll-ar to study both linear and nonlinear predictability with the same parameters as before:

ll-ar optimal.dat -d10 -m3 -i2000 -s1 -o,

and compare the results:

set data style linespoints

plot 'whatisit.dat.ll', 'whatisit.dat.ll' u 1:3,'optimal.dat.ll', 'optimal.dat.ll' u 1:3

Result: the results are in rather good agreement with each other. Thus the hypothesis that whatisit.dat is the nonlinear transformation of a linear stochastic process cannot be rejected.

In fact, the data are nonlinearly transformed AR-data. The transformation reads y=atan(x/80.).