Chaotic Data: Correlation Dimension

Initializing live version
Download to Desktop

Requires a Wolfram Notebook System

Interact on desktop, mobile and cloud with the free Wolfram Player or other Wolfram Language products.

This Demonstration shows how to infer the so-called correlation dimension for four chaotic datasets (each of length 4000). The data is derived from the logistic, Hénon and Lorenz models and NMR laser data. The log-log figure on the left contains the so-called correlation sums for some embedding dimensions (as functions of a distance ). They are calculated at discrete points, which are connected with lines. (The correlation sums were calculated outside of this Demonstration because the computation takes too long; for these computations, see "Analysis of Chaotic Data with Mathematica" in the Related Links.)

[more]

From this figure we first search for a so-called scaling region where the correlation sums develop approximately linearly, with approximately the same slope for several values of . To help see this, we show the two blue vertical lines. A linear fit is calculated to the values of the correlation sum in between the vertical lines (endpoints included) for each . The slopes of these lines are shown in the right-hand plot for each value of . If, for some scaling region, we get slopes that are approximately constant for several values of , this constant is an estimate of the correlation dimension. We mark these slopes with the two purple vertical lines. The figure then shows the average slope between these lines (endpoints included); this average is an estimate of the so-called correlation dimension. The red line can be used to check the constancy of the selected slopes.

[less]

Contributed by: Heikki Ruskeepää (April 2017)
Open content licensed under CC BY-NC-SA


Snapshots


Details

Snapshot 1: Logistic data. The figure on the left shows a scaling region between the eleventh and thirteenth values of . The slopes of the linear fits for the points between the two blue lines are given in the figure on the right. There, we can see that the slope approaches a value of approximately 0.997 when the embedding dimension increases from 1 to 7 and remains approximately the same for . Thus, the value 0.997 seems to be a saturating value. This is our estimate of the correlation dimension. The correlation dimension of the logistic model is [1, p. 417]; our estimate is close to the actual value. Sprott [1] also mentions that the correlation dimension converges slowly for the logistic model.

Snapshot 2: Hénon data. A scaling region seems to be between the eighth and twentieth values of . The slopes of linear fits of these points are approximately constant for . The average of these slopes, 1.218, is the estimate of the correlation dimension. The correlation dimension of the Hénon model is [1, p. 422]; that is, the correlation exponent is in the interval . Our estimate of 1.218 is inside this interval.

Snapshot 3: Lorenz data. A scaling region seems to be between the eighth and nineteenth values of . The slopes of linear fits of these points are approximately constant for . The average of these slopes, 2.021, is the estimate of the correlation dimension. The correlation dimension of the original continuous Lorenz system is [1, p. 431]; that is, the correlation dimension is in the interval . Our estimate 2.021 of the correlation dimension based on the sampled Lorenz system is inside this interval.

Snapshot 4: NMR laser data. A scaling region seems to be between the sixth and thirteenth values of . The slopes of linear fits of these points are approximately constant for . The average of these slopes, 1.441, is the estimate of the correlation dimension.

These four settings are set as bookmarks in the "Bookmarks/Autorun" menu.

Correlation Dimension

The correlation dimension is a generalization of the usual integer-valued dimension. It gives a fractional dimension for the strange attractor. For nonchaotic data, the correlation dimension is the same as the usual dimension.

The correlation dimension can be estimated with the method of correlation exponent, as follows. Prepare the -dimensional delay coordinates . Let be the number of the delayed points . Define the number of pairs , , whose distance is smaller than . Then define to be the corresponding relative frequency:

.

Thus, , also called the correlation sum, represents the probability that a randomly chosen pair of points in the reconstructed phase space will be less than a distance apart. The correlation exponent is the slope of versus . To estimate the correlation dimension, we estimate the correlation exponent for increasing . If the correlation exponent saturates with increasing , the system is considered to be chaotic, and the saturation value is called the correlation dimension of the attractor.

Program for Correlation Sums

The correlation sums were calculated outside of this Demonstration. They can be calculated with the following program:

correlationSum[data_, τ_, mMax_, minΔt_Integer?(# >= 1 &), minExp_, maxExp_, nExp_] := Table[Module[{emb, nn, ed, bin, di}, emb = ParallelTable[Take[data, {i, i + τ (m - 1), τ}], {i, Length[data] - τ (m - 1)}]; nn = Length[emb]; ed = Flatten[ParallelTable[di = emb[[i]]; EuclideanDistance[di, #] & /@ Take[emb, {i + minΔt, nn}], {i, nn - minΔt}]]; bin = N@Binomial[nn - minΔt + 1, 2]; {10.^#, Total[UnitStep[(10.^#) - ed]]/bin} & /@ Range[minExp, maxExp, (maxExp - minExp)/(nExp - 1)]], {m, mMax}]

Here are the appropriate commands to calculate the correlation sums for the four datasets:

logistic = correlationSum[data, 1, 15, 20, -3.3, 0.3, 25]

Henon = correlationSum[data, 1, 15, 30, -3, 0.8, 25]

Lorenz = correlationSum[data, 16, 25, 600, 0, 1.8, 25]

NMRLaser= correlationSum[data, 1, 10, 200, 2, 4.2, 25]

A typical computing time is approximately two minutes.

We used the same four datasets (each containing 4000 values) as in "Chaotic Data: Delay Time and Embedding Dimension"; see Related Links. For each dataset, we also used here the value of the delay time that we obtained in that Demonstration (these delay times are 1, 1, 16, and 1 for the four datasets, respectively).

Related Works

For details and other references, see Analysis of Chaotic Data with Mathematica. In that work, we estimate the delay time, embedding dimension, maximal Lyapunov exponent and also consider prediction.

In the Demonstration Chaotic Data: Delay Time and Embedding Dimension, we estimate the delay time and embedding dimension for the same four datasets. In the Demonstration Chaotic Data: Maximal Lyapunov Exponent, we estimate the maximal Lyapunov exponent.

Reference

[1] J. C. Sprott, Chaos and Time-Series Analysis, Oxford, UK: Oxford University Press, 2003.



Feedback (field required)
Email (field required) Name
Occupation Organization
Note: Your message & contact information may be shared with the author of any specific Demonstration for which you give feedback.
Send