What is **Chaos Data Analyzer**?

**Chaos Data Analyzer** (**CDA** and **CDA:Pro**) are
peer-reviewed DOS programs that read a disk file of numerical data
(a time series) and perform various tests with the goal of
detecting hidden determinism (chaos) and quantifying any such
determinism that it finds. The files are standard ASCII text
either supplied by the user or one of the built-in samples. Thus **CDA**
is both a research and learning tool.

Precisely what tests can **CDA** perform?

Here's a list of the tests included in the regular version (1.0)
of **CDA**:

- Data Manipulation: Allows you to remove alternate data points, differentiate, integrate, or smooth the data prior to analysis.
- Graph of Data: Allows you to plot the data versus time or to plot each data point versus its predecessor or two predecessors.
- Probability Distribution: Produces a histogram of the data values on a linear or logarithmic scale, ranks the data from lowest to highest, and estimates the value associated with an unstable fixed point.
- Polynomial Fit: Performs a least squares fit to a polynomial of any degree from 0 to 9.
- Power Spectrum: Performs a fast Fourier transform on the data and displays the power spectrum on a linear, log-linear, or log-log scale.
- Dominant Frequencies: Uses the maximum-entropy (or all poles)
method of Press, et. al. in
*Numerical Recipes*to determine the power spectrum, identify the dominant frequency component, and make a linear prediction of the next 18 terms in the series. - Lyapunov Exponent: Calculates the largest Lyapunov exponent
using the method of Wolf, et. al. in Physica D
**16**, 285 (1985). - Capacity Dimension: Estimates the Hausdorff dimension of the time-lagged time series by the box-counting method as described in most texts on fractals.
- Correlation Dimension: Estimates the correlation dimension
using the method of Grassberger and Procaccia in Physica D
**13**, 34 (1984). - Correlation Function: Plots the autocorrelation function versus time lag.
- Correlation Matrix: Calculates the 3 largest orthogonal
eigenfunctions of the time-lagged data, displays them in various
ways, fits them to a set of model equations using the method of
Rowlands and Sprott in Physica D
**58**, 251 (1992), and solves the model equations to make a nonlinear prediction of the next 18 terms in the series. - Phase-Space Plots: Plots each data point versus its time derivative and versus its first and second time derivative.
- Return Maps: Plots the local maximum or minimum of the time series versus the previous maximum or minimum or the value of the time derivative at the time for which the time series crosses its average value.
- Poincare Movies: Plots every
*n-th*data point versus its*m-th*predecessor in an animation (stroboscopic view).

What is the difference between **CDA** and **CDA:Pro**?

A Professional Version (2.2) of **CDA** (**CDA:Pro**) is
also available. It contains about twice as many tests, including
everything that is in the regular version of **CDA**. It is
faster, will accommodate up to 32,000 data points, and includes
thirty-six additional sample data sets. A detailed
list of the differences between the two programs is
available.

Can **CDA** be used by someone who is not
mathematically inclined or familiar with the principles of chaos?

**CDA** was originally designed as a teaching and learning
tool for those who have had little experience with chaos and
nonlinear data analysis. There is an automatic mode in which
all the tests are performed sequentially and the results
summarized on a single page. However, analysis of chaotic
data is not an exact science, and users should be prepared to
devote time to developing analysis skills. The program comes
with many sample data sets and a tutorial to facilitate this
process.

Can **CDA** be used to analyze multivariate data?

**CDA** will not directly analyze data in which several
simultaneous quantities have been recorded (multivariate data).
However, if you generate a univariate time series by entering the
multivariate data sequentially, most of the tests will still work
and will reveal and quantify any underlying determinism. The
program can also read every other data point from a file, allowing
you to ignore one of two recorded variables.

In what format must the data be provided?

**CDA** expects data files to be a single series of ASCII
values delimited by a space, comma, carriage return, or line feed.
The data can be in integer, floating point, decimal, hexadecimal,
octal, or binary format. Data values should be in the range -10^{18}
to +10^{18}. If the data file is larger than can be
accommodated, the data record is truncated, and a warning message
appears. Optionally, the program allows every second, fourth,
eighth, etc. data point to be read from a time series that exceeds
the memory capacity of the program.

How many data points are required for **CDA** to
give a meaningful assessment of the data?

There is no unique answer to this question, but a good rule of
thumb is given in Tsonis'
book, *Chaos: From Theory to Application*, where he argues
that the number of required data points is approximately 10^{2
+ 0.4D}, where *D* is the minimum dimension in
which the attractor can be embedded (usually the next integer
larger than the fractal dimension of the attractor for
low-dimensional cases). Thus 16,382 data points (the maximum)
should permit the analysis of attractors that can be embedded in
up to about 5 dimensions. **CDA:Pro** with 32,000 data points
should work up to about 6 dimensions.

Is there a way to analyze more than 16,382 data points?

The regular version of the program is limited to 16,382 data
points. This is a consequence of a compiler limitation that
requires data arrays to fit into one 64 K block of memory. The
Professional Version of the program (**CDA:Pro**) allows up to
32,000 points. At this value the limit is due to the fact that DOS
programs have to fit into 640 K of memory, and **CDA** is a
large program that remains resident in memory to achieve maximum
speed. DOS programs can be made to access expanded memory, but
that would slow the calculations considerably. **CDA** does
allow you to reduce the size of your data record to a tolerable
value by successively taking alternate data points. The analysis
of very large data records would be intolerably slow in many
cases.

How long does the computer take to do the calculations?

Most of the calculations are nearly instantaneous on a modern PC. The slowest calculation is the correlation dimension, which takes about 2 minutes on a 120-MHz Pentium for a data set of 2000 points, but in that time, you get values for all embedding dimensions up to 10. The time required for the correlation dimension calculation scales as the square of the number of data points.

Can **CDA** be used to make predictions (i.e.,
the stock market)?

Making near-term predictions is one of the important applications
of **CDA**. Since chaotic systems are deterministic, such
predictions are possible in principle, even for seemingly random
data. Long-term predictions are generally not possible, however,
because of the sensitivity to initial conditions. **CDA**
includes a linear predictor based on Fourier analysis and a
nonlinear predictor based on principal-component analysis. **CDA:Pro**
has two additional predictors, one based on an artificial neural
net and one based on state-space averaging. Sample stock market
and climatological data are included for practice. Of course,
there are no guarantees of success in the stock market.

Can **CDA** be used to analyze automatically a
large collection of data files?

**CDA** can be launched by another program or even a DOS batch
file with all the necessary parameters to automate the analysis of
a collection of data files. In addition, **CDA:Pro**
allows you to save the summary screen to a disk file, which can
then be read by your calling program when **CDA** exits.
Of course, this requires you to do some programming outside of **CDA**.

Why are there differences in some of the values
calculated by **CDA** and by **CDA:Pro**?

Many of the routines such as the correlation dimension
calculation were completely rewritten in **CDA:Pro** to
improve calculation speed, to allow larger data sets, and to
prevent spurious results due to temporal correlation for
oversampled data. These changes cause slight differences to be
reported by the two programs for the same data sets. The
differences should generally be within the stated error
tolerances. If you are troubled by these differences, you are
probably ascribing more significance to the calculated values than
is warranted by your data.

Is **CDA** year 2000 compliant?

**CDA** and **CDA:Pro** are fully year 2000 compliant, and
always have been. The only use CDA makes of the date is to
display it on the opening menu screen.

Is **CDA** compatible with Windows 9x,Windows NT,
Windows 2000, Windows XP, Vista, Windows 7-10, etc.?

**CDA** and **CDA:Pro** are DOS programs and thus will run
under any operating system that supports DOS including Windows 95
and 98, Windows NT, Windows 2000, Windows XP, and Windows 7-10. If
you are using a recent version of Windows or are otherwise having
trouble accessing "full screen mode", you will need to install
D-Fend Reloaded (or another DOSBox
front end) for Windows available free at http://dfendreloaded.sourceforge.net/.

Can screens from **CDA** be printed or saved to
the clipboard?

**CDA** does not have built-in screen-print capability.
However, in many cases you can do this using the Print-Screen key
on your keyboard. This capability has become increasingly
difficult with each new Windows release. There are third-party
programs, including some freeware, that restore this capability to
Windows XP, Vista, and Windows 7 such as D-Fend Reloaded
(or another DOSBox front
end) for Windows. The screen that contains the summary of the test
results can be saved to a formatted text file on your hard disk
and read by any text editor such as Notepad or Microsoft Word.

Is there a Windows, Macintosh, Unix, etc. version of

**CDA** is only available in a DOS version, and there are no
plans to port it to other platforms. Because of the way the
program is written and optimized for speed, such a port would be
extremely difficult. The program will run on the Macintosh or
Power Mac under *SoftPC* or *SoftWindows*, although
some of the tests are slow for data sets larger than a few
thousand points.

Is the source code available for **CDA**?

**CDA** was written in PowerBASIC in order to achieve speeds
unobtainable in other languages. The code is in several dozen
modules with many special and non-obvious programming tricks. It
was never intended that the source code would be seen by anyone
but the author, and consequently it is not consistently well
structured and commented. It would be very difficult for someone
not well familiar with the code to do anything useful with it,
besides which, **CDA** is a commercial product. Consequently,
the source code has never been and probably never will be
released.

Is there a demo version of **CDA**?

A very limited demo version (1.0) of **CDA** can be
downloaded from https://sprott.physics.wisc.edu/cdadem.exe.
This program only allows you to make graphs of a single built-in
data set (2000 data points from the logistic equation). The
program has no expiration date and is intended to allow you to
examine the user interface and to verify compatibility with your
computer. The full program is not available for downloading.

Where can I find more detail about the tests used in
**CDA**?

If the information in the User's Manual is not sufficient for
you, all of the tests used in **CDA** and the theory behind
them along with references to the original literature are included
in the book Chaos
and Time-Series Analysis available from Oxford
University Press (2003) and many other sources such as Amazon.com.

How do I purchase

The program was previously distributed by Physics Academic
Software, but it is no longer available from them. However,
CDA:Pro can still be purchased directly from the author at
half price ($150) as is without written documentation or technical
support.