Causality Tools

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.

For more information, see the package documentation at https://kahaaga.github.io/CausalityTools.jl/dev/.