fast.rqa {Chaos01}R Documentation

Function to compute diagonal RQA measures for given time series

Description

This function computes results of the RQA from the numeric vector (time series).

Usage

fast.rqa(TS, dim = 2, lag = 1, eps, theta = 1, lmin = 3,
  include.TS = FALSE)

Arguments

TS

the input vector, This should be a numeric vector. (e.g. ts object is also accepted)

dim

integer, embedding dimension. See details for more information. Default is 2.

lag

integer, embedding lag/delay. See details for more information. Default is 1.

eps

double, threshold/neighbourhood size.

theta

integer, Theiler window, number of diagonal lines which should be skipped from the main diagonal.

  • 0 - include main diagonal/LOS into computation

  • 1 - do not include main diagonal.

  • 2 - skip main diagonal and 1 diagonal closest to main diagonal.

  • 3 - etc.

Default is 1.

lmin

integer, minimal length of line to be considered for recurrence line. Default is 3

include.TS

logical, if TRUE input time series will be added to the list of outputs. Default is FALSE.

Details

RQA analysis tool is included in this package because '0-1 test for chaos' can determine whether the dynamics of the system is chaotic or regular, but cannot distinguish between chaotic and random dynamics.

It should be possible to determine whether the system si deterministic or not based on the evolution of RQA measure with increasing thresholds 'eps'. For this it is necessary to compute RQA many times and therefore this fast version of RQA computation is provided. To further improve workflow in examining the system rqa.seq is provided to compute RQA for sequence of 'eps' values and resulting object can be easily visualized by the plot function.

This version of RQA is based on the optimized algorithms for RQA computation given at https://code.it4i.cz/ADAS/RQA_HPC. Main difference is in reduction of the memory complexity by not storing histogram. Due to this Shannon entropy is not computed, but the algorithm is faster. Additionally, distance metric is set to the maximum distance. This is due to the fact, that for eps = diff(range(TS)), all the points will be counted as the recurrences. This fact is used when studying the characteristics of the time series dependent on the 'eps' value using the rqa.seq function.

Usually, RQA is computed from a state-space reconstruction of the dynamical system. In this case Takens embedding is used [3]. It is necessary to set two parameters for Takens embedding: embeding dimension and delay time. If You have no prior knowledge about the system, it is possible to estimate best values for these parameters according to the first minimal value of the mutual information of the time series and the minimal value of the false nearest neighbour algorithm. These routines can be found in e.g. 'nonlinearTseries' package and 'fNonlinear' package.

There are other ways how to test whether the data have non-linear characteristics, have stochastic nature, or are just colored noise. To this end You can use tests included in 'nonlinearTseries' package or 'fNonlinear' package. 'nonlinearTseries' package also include RQA function, which stores more results, but are significantly slower and memory expensive, especially for the longer time series. Similar test could be found in other packages focused on nonlinear time series analysis.

Value

Returns "chaos01.rqa" object (to differentiate from the 'rqa' object given by the 'nonlinearTseries' package), which contains list of RQA results and list of settings. Additionaly, if include.TS = TRUE, it adds input time series to the end of the list.

References

[1] Marwan; M. C. Romano; M. Thiel; J. Kurths (2007). "Recurrence Plots for the Analysis of Complex Systems". Physics Reports. 438 (5-6): 237. Bibcode:2007PhR...438..237M. doi:10.1016/j.physrep.2006.11.001.

[2] Zbilut, J.; Webber C., L. (2006). "Recurrence Quantification Analysis". Wiley Encylopedia of Biomedical Engineering, SN: 9780471740360, doi: 10.1002/9780471740360.ebs1355

[3] F. Takens (1981). "Detecting strange attractors in turbulence". In D. A. Rand and L.-S. Young. Dynamical Systems and Turbulence, Lecture Notes in Mathematics, vol. 898. Springer-Verlag. pp. 366–381.

See Also

rqa.seq, plot.chaos01.rqa.sequence, summary.chaos01.rqa

Examples

vec.x <- gen.logistic(mu = 3.55, iter = 2000)

res <- fast.rqa(vec.x, dim = 3, lag = 10, eps = 0.3)
summary(res)

[Package Chaos01 version 1.2.1 Index]