Potsdam Institute for Climate Impact Research (PIK)
Interdisciplinary Center for Dynamics of Complex Systems (University of Potsdam)
Cardiovascular Physics Group (Humboldt-Universität zu Berlin)
PIK Logo
TOCSY - Toolboxes for Complex Systems
PIK/ Antique/ Blue
Home Home
 ACE
 Adaptive Filtering
 Approx. RQA
 CoinCalc
 Commandline RPs
 COPRA
 Coupling Analysis
 CRP Toolbox
 DSProlog
 Coupling Direction
 IOTA
 K2
 Makeinstall
 NEST
 PECUZAL
 PETROPY
 pyUnicorn
 RECFLOW
 RECGRAM
 RECLAC
 RP
 rqaci
 RSA
 System Identification
 TIGRAMITE
 SOWAS

Approximate Recurrence Quantification Analysis apRQA

SWH file size GitHub Release

General

Julia package to calculate selected main measures of the recurrence quantification analysis (RQA). The calculation is performed in an highly efficient but very approximative way using the algorithm described in Spiegel et al, 2016.

The RQA approximation corresponds to non-embedded RQA and using maximum norm.

Note: Depending on the time series and its length, the results can deviate much from standard (exact) RQA implementation. Be careful when using this approach!

Installation

From GitHub

Since this package is not yet registered in the Julia General registry, you can install it directly from GitHub:

using Pkg
Pkg.add(url="https://github.com/pucicu/apRQA")

Development Installation

If you want to modify the package or contribute to development:

using Pkg
Pkg.develop(url="https://github.com/pucicu/apRQA")

Or clone the repository and install locally:

git clone https://github.com/pucicu/apRQA.git
cd apRQA

Then in Julia:

using Pkg
Pkg.activate(".")
Pkg.instantiate()

Requirements

  • Julia ≥ 1.6
  • Dependencies (automatically installed):
    • LinearAlgebra
    • StatsBase

Quick Start

using apRQA
using Random

# Generate example data
Random.seed!(42)
x = rand(10000)

# Parameters
ε = 0.1       # similarity threshold
minL = 2      # minimum line length

# Compute approximate RQA measures
results = approximate_rqa(x, ε, minL)
RR, DET, L, LAM = results

println("RR:  $(results[:RR])")   # Recurrence Rate
println("DET: $(results[:DET])")  # Determinism
println("L:   $(results[:L])")    # Average diagonal line length
println("LAM: $(results[:LAM])")  # Laminarity

Testing

Run the test suite:

using Pkg
Pkg.test("apRQA")

Reference

S. Spiegel, D. Schultz, N. Marwan: Approximate Recurrence Quantification Analysis (aRQA) in Code of Best Practice, In: Recurrence Plots and Their Quantifications: Expanding Horizons, Eds.: C. L. Webber, Jr. and C. Ioana and N. Marwan, Springer, Cham, 113–136 (2016). DOI:10.1007/978-3-319-29922-8_6

Copyright

Norbert Marwan\ Potsdam Institute for Climate Impact Research\ 11/2025

License: GPLv3+

Download

github.com/pucicu/apRQA


Authors

Norbert Marwan



© 2004-2026 SOME RIGHTS RESERVED
University of Potsdam, Interdisciplinary Center for Dynamics of Complex Systems, Germany
Potsdam Institute for Climate Impact Research, Complexity Science, Germany

This work is licensed under a Creative Commons Attribution-NonCommercial-NoDerivs 2.0 Germany License.
Imprint, Data policy, Disclaimer, Accessibility statement

Please respect the copyrights! The content is protected by the Creative Commons License. If you use the provided programmes, text or figures, you have to refer to the given publications and this web site (tocsy.pik-potsdam.de) as well.

@MEMBER OF PROJECT HONEY POT
Spam Harvester Protection Network
provided by Unspam