Causality Tools

CausalityTools.jl is a Julia package providing algorithms for detecting causal relations in complex systems based on time series data. It provides:

• A comprehensive, flexible framework for computing directional causal estimators based on dynamical system reconstruction from time series.

• Functional and efficient implementations of multiple causality detection algorithms, with thorough documentation and references to primary literature.

• An extensive library of example dynamical systems for testing algorithm performance.

• Worked examples for all algorithms.

The CausalityTools.jl package integrates the following packages:

• StateSpaceReconstruction.jl Fully flexible state space reconstructions (embeddings), partitioning routines (variable-width rectangular, and triangulations), and partition refinement (equal-volume splitting of simplices).

• Simplices.jl Exact simplex intersections in N dimensions.

• PerronFrobenius.jl Perron-Frobenius (transfer) operator estimators.

• TransferEntropy.jl Transfer entropy estimators.

• CrossMappings.jl An implementation of the convergent cross-mapping estimator

• TimeseriesSurrogates.jl Generate surrogate data from time series.

Source code can be found at https://github.com/kahaaga/CausalityTools.jl.