Recurrence Quantification Analysis

Recurrence (Quantification) Analysis (RQA) is a nonlinear data analysis technique used for studying dynamical systems. It can be applied to any time series coming from a dynamical system that repeats itself (conservative system) – most of the real-world complex phenomena fall into this category. Recurrence plot is a visual representation of a dynamical process. RQA measures quantify meaningful properties of the system (kind of organization, predictability, stability, etc.).

Recurrence analysis is intuitively simple: if we conceptualize time as 1D line, we can make a 2D pattern representing “meetings” between points in time, a “meeting” occurs when the system is in the same state for both time points. It is also well-grounded in dynamical systems theory (starting point: Poincaré recurrence theorem).

I want to learn RQA, what do I do?

  1. Visit the page: http://www.recurrence-plot.tk. It is the main source of information about the technique and has nice introductory materials.
  2. Without delving into theory, you may go through some introductory slides. Here are Rick Dale's materials.
  3. Find a software package that suits you, go through some tutorials and play with your own data.

Cross-recurrence Quantification Analysis in R tutorial

Very good, clean and efficient implementation of RQA techniques is a part of DynamicalSystems.jl package for Julia (highly recommended).

A comprehensive implementation of most standard recurrence analysis techniques and supplementary heuristics can be found in R in cRQA package. (Not so efficient for larger volumes of data.)

Demos

RQA plots online: https://hill.psych.uw.edu.pl/rqa_js/

Live RQA demo on human motion (webcam required): https://hill.psych.uw.edu.pl/frame_diff_rqa/

Who do I ask for help?