fractal (version 2.0-4)

timeLag: Estimate the proper time lag for single variable delay embeddings

Description

Given the time series \(X_t\), the embedding dimension \(E\), and the time lag \(\tau\), the embedding coordinates are defined as \(X_t$, $X_{t-\tau}$, $\ldots$, $X_{t - (E-1) \tau}\). This function can be used to estimate the time lag \(\tau\) using a variety of statistical methods.

Usage

timeLag(x, method="acfzero", plot.data=FALSE)

Arguments

x

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

method

character string denoting the method to use in estimating the time delay. Supported methods are:

"acfzero"

First zero crossing of the autocorrelation function.

"acfdecor"

First \(1/\exp\) of the autocorrelation function.

"acfnadir"

First nadir of the autocorrelation function.

"mutual"

First nadir of the average mutual information function.

Default: "acfzero".

plot.data

a logical value. If TRUE, a plot of the time lag selection process is displayed. Default: FALSE.

Value

an integer representing the the estimated time lag.

Details

Currently, there exists no single method which yields an optimal time lag estimation although there are some basic criteria that are used: if the lag is chosen too small, the coordinates will be too highly correlated and the embedding will cluster tightly around the diagonal in the phase space. If the lag is chosen too large, the resulting coordinates may be almost uncorrelated and the resulting embedding may become unduly complicated, even if the underlying attractor is not. The goal is to find a lag which falls in-between these scenarios.

In addition the autocorrelation-based methods this function supports an estimation method based on the time-delayed mutual infomation (TDMI), which can be thought of as a nonlinear generalization of the autocorrelation function. For a random process \(X_t\) the TDMI, \(I(\tau)\), is a measure of the information about \(X_{t+\tau}\) contained in \(X_t\). The first nadir of \(I(\tau)\) gives the delay, \(\tau_0\), such that \(X_{t+\tau_0}\) adds maximal information to that already known from \(X_t\). This \(\tau_0\) is returned as an estimate of the proper time lag for a delay embedding of the given time series.

References

Holger Kantz and Thomas Schreiber (1997), Nonlinear Time Series Analysis, Cambridge University Press.

J.B. Bassingthwaighte and L.S. Liebovitch and B.J. West (1994), Fractal Physiology, Oxford University Press, New York.

A.M. Fraser and H.L. Swinney (1986), Independent coordinates for strange attractors from mutual information, Physical Review A, 33, 1134--40.

M. Casdagli, S. Eubank, J. D. Farmer, and J. Gibson (1991), State Space Reconstruction in the Presence of Noise, Physica D, 51, 52- 98.

See Also

embedSeries, infoDim, corrDim, lyapunov, findNeighbors, KDE, determinism.

Examples

Run this code
# NOT RUN {
## estimate the proper time lag for an embedding 
## of the beamchaos data using the first zero 
## crossing of the ACF 
as.numeric(timeLag(beamchaos, method="acfzero", plot=TRUE))
# }

Run the code above in your browser using DataLab