General constrained randomization:
Nonlinearity test for event time series

There are two specific calling sequence to generate surrogates with the same inter-event interval correlations (or spectrum) and the same distribution of inter-event intervals as the data. The corresponding null hypothesis is that all the serial correlations in the data are represented by the autocorrelation function (resp. the power spectrum) and the histogram of inter-event intervals. For the definition of the inter-event interval autocorrelation function (resp. the power spectrum) see spikeauto (resp. spikespec).

Spike train autocorrelations

The recommended calling sequence uses the inter-event time autocorelation function, binned to a given resolution and computed up to a given lag:

randomize_spikeauto_exp_random -d# -D# [-i -W#]
    [-n# -u# -I# -o
outfile -l# -x# -c# -V# -h -T# -a# -S# -s# -z# -C#] file


-d time span of one bin
-D total time spanned
-i expect intervals rather than times
-W type of average: 0=max(c), 1=|c|/lag, 2=(c/lag)**2 (default 0)
-n number of surrogates (default 1)
-u improvement factor before write (default 0.9 = if 10% better)
-I seed for random numbers (0)
-l maximal number of points to be processed (default all)
-x number of values to be skipped (0)
-c column to be read (1 or file,#)
-o output file name, just -o means file_rnd(_nnn)
-V verbosity level (0 = only fatal errors)
-h show usage message
-T initial temperature (default: automatic melting)
-a cooling factor (default automatic)
-S total steps before cooling (default 20000)
-s successful steps before cooling (default 2000)
-z minimal successful steps (default 200)
-C goal value of cost function (default zero)

verbosity level (add what you want):

1 = input/output
2 = current value of cost function upon printable improvement
4 = cost mismatch
8 = temperature etc. at cooling
16 = verbose cost if improved
32 = verbose cost mismatch

Spike train spectra

Alternatively (usually much slower), the inter-event power spectrum can be requested at a given range of frequencies:

randomize_spikespec_exp_event [-F# -## -i -W#]
    [-n# -u# -I# -o
outfile -l# -x# -c# -V# -h -T# -a# -S# -s# -z# -C#] file


-F maximal frequency (2*l / total time)
-# number of frequencies (F* total time /2)
-i expect intervals rather than times
-W type of average: 0=max(s) 1=|s|/f 2=(s/f)**2 3=|s| (default 0)
-n number of surrogates (default 1)
-u improvement factor before write (default 0.9 = if 10% better)
-I seed for random numbers (0)
-l maximal number of points to be processed (default all)
-x number of values to be skipped (0)
-c column to be read (1 or file,#)
-o output file name, just -o means file_rnd(_nnn)
-V verbosity level (0 = only fatal errors)
-h show usage message
-T initial temperature (default: automatic melting)
-a cooling factor (default automatic)
-S total steps before cooling (default 20000)
-s successful steps before cooling (default 2000)
-z minimal successful steps (default 200)
-C goal value of cost function (default zero)

verbosity level (add what you want):

1 = input/output
2 = current value of cost function upon printable improvement
4 = cost mismatch
8 = temperature etc. at cooling
16 = verbose cost if improved
32 = verbose cost mismatch

Note: if neither -a nor -C are given, the annealing will keep starting over with slower cooling rates. This may be necessary if good guesses are not available but of course, multiple surrogates will have to be made by further separate calls.

Constrained Randomization * Table of Contents * TISEAN home