Estimates the local Lyapunov exponents over a range of user supplied scales and dimensions. The local Lyapunov spectrum is calculated as follows:
A delayed embedding of the input time series is formed.
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.
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.
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)
a vector containing a uniformly-sampled real-valued time series.
an integer representing the embedding dimension. Default: 5
.
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
.
the metric used to define the distance between
points in the embedding. Choices are limited to 1
, 2
, or
Inf
which represent an \(L_1\), \(L_2\), and
\(L_\infty\) norm, respectively. Default: Inf
.
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)
.
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.
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
.
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.
a numeric value representing the interval
between samples in the input time series. Default: deltat(x)
.
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\(\mbox{\textasciicircum}\)(seq(min(floor(logb(scale.max,2)) - 2 , 10)) - 1))
where scale.max = Ne - 2 - n.reference
.
the time delay between coordinates. Default: the decorrelation time of the autocorrelation function.
an object of class FNN
.
plots a summary of the results. Available options are:
Additional plot arguments (set internally by the par
function).
prints a summary of the results. Available options are:
Additional print arguments used by the standard print
function.
summarizes the results.
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.
embedSeries
, infoDim
, corrDim
, timeLag
, FNN
.
# NOT RUN {
## 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)
# }
Run the code above in your browser using DataLab