TISEAN 2.1: Table of Contents
A few routines are provided to generate test data from simple
equations. Since there are powerfull packages (for example Dynamics by Helena Nusse and Jim
Yorke) that can generate chaotic data,
we have only included a minimal selection here.
This section contains some rather basic implementations of linear time series
methods which are there just for convenience. If you want to embark seriously
on linear or spectral analysis of your data, you will have to use any one of
the statistical or mathematics packages around. Please, don't judge us by the
level of sophistication in this section!
Here are some tools for the pre-processing of data which save you the truble of
writing your own five-line Perl, awk, FORTRAN or C programs.
This section contains two important tools for the visualization of time series
properties and another stationarity test as proposed by Schreiber. The recurrence plot
and the space time separation plot are of great value for the detection of
nonstationarity, selection of relevant time scales, selection of stationary
episodes and so forth.
There is a short corresponding section in the
introduction paper.
Since the concept of phase space is at the heart of all the nonlinear
methods in this package, phase space reconstruction plays an important role.
Although delay and other embeddings are used inside most of the other programs,
it is important to have these techniques also for data viewing, selection of
parameters, etc. For delay embeddings, use
delay. For principal components,
svd and
pc do almost the same thing.
Phase space reconstruction is discussed also in the
the introduction paper.
A number of phase space based prediction techniques are implemented in TISEAN.
They differ in the way in which the dynamics is approximated. The very similar
programs zeroth and
predict use locally constant fits.
This is the most robust approach for short, noisy signals, easy handling and
quick answers. Further, local linear models, radial basis functions, and
polynomial fits are provided.
For a discussion of these methods and examples see the corresponding section of
the introduction paper.
This is how the three of us got into this business. Since spectral filters are
problematic with chaotic, broad band signals, new techniques were necessary.
All the implementations here use phase space projections for noise reduction.
The programs nrlazy and
lazy use locally
constant approximations of the dynamics. Rainers
nrlazy
corrects the whole embedding vector, while Thomas'
lazy corrects only the center point.
We haven't quite resolved yet which is preferable.
The two routines
ghkss and
project implement locally linear
projections (very similar).
Finally, for testing purposes you may want to add noise to data and compare
the outcome of your cleaning attempts with the true signal.
The introduction paper has a section on
nonlinear noise reduction, too.
If you are looking for a program that reads your signal and issues a number
that says "correlation dimension", you got yourself the wrong package. We
think you are still better off than getting such a wrong answer. The programs
in this section carry out the calculations necessary to detect scaling and self
similarity in a fractal attractor. You will have to establish scaling and
eventually, in favourable cases, extract the dimension or entropy by careful
evaluation of the data produced by these programs.
There are two alternative implementations of the Grassbeger-Procaccia
correlation integral in this package. The program
d2 by Rainer Hegger to our knowledge
is the fastest and most reliable implementation that is currently available.
It can also handle multivariate data and mixed embeddings.
For the very conservative, there is a slow but simple alternative
called c2naive that works on scalar data
only. Post-processing can be performed on the output in order to obtain
Takens' estimator or the Gaussian kernel correlation integral, or just for
smoothing.
A fixed mass algorithm for the information dimension D1 is available which also
can handle multivariate data and mixed embeddings,
and a box-counting implementation of the order Q Renyi entropies for
multifractal studies.
You may want to consult the introduction
paper
for initial material on dimension estimation. If you are serious, you will need
to study some of the literature cited there as well.
Lyapunov exponents are an important means of quantification for unstable
systems. They are however difficult to estimate from a time series.
Unless low dimensional, high quality data is at hand, one should not attempt to
calculate the full spectrum. Try to compute the maximal exponent first.
The two implementations differ slightly.
While lyap_k implements the formula by
Kantz,
lyap_r uses that by
Rosenstein et al.
which differs only in the definition of the neighbourhoods.
We recommend to use the former version,
lyap_k.
The estimation of Lyapunov exponents is also discussed in the
introduction paper. A recent addition is a
programm to compute finite time exponents which are not invariant but contain
additional information.
Before attempting any sophisticated nonlinear time series analysis, one should
try to establish that nonlinearity is indeed present. The most suitable method
for this is the approach of surrogate data. We present two schemes for the
generation of surrogate time series, one using iterative adjustments of
spectrum and distribution, and a very general framework for constrained
randomization that is based on combinatorial minimization of a cost function.
The latter approach is more like a toolbox, a starting point for your own
ideas on suitable null hypotheses etc. A few basic discriminating statistics
are also provided.
There is a short overview page for nonlinearity tests. There is also a section
in the introduction paper.
Sequences of times of singular events (heart beats, neuronal spikes etc.),
or sequences of intervals between such events (RR-intervals etc.) require
specialised techniques, even for their linear analysis. Below find a list of
routines that may proove useful for this type of data.
TISEAN's multivariate section is still growing - like the research body in
this area. As a convention, program names for ``cross-'' quantities
computed between two signals start with x.
Those programs that can handle scalar as
well as multivariate data don't follow any name convention.
Currently, three (cross-) similarity measures are available, a linear and
two nonlinear ones. Further, there is a zeroth order predictor using
multivariate embeddings.
A few general routines that can handle multivariate data are also mentioned
below. Note in particular the multivariate surrogate data generator, the
Grassberger-Procaccia correlation sum, and the fixed mass D1 estimator.
The general convention for column selection is as follows.
Columns can be given as a comma seperated list with the option
-c#[,#] . Wherever the number of columns is
selectable, this can be done with the option -m#
or the first number in its argument. The precedence of these
settings are as follows:
-
-m overrides
-c
-
-c overrides the default
only if more columns are
specified.
Exceptions to this general convention are possible and mentioned in the
specific program descriptions.
Multivariate linear model |
ar-model |
Multivariate noise generation |
makenoise |
Linear cross-correlations |
xcor |
Extrema of a multivariate signal |
extrema |
Savitzky-Golay filter |
sav_gol |
Recurrence plot |
recurr |
Nonlinear cross-prediction |
xzero |
Cross-correlation integral |
xc2 |
Correlation integral, also for multivariate data |
d2 |
Fixed mass approach to D1, also for multivariate data |
c1 |
Lyapunov spectra |
lyap_spec |
Renyi entropies |
boxcount |
Zeroth order prediction on multivariate time series |
zeroth |
Locally linear prediction on multivariate time series |
nstep |
Compare two signals |
compare |
Choose sub-sequence or columns |
choose |
Make surrogate data, also multivariate |
surrogates |
Determine end-to-end mismatch, also multivariate |
endtoend |
Copyright © Rainer Hegger, Holger Kantz, Thomas Schreiber (1999)
TISEAN home