Recurrence plot

In descriptive statistics and chaos theory, a recurrence plot (RP) is a plot showing, for each moment $$i$$ in time, the times at which the state of a dynamical system returns to the previous state at $$i$$, i.e., when the phase space trajectory visits roughly the same area in the phase space as at time $$j$$. In other words, it is a plot of


 * $$\vec{x}(i)\approx \vec{x}(j),$$

showing $$i$$ on a horizontal axis and $$j$$ on a vertical axis, where $$\vec{x}$$ is the state of the system (or its phase space trajectory).

Background
Natural processes can have a distinct recurrent behaviour, e.g. periodicities (as seasonal or Milankovich cycles), but also irregular cyclicities (as El Niño Southern Oscillation, heart beat intervals). Moreover, the recurrence of states, in the meaning that states are again arbitrarily close after some time of divergence, is a fundamental property of deterministic dynamical systems and is typical for nonlinear or chaotic systems (cf. Poincaré recurrence theorem). The recurrence of states in nature has been known for a long time and has also been discussed in early work (e.g. Henri Poincaré 1890).

Detailed description
One way to visualize the recurring nature of states by their trajectory through a phase space is the recurrence plot, introduced by Eckmann et al. (1987). Often, the phase space does not have a low enough dimension (two or three) to be pictured, since higher-dimensional phase spaces can only be visualized by projection into the two or three-dimensional sub-spaces. However, making a recurrence plot enables us to investigate certain aspects of the m-dimensional phase space trajectory through a two-dimensional representation.

At a recurrence the trajectory returns to a location (state) in phase space it has visited before up to a small error $$\varepsilon$$. The recurrence plot represents the collection of pairs of times such recurrences, i.e., the set of $$(i,j)$$ with $$\vec{x}(i) \approx \vec{x}(j)$$, with $$i$$ and $$j$$ discrete points of time and $$\vec{x}(i$$ the state of the system at time $$i$$ (location of the trajectory at time $$i$$). Mathematically, this can be expressed by the binary recurrence matrix


 * $$R(i,j) = \begin{cases} 1 &\text{if} \quad \| \vec{x}(i) - \vec{x}(j)\| \le \varepsilon \\ 0 & \text{otherwise}, \end{cases}$$

where $$\| \cdot \|$$ is a norm and $$\varepsilon$$ the recurrence threshold. The recurrence plot visualises $$\mathbf{R}$$ with coloured (mostly black) dot at coordinates $$(i,j)$$ if $$R(i,j)=1$$, with time at the $$x$$- and $$y$$-axes.

If only a time series is available, the phase space can be reconstructed, e.g., by using a time delay embedding (see Takens' theorem):


 * $$\vec{x}(i) = (u(i), u(i+\tau), \ldots, u(i+\tau(m-1)),$$

where $$u(i)$$ is the time series, $$m$$ the embedding dimension and $$\tau$$ the time delay. Phase space reconstruction is not essential part of the recurrence plot (although often stated in literature), because it is based on phase space trajectories which could be derived from the system's variables directly (e.g., from the three variables of the Lorenz system).

The visual appearance of a recurrence plot gives hints about the dynamics of the system. Caused by characteristic behaviour of the phase space trajectory, a recurrence plot contains typical small-scale structures, as single dots, diagonal lines and vertical/horizontal lines (or a mixture of the latter, which combines to extended clusters). The large-scale structure, also called texture, can be visually characterised by homogenous, periodic, drift or disrupted. For example, the plot can show if the trajectory is strictly periodic with period $$T$$, then all such pairs of times will be separated by a multiple of $$T$$ and visible as diagonal lines.



The small-scale structures in RPs are used by the recurrence quantification analysis (Zbilut & Webber 1992; Marwan et al. 2002). This quantification allows us to describe the RPs in a quantitative way and to study transitions or nonlinear parameters of the system. In contrast to the heuristic approach of the recurrence quantification analysis, which depends on the choice of the embedding parameters, some dynamical invariants as correlation dimension, K2 entropy or mutual information, which are independent on the embedding, can also be derived from recurrence plots. The base for these dynamical invariants are the recurrence rate and the distribution of the lengths of the diagonal lines.

Close returns plots are similar to recurrence plots. The difference is that the relative time between recurrences is used for the $$y$$-axis (instead of absolute time).

The main advantage of recurrence plots is that they provide useful information even for short and non-stationary data, where other methods fail.

Extensions
Multivariate extensions of recurrence plots were developed as cross recurrence plots and joint recurrence plots.

Cross recurrence plots consider the phase space trajectories of two different systems in the same phase space (Marwan & Kurths 2002):


 * $$\mathbf{CR}(i,j) = \Theta(\varepsilon - \| \vec{x}(i) - \vec{y}(j)\|), \quad \vec{x}(i),\, \vec{y}(i) \in \mathbb{R}^m, \quad i=1, \dots, N_x, \ j=1, \dots, N_y.$$

The dimension of both systems must be the same, but the number of considered states (i.e. data length) can be different. Cross recurrence plots compare the occurrences of similar states of two systems. They can be used in order to analyse the similarity of the dynamical evolution between two different systems, to look for similar matching patterns in two systems, or to study the time-relationship of two similar systems, whose time-scale differ (Marwan & Kurths 2005).

Joint recurrence plots are the Hadamard product of the recurrence plots of the considered sub-systems (Romano et al. 2004), e.g. for two systems $$\vec{x}$$ and $$\vec{y}$$ the joint recurrence plot is


 * $$\mathbf{JR}(i,j) = \Theta(\varepsilon_x - \| \vec{x}(i) - \vec{x}(j)\|) \cdot \Theta(\varepsilon_y - \| \vec{y}(i) - \vec{y}(j)\|), \quad \vec{x}(i) \in \mathbb{R}^m, \quad \vec{y}(i) \in \mathbb{R}^n,\quad i,j=1, \dots, N_{x,y}.$$

In contrast to cross recurrence plots, joint recurrence plots compare the simultaneous occurrence of recurrences in two (or more) systems. Moreover, the dimension of the considered phase spaces can be different, but the number of the considered states has to be the same for all the sub-systems. Joint recurrence plots can be used in order to detect phase synchronisation.