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.
CausalityTools.jl package integrates the following packages:
StateSpaceReconstruction.jlFully flexible state space reconstructions (embeddings), partitioning routines (variable-width rectangular, and triangulations), and partition refinement (equal-volume splitting of simplices).
Simplices.jlExact simplex intersections in N dimensions.
PerronFrobenius.jlPerron-Frobenius (transfer) operator estimators.
TransferEntropy.jlTransfer entropy estimators.
CrossMappings.jlAn implementation of the convergent cross-mapping estimator
TimeseriesSurrogates.jlGenerate 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/.