Last data update: 2014.03.03

R: Estimate an appropiate time lag for the Takens' vectors
CalculateTimeLagR Documentation

Estimate an appropiate time lag for the Takens' vectors

Description

Given a time series (timeSeries), an embedding dimension (m) and a time lag (timeLag), the n^{th} Takens' vector is defined as

T[n]={timeSeries[n], timeSeries[n+ timeLag],...timeSeries[n+m*timeLag]}.

This function estimates an appropiate time lag by using the autocorrelation function.

Usage

  CalculateTimeLag(HRVData, method = "first.e.decay",
    value = 1/exp(1), lagMax = NULL, doPlot = TRUE)

Arguments

HRVData

Data structure that stores the beats register and information related to it

method

The method that we shall use to estimate the time lag (see the Details section). Available methods are "first.zero", "first.e.decay", "first.minimum" and "first.value".

value

Numeric value indicating the value that the autocorrelation function must cross in order to select the time lag. It is used only with the "first.value" method.

lagMax

Maximum lag at which to calculate the acf. By default, the length of the timeSeries is used.

doPlot

Logical value. If TRUE (default value), a plot of the autocorrelation function is shown.

Details

A basic criteria for estimating a proper time lag is based on the following reasoning: if the time lag used to build the Takens' vectors is too small, the coordinates will be too highly temporally correlated and the embedding will tend to cluster around the diagonal in the phase space. If the time lag is chosen too large, the resulting coordinates may be almost uncorrelated and the resulting embedding will be very complicated. Thus, there is a wide variety of methods for estimating an appropiate time lag based on the study of the autocorrelation function of a given time series:

  • Select the time lag where the autocorrelation function decays to 0 (first.zero method).

  • Select the time lag where the autocorrelation function decays to 1/e (first.e.decay method).

  • Select the time lag where the autocorrelation function reaches its first minimum (first.minimum method).

  • Select the time lag where the autocorrelation function decays to the value specified by the user (first.value method and value parameter).

Value

The estimated time lag.

Note

If the autocorrelation function does not cross the specifiged value, an error is thrown. This may be solved by increasing the lag.max or selecting a higher value to which the autocorrelation function must decay.

This function is based on the timeLag function from the nonlinearTseries package.

Author(s)

Constantino A. Garcia

References

H. Kantz and T. Schreiber: Nonlinear Time series Analysis (Cambridge university press)

See Also

timeLag.

Results