Local-Global Lyapunov Spectrum Estimation

Share:

Description

Estimates the local Lyapunov exponents over a range of user supplied scales and dimensions. The local Lyapunov spectrum is calculated as follows:

1

A delayed embedding of the input time series is formed.

2

For each global reference point (specified by an intger index in the reference matrix) a local Lyapunov spectrum is calculated, one exponent for each dimension from 1 to local.dimension and for each (integer) scale specified by the scale vector. As the scales grow larger, the Lyapunov exponent estimates tend toward asymptotic values corresponding to the global Lyapunov exponents. The details of how each local spectrum is estimated is given below.

3

The local spectra are then averaged over each global reference point to stabilize the results.

Each local spectrum is obtained by estimating the eigenvalues of the so-called Oseledec matrix, which is formed through a matrix product of successive local Jacobians with the transpose of the Jacobians. The number of Jacobians in the product is equivalent to the scale. Each Jacobian is formed by fitting a local neighborhood of points (relative to a some reference point) with a multidimensional polynomial of order polynomial.order. The number of neighbors found for each reference point in the embedding is chosen to be twice the polynomial order for numerical stability. To further stabilize the results, a local Lyapunov spectrum is formed for each local reference point.

Usage

1
2
3
lyapunov(x, tlag=NULL, dimension=5, local.dimension=3,
    reference=NULL, n.reference=NULL, olag=2,
    sampling.interval=NULL, polynomial.order=3, metric=Inf, scale=NULL)

Arguments

x

a vector containing a uniformly-sampled real-valued time series.

dimension

an integer representing the embedding dimension. Default: 5.

local.dimension

an integer representing the dimension (number of) local Lyapunov exponents to estimate. This value must be less than or equal to the embedding dimension. Default: 3.

metric

the metric used to define the distance between points in the embedding. Choices are limited to 1, 2, or Inf which represent an L1, L2, and L-inf norm, respectively. Default: Inf.

n.reference

the number of neighbors to use in in developing the kd-tree (used as a quick means of finding nearest neighbors in the phase space). These neighbors are collected relative to the reference points. This value must be greater than 10. Default: min(as.integer(round(length(x)/20)), 100).

olag

the number of points along the trajectory of the current point that must be exceeded in order for another point in the phase space to be considered a neighbor candidate. This argument is used to help attenuate temporal correlation in the the embedding which can lead to spuriously low correlation dimension estimates. The orbital lag must be positive or zero. Default: length(x)/10 or 500, whichever is smaller.

polynomial.order

the order of the polynomial to use in fitting data around reference points in the phase space. This poloynomial fit will be used to form the Jacobians which are in turn used to calcualte the Lypaunov exponents. Default: 3.

reference

a vector of integers representing the indices of global reference points to use in estimating the local Lyapunov spectrum. A local spectrum is estimated around each global reference point, and all the local spectra are then averaged to stabilize the results. These global reference points should be chosen such that they are far apart in time. Default: Five indices uniformly distributed on the interval [1,M], where M = Ne - max(scale) - n.reference - 2 and Ne is the number of embedding points.

sampling.interval

a numeric value representing the interval between samples in the input time series. Default: deltat(x).

scale

a vector of integers defining the scales over which the local Lyapunov exponents are to be estimated. As this scale increases, one expects the local Lyapunov exponent estimates to converge towards the global estimates. All scales must be greater than one. Default: as.integer(2^(seq(min(floor(logb(scale.max,2)) - 2 , 10)) - 1)) where scale.max = Ne - 2 - n.reference.

tlag

the time delay between coordinates. Default: the decorrelation time of the autocorrelation function.

Value

an object of class FNN.

S3 METHODS

plot

plots a summary of the results. Available options are:

...

Additional plot arguments (set internally by the par function).

print

prints a summary of the results. Available options are:

...

Additional print arguments used by the standard print function.

summary

summarizes the results.

References

P. Bryant, R. Brown, and H.D.I. Abarbanel (1990), Lyapunov exponents from observed time series, Physical Review Letters, 65(13), 1523–1526.

H.D.I. Abarbanel, R. Brown, J.J. Sidorowich, and L. Tsimring (1993), The analysis of observed chaotic data in physical systems, Reviews of Modern Physics, 65(4), 1331–1392.

See Also

embedSeries, infoDim, corrDim, timeLag, FNN.

Examples

 1
 2
 3
 4
 5
 6
 7
 8
 9
10
11
12
## Calculate the local Lyapunov spectrum for the 
## beamchaos series 
z <- lyapunov(beamchaos)

## print the results 
print(z)

## summarize the results 
summary(z)

## plot the results 
plot(z)

Want to suggest features or report bugs for rdrr.io? Use the GitHub issue tracker.